...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Front Page / Macros / Introspection / BOOST_MPL_GET_TAG_DEF |
#define BOOST_MPL_GET_TAG_DEF(name) \ unspecified token sequence \ /**/
Expands into a definition of a lazy getter Metafunction get_tag_name such that for any type x get_tag_name<x>::type is type where name is a nested type member of x.
#include <boost/mpl/get_tag.hpp>
Parameter | Requirement | Description |
---|---|---|
name | A legal identifier token | A name of the member to get. |
For any legal C++ identifier name:
BOOST_MPL_GET_TAG_DEF(name)
Precondition: | Appears at namespace scope. |
---|---|
Return type: | None. |
Semantics: | Equivalent to namespace boost { namespace mpl { template }} |
struct test_type_get_tag_def; BOOST_MPL_GET_TAG_DEF(a_tag); namespace boost { namespace mpl { struct test_type_get_tag_def { typedef int a_tag; }; }} typedef boost::mpl::get_a_tag<test_type_get_tag_def>::type got_the_tag;