Boost logo

Boost :

Subject: [boost] TTI library updated in the sandbox to version 1.4
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-03-23 12:02:36


I have updated the TTI library in the sandbox 'tti' directory to version
1.4.

The TTI library, which is an abbreviation for the 'Type Traits
Introspection' library, allows a programmer to introspect at compile
time the inner elements of a C++ type. The introspection process depends
on specifying the name of the inner element by different macros for
different types of elements, and then using a generated metafunction to
determine whether that element exists within the enclosing type. The
inner elements which can be introspected are type, class template,
member data, member function, static member data, and static member
function.

Changes in this release include:

* Some metafunction macro names and one nullary type metafunction name
have changed to provide a better separation of introspection of
functions using composite and individual type syntax.
* Composite syntax macros are now only used to introspect member
functions and static member functions. Individual type syntax now exists
for introspecting member data and static member data.
* Inclusion of specific header files for faster compilation is now
supported.
* Addition of macro metafunction name generating macros.
* Shorten the names of the test files and test header files.
* Added documentation topic about introspecting function templates.

The TTI library is based on the type_traits_ext portion of the Concept
Traits Library, with improvements and additions, and also reproduces
functionality ( without changing existing code ), for the purposes of
completeness, from Boost.MPL regarding introspection of types and templates.

The purpose of the library is to provide a consistent set of interfaces
for doing compile-time introspection of a type, which other template
metaprogrammers can use in their code. If you are at all interested in
compile-time introspection of types, please take a look at the
functionality of this library.

There is a readme.txt in the top-level directory, for anyone browsing
the sandbox.

There is a build.txt file in the doc subdirectory for building the
documentation and running the tests. The documentation is also included
as part of the sandbox files for those who can not build the docs.

The library has been tested and works with gcc 3.4.2, 3.4.5, 4.3.0,
4.4.0, 4.5.0-1, 4.5.2-1 and VC++ 8.0, 9.0, 10.0. It may also work with
other compilers.

This is the last release in which breaking name changes will occur. I
anticipate any further release will include only possible additions of
functionality, but all current interfaces are now stable and the design
is set.

Questions, comments, suggestions, and bug reports are all welcome.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk