Declaration of tags for various specifier keywords like virtual, public/protected/private, static, etc.
More...
Classes |
struct | mirror::spec__tag |
| Tag for a "non-specifier". More...
|
struct | mirror::spec_inheritance_type_tag |
| Common base for inheritance type tags. More...
|
struct | mirror::spec_virtual_tag |
| Tag indicating that the base level construct is virtual. More...
|
struct | mirror::spec_non_virtual_tag |
| Tag indicating that the base level construct is non-virtual. More...
|
struct | mirror::spec_storage_class_tag |
| Common base for storage class or linkage tags. More...
|
struct | mirror::spec_static_tag |
| Tag indicating that the base level construct has static storage class. More...
|
struct | mirror::spec_mutable_tag |
| Tag indicating that the base level construct has mutable storage class. More...
|
struct | mirror::spec_auto_tag |
| Tag indicating that the base level construct has automatic storage class. More...
|
struct | mirror::spec_extern_tag |
| Tag indicating that the base level construct has extern storage class. More...
|
struct | mirror::spec_register_tag |
| Tag indicating that the base level construct has register storage class. More...
|
struct | mirror::spec_thread_local_tag |
| Tag indicating that the base level construct has thread_local storage class. More...
|
struct | mirror::spec_constness_tag |
| Common base for constness tags. More...
|
struct | mirror::spec_const_tag |
| Tag indicating that the base level construct is const. More...
|
struct | mirror::spec_non_const_tag |
| Tag indicating that the base level construct is not const. More...
|
struct | mirror::spec_access_type_tag |
| Common base for access type tags. More...
|
struct | mirror::spec_private_tag |
| Tag indicating that the base level construct has private access. More...
|
struct | mirror::spec_protected_tag |
| Tag indicating that the base level construct has protected access. More...
|
struct | mirror::spec_public_tag |
| Tag indicating that the base level construct has public access. More...
|
struct | mirror::spec_elaborated_type_tag |
| Common base for elaborated type tags. More...
|
struct | mirror::spec_struct_tag |
| Tag indicating that the reflected elaborated type is declared as 'struct'. More...
|
struct | mirror::spec_class_tag |
| Tag indicating that the reflected elaborated type is declared as 'class'. More...
|
struct | mirror::spec_union_tag |
| Tag indicating that the reflected elaborated type is declared as 'union'. More...
|
struct | mirror::spec_enum_tag |
| Tag indicating that the reflected elaborated type is declared as 'enum'. More...
|
struct | mirror::spec_type_tag |
| Tag indicating that the reflected type is a non-elaborated type. More...
|
struct | mirror::spec___tag |
| Special specifier tag for selecting the default specifier in a context. More...
|
struct | mirror::type_category< T > |
| Meta-function template returning the ElaboratedTypeTag for a type. More...
|
struct | mirror::inheritance_type_tags |
| Returns a range of all inheritance type specifier tags. More...
|
struct | mirror::storage_class_tags |
| Returns a range of all storage class specifier tags. More...
|
struct | mirror::constness_tags |
| Returns a range of all constness specifier tags. More...
|
struct | mirror::access_type_tags |
| Returns a range of all access type specifier tags. More...
|
struct | mirror::elaborated_type_tags |
| Returns a range of all elaborated type specifier tags. More...
|
Namespaces |
namespace | mirror |
| All Mirror's types, classes, functions, etc. are defined in this namespace.
|
Defines |
#define | MIRROR_IMPLEMENT_SPECIFIER_TAG_KEYWORD_FUNCTIONS(KEYWORD_STR, UID) |
#define | MIRROR_FOR_EACH_SPEC_BASE_none(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPEC_BASE_inheritance_type(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPEC_TYPE_inheritance_type(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPEC_BASE_virtual(MACRO, DATA, SEP_MACRO) MACRO(inheritance_type, DATA) |
#define | MIRROR_FOR_EACH_SPEC_BASE_non_virtual(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPEC_BASE_storage_class(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPEC_TYPE_storage_class(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPEC_BASE_static(MACRO, DATA, SEP_MACRO) MACRO(storage_class, DATA) |
#define | MIRROR_FOR_EACH_SPEC_BASE_mutable(MACRO, DATA, SEP_MACRO) MACRO(storage_class, DATA) |
#define | MIRROR_FOR_EACH_SPEC_BASE_auto(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPEC_BASE_extern(MACRO, DATA, SEP_MACRO) MACRO(storage_class, DATA) |
#define | MIRROR_FOR_EACH_SPEC_BASE_register(MACRO, DATA, SEP_MACRO) MACRO(storage_class, DATA) |
#define | MIRROR_FOR_EACH_SPEC_BASE_thread_local(MACRO, DATA, SEP_MACRO) MACRO(storage_class, DATA) |
#define | MIRROR_FOR_EACH_SPEC_BASE_constness(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPEC_TYPE_constness(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPEC_BASE_const(MACRO, DATA, SEP_MACRO) MACRO(constness, DATA) |
#define | MIRROR_FOR_EACH_SPEC_BASE_non_const(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPEC_BASE_access_type(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPEC_TYPE_access_type(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPEC_BASE_private(MACRO, DATA, SEP_MACRO) MACRO(access_type, DATA) |
#define | MIRROR_FOR_EACH_SPEC_BASE_protected(MACRO, DATA, SEP_MACRO) MACRO(access_type, DATA) |
#define | MIRROR_FOR_EACH_SPEC_BASE_public(MACRO, DATA, SEP_MACRO) MACRO(access_type, DATA) |
#define | MIRROR_FOR_EACH_SPEC_BASE_elaborated_type(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPEC_TYPE_elaborated_type(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPEC_BASE_struct(MACRO, DATA, SEP_MACRO) MACRO(elaborated_type, DATA) |
#define | MIRROR_FOR_EACH_SPEC_BASE_class(MACRO, DATA, SEP_MACRO) MACRO(elaborated_type, DATA) |
#define | MIRROR_FOR_EACH_SPEC_BASE_union(MACRO, DATA, SEP_MACRO) MACRO(elaborated_type, DATA) |
#define | MIRROR_FOR_EACH_SPEC_BASE_enum(MACRO, DATA, SEP_MACRO) MACRO(elaborated_type, DATA) |
#define | MIRROR_FOR_EACH_SPEC_BASE_type(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPECIFIER(MACRO, DATA) |
#define | MIRROR_FOR_EACH_SPECIFIER_BASE(SPEC, MACRO, DATA, SEP_MACRO) MIRROR_FOR_EACH_SPEC_BASE_##SPEC(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_FOR_EACH_SPECIFIER_TYPE(SPEC, MACRO, DATA, SEP_MACRO) MIRROR_FOR_EACH_SPEC_TYPE_##SPEC(MACRO, DATA, SEP_MACRO) |
#define | MIRROR_HLPR_MAKE_SPEC_TAG_LISTS(SPEC, X) spec_ ## SPEC ## _tag |
Typedefs |
typedef spec__tag | mirror::spec_none_tag |
Functions |
template<typename T > |
type_category< T >::type | mirror::categorize_type (const T &) |
| Function returning the ElaboratedTypeTag for the type of its argument.
|
Declaration of tags for various specifier keywords like virtual, public/protected/private, static, etc.
Copyright 2008-2011 Matus Chochlik. 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)