uLib-0.2
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Mpl.h File Reference
#include <boost/preprocessor.hpp>
#include <boost/mpl/fold.hpp>
#include <boost/mpl/inherit_linearly.hpp>
#include <boost/mpl/inherit.hpp>
#include <boost/mpl/vector.hpp>
#include <boost/mpl/vector/vector0.hpp>
#include <boost/mpl/vector/vector10.hpp>
#include <boost/mpl/vector/vector20.hpp>
#include <boost/mpl/copy.hpp>
#include <boost/mpl/transform.hpp>
#include <boost/mpl/transform_view.hpp>
#include <boost/mpl/filter_view.hpp>
#include <boost/mpl/list.hpp>
#include <boost/mpl/string.hpp>
#include <boost/mpl/for_each.hpp>
#include <boost/mpl/has_xxx.hpp>
#include <boost/utility/enable_if.hpp>

Go to the source code of this file.

Data Structures

struct  uLib::mpl::detail::inherit_nofold< TypeSeq, size >
 
struct  uLib::mpl::inherit_nofold< TypeSeq >
 
struct  uLib::mpl::type< T >
 
struct  uLib::mpl::nvp< N, T >
 

Namespaces

 uLib
 
 uLib::mpl
 
 uLib::mpl::detail
 

Macros

#define ULIB_CFG_MPL_INERIT_NOFOLD_MAXSIZE   10
 
#define _INERIT_NOFOLD_H(hz, hn, hdata)
 
#define _INERIT_NOFOLD_V(vz, vn, vdata)
 
#define ULIB_MPL_INHERIT_SEQ(_TypeList)   uLib::mpl::inherit_linearly< _TypeList, mpl::inherit< mpl::_1, mpl::_2 > >::type
 
#define ULIB_MPL_INHERIT_NOFOLD_SEQ(_TypeList)   uLib::mpl::inherit_nofold< _TypeList >::type
 

Macro Definition Documentation

#define _INERIT_NOFOLD_H (   hz,
  hn,
  hdata 
)
Value:
BOOST_PP_COMMA_IF(hn) \
mpl::at<TypeSeq,mpl::int_<hn> >::type
#define _INERIT_NOFOLD_V (   vz,
  vn,
  vdata 
)
Value:
template <class TypeSeq> \
struct inherit_nofold<TypeSeq,BOOST_PP_INC(vn)> : \
BOOST_PP_REPEAT(BOOST_PP_INC(vn),_INERIT_NOFOLD_H,~) \
{};
#define _INERIT_NOFOLD_H(hz, hn, hdata)
Definition: Mpl.h:81
#define ULIB_CFG_MPL_INERIT_NOFOLD_MAXSIZE   10

Max size of nofold inerited capability

#define ULIB_MPL_INHERIT_NOFOLD_SEQ (   _TypeList)    uLib::mpl::inherit_nofold< _TypeList >::type

INHERIT NOFOLD utility macro (see struct inherit_nofold template)

#define ULIB_MPL_INHERIT_SEQ (   _TypeList)    uLib::mpl::inherit_linearly< _TypeList, mpl::inherit< mpl::_1, mpl::_2 > >::type

INHERIT LINEARLY standard utility macro