| 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<class T>
struct get_##name {
typedef typename T::name type;
};
}} |
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;