123456789101112131415161718192021222324252627 |
- [/
- (C) Copyright Edward Diener 2013
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
- ]
- [section:tti_enclosing_type Enclosing Type]
- The enclosing type you introspect with TTI must be a valid type
- at the point in which you invoke the macro metafunction. If it is
- not a valid type at that point you will receive a compiler error.
- If the enclosing type is a valid type but is not a class type you
- will not receive a compiler error, but the result of the introspection
- will always return 'false' or, in the case of the metafunction generated
- by BOOST_TTI_MEMBER_TYPE, will always return the marker type.
- When using the macro metafunctions generated by BOOST_TTI_HAS_MEMBER_DATA
- and BOOST_TTI_HAS_MEMBER_FUNCTION the first template parameter may be an
- enclosing type or a pointer to member data or member function respectively.
- In each of these cases TTI can distinguish between the two possibilities and
- only if the first template parameter is an enclosing type, once again if it is
- a valid type but not a class type you will not receive a compiler error but
- the result of the introspection will return 'false'.
- [endsect]
|