Subject: [boost] TTI library in the sandbox
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-01-13 17:21:39
I have uploaded to the sandbox 'tti' directory version 1.0 of the TTI
library. 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.
The TTI library is based on the type_traits_ext portion of the Concept
Traits Library, with improvements and additions, and also lifts
functionality, for the purposes of orthogonality, 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 which other template
metaprogrammers can use in their code.
There is a readme.txt in the top-level sandbox tti directory, for anyone
browsing the sandbox for interesting libraries, which replicates what is
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.
There is a list of todo items in the sandbox on which I will be working
for the next release, but the library is already feature rich.
The library has been tested and works with gcc 4.30, 4.4.0, 4.5.0-1 and
VC++ 8.0, 9.0, and 10.0. It may also work with other compilers. There is
a bug in versions of gcc prior to version 4 for which I will attempt to
find a workaround if it is deemed important, which prevents it from
working with the library.
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