Boost Reflect Library 0.1.0
Classes | Defines
reflect.hpp File Reference

Defines types and macros used to provide reflection. More...

#include <boost/static_assert.hpp>
#include <boost/preprocessor/seq/for_each_i.hpp>
#include <boost/preprocessor/seq/seq.hpp>
#include <boost/preprocessor/stringize.hpp>
#include <boost/preprocessor/tuple/elem.hpp>
#include <boost/preprocessor/facilities/empty.hpp>
#include <boost/type_traits/remove_const.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/type_traits/remove_pointer.hpp>
#include <string>
#include <typeinfo>
#include <vector>
#include <list>
#include <set>
#include <map>
#include <stdint.h>
#include <boost/fusion/container/vector.hpp>
#include <boost/reflect/void.hpp>
#include <boost/reflect/vtable.hpp>
#include <boost/reflect/typeinfo.hpp>

Go to the source code of this file.

Classes

struct  reflector< T >
 defines visit functions for T Unless this is specialized, visit() will not be defined for T. More...

Defines

#define BOOST_REFLECT_DERIVED(TYPE, INHERITS, MEMBERS)
 Specializes boost::reflect::reflector for TYPE where type inherits other reflected classes.
#define BOOST_REFLECT(TYPE, MEMBERS)   BOOST_REFLECT_DERIVED( TYPE, BOOST_PP_SEQ_NIL, MEMBERS )
 Specializes boost::reflect::reflector for TYPE.

Detailed Description

Defines types and macros used to provide reflection.

This class defines the macros and types used to implement an REFLECT interface.

Definition in file reflect.hpp.


Define Documentation

#define BOOST_REFLECT_DERIVED (   TYPE,
  INHERITS,
  MEMBERS 
)
Value:
BOOST_REFLECT_TYPEINFO(TYPE) \
namespace boost { namespace reflect { \
template<> struct reflector<TYPE> {\
    typedef TYPE type; \
    typedef boost::true_type is_defined; \
    BOOST_REFLECT_IMPL( TYPE, INHERITS, MEMBERS ) \
}; } }

Specializes boost::reflect::reflector for TYPE where type inherits other reflected classes.

Parameters:
INHERITS- a sequence of base class names (basea)(baseb)(basec)
MEMBERS- a sequence of member names. (field1)(field2)(field3)

Definition at line 75 of file reflect.hpp.

#define BOOST_REFLECT (   TYPE,
  MEMBERS 
)    BOOST_REFLECT_DERIVED( TYPE, BOOST_PP_SEQ_NIL, MEMBERS )

Specializes boost::reflect::reflector for TYPE.

Parameters:
MEMBERS- a sequence of member names. (field1)(field2)(field3)
See also:
BOOST_REFLECT_DERIVED

Definition at line 92 of file reflect.hpp.


© Daniel Larimer 2010-2011 - Licensed under Boost Software License, Version 1.0 Boost Reflect Library