]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/tti/doc/tti_enclosing_type.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / tti / doc / tti_enclosing_type.qbk
CommitLineData
7c673cae
FG
1[/
2 (C) Copyright Edward Diener 2013
3 Distributed under the Boost Software License, Version 1.0.
4 (See accompanying file LICENSE_1_0.txt or copy at
5 http://www.boost.org/LICENSE_1_0.txt).
6]
7
8[section:tti_enclosing_type Enclosing Type]
9
10The enclosing type you introspect with TTI must be a valid type
11at the point in which you invoke the macro metafunction. If it is
12not a valid type at that point you will receive a compiler error.
13
14If the enclosing type is a valid type but is not a class type you
15will not receive a compiler error, but the result of the introspection
16will always return 'false' or, in the case of the metafunction generated
17by BOOST_TTI_MEMBER_TYPE, will always return the marker type.
18
19When using the macro metafunctions generated by BOOST_TTI_HAS_MEMBER_DATA
20and BOOST_TTI_HAS_MEMBER_FUNCTION the first template parameter may be an
21enclosing type or a pointer to member data or member function respectively.
22In each of these cases TTI can distinguish between the two possibilities and
23only if the first template parameter is an enclosing type, once again if it is
24a valid type but not a class type you will not receive a compiler error but
25the result of the introspection will return 'false'.
26
27[endsect]