move macros into LOKI_ namespace
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@269 7ec92016-0320-0410-acc4-a06ded1c099a
This commit is contained in:
parent
82a749919e
commit
6e99716c13
32 changed files with 480 additions and 382 deletions
|
@ -15,8 +15,8 @@
|
|||
|
||||
// Last update: June 20, 2001
|
||||
|
||||
#ifndef ABSTRACTFACTORY_INC_
|
||||
#define ABSTRACTFACTORY_INC_
|
||||
#ifndef LOKI_ABSTRACTFACTORY_INC_
|
||||
#define LOKI_ABSTRACTFACTORY_INC_
|
||||
|
||||
#include "Typelist.h"
|
||||
#include "TypeManip.h"
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
// without express or implied warranty.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef ASSOCVECTOR_INC_
|
||||
#define ASSOCVECTOR_INC_
|
||||
#ifndef LOKI_ASSOCVECTOR_INC_
|
||||
#define LOKI_ASSOCVECTOR_INC_
|
||||
|
||||
#include <algorithm>
|
||||
#include <functional>
|
||||
|
|
|
@ -12,8 +12,8 @@
|
|||
|
||||
// Last update: Oct 10, 2002
|
||||
|
||||
#ifndef DATAGENERATORS_H
|
||||
#define DATAGENERATORS_H
|
||||
#ifndef LOKI_DATAGENERATORS_H
|
||||
#define LOKI_DATAGENERATORS_H
|
||||
#include "Typelist.h"
|
||||
|
||||
//Reference version
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
|
||||
// Last update: June 20, 2001
|
||||
|
||||
#ifndef EMPTYTYPE_INC_
|
||||
#define EMPTYTYPE_INC_
|
||||
#ifndef LOKI_EMPTYTYPE_INC_
|
||||
#define LOKI_EMPTYTYPE_INC_
|
||||
|
||||
namespace Loki
|
||||
{
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
|
||||
// $Header$
|
||||
|
||||
#ifndef FACTORYPARM_INC_
|
||||
#define FACTORYPARM_INC_
|
||||
#ifndef LOKI_FACTORYPARM_INC_
|
||||
#define LOKI_FACTORYPARM_INC_
|
||||
|
||||
#include "LokiTypeInfo.h"
|
||||
#include "Functor.h"
|
||||
|
@ -45,8 +45,8 @@ namespace Loki
|
|||
};
|
||||
|
||||
|
||||
#define ENABLE_NEW_FACTORY_CODE
|
||||
#ifdef ENABLE_NEW_FACTORY_CODE
|
||||
#define LOKI_ENABLE_NEW_FACTORY_CODE
|
||||
#ifdef LOKI_ENABLE_NEW_FACTORY_CODE
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/*
|
||||
|
@ -125,7 +125,7 @@ namespace Loki
|
|||
};
|
||||
|
||||
template <typename AP, typename Id, typename P1 >
|
||||
struct FactoryImpl<AP,Id, TYPELIST_1( P1 )>
|
||||
struct FactoryImpl<AP,Id, LOKI_TYPELIST_1( P1 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -133,7 +133,7 @@ namespace Loki
|
|||
};
|
||||
|
||||
template<typename AP, typename Id, typename P1,typename P2 >
|
||||
struct FactoryImpl<AP, Id, TYPELIST_2( P1, P2 )>
|
||||
struct FactoryImpl<AP, Id, LOKI_TYPELIST_2( P1, P2 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -142,7 +142,7 @@ namespace Loki
|
|||
};
|
||||
|
||||
template<typename AP, typename Id, typename P1,typename P2,typename P3 >
|
||||
struct FactoryImpl<AP, Id, TYPELIST_3( P1, P2, P3 )>
|
||||
struct FactoryImpl<AP, Id, LOKI_TYPELIST_3( P1, P2, P3 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -152,7 +152,7 @@ namespace Loki
|
|||
};
|
||||
|
||||
template<typename AP, typename Id, typename P1,typename P2,typename P3,typename P4 >
|
||||
struct FactoryImpl<AP, Id, TYPELIST_4( P1, P2, P3, P4 )>
|
||||
struct FactoryImpl<AP, Id, LOKI_TYPELIST_4( P1, P2, P3, P4 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -164,7 +164,7 @@ namespace Loki
|
|||
|
||||
template<typename AP, typename Id,
|
||||
typename P1,typename P2,typename P3,typename P4,typename P5 >
|
||||
struct FactoryImpl<AP, Id, TYPELIST_5( P1, P2, P3, P4, P5 )>
|
||||
struct FactoryImpl<AP, Id, LOKI_TYPELIST_5( P1, P2, P3, P4, P5 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -178,7 +178,7 @@ namespace Loki
|
|||
template<typename AP, typename Id,
|
||||
typename P1,typename P2,typename P3,typename P4,typename P5,
|
||||
typename P6>
|
||||
struct FactoryImpl<AP, Id, TYPELIST_6( P1, P2, P3, P4, P5, P6 )>
|
||||
struct FactoryImpl<AP, Id, LOKI_TYPELIST_6( P1, P2, P3, P4, P5, P6 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -195,7 +195,7 @@ namespace Loki
|
|||
template<typename AP, typename Id,
|
||||
typename P1,typename P2,typename P3,typename P4,typename P5,
|
||||
typename P6,typename P7>
|
||||
struct FactoryImpl<AP, Id, TYPELIST_7( P1, P2, P3, P4, P5, P6, P7 )>
|
||||
struct FactoryImpl<AP, Id, LOKI_TYPELIST_7( P1, P2, P3, P4, P5, P6, P7 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -213,7 +213,7 @@ namespace Loki
|
|||
template<typename AP, typename Id,
|
||||
typename P1,typename P2,typename P3,typename P4,typename P5,
|
||||
typename P6,typename P7,typename P8>
|
||||
struct FactoryImpl<AP, Id, TYPELIST_8( P1, P2, P3, P4, P5, P6, P7, P8 )>
|
||||
struct FactoryImpl<AP, Id, LOKI_TYPELIST_8( P1, P2, P3, P4, P5, P6, P7, P8 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -232,7 +232,7 @@ namespace Loki
|
|||
template<typename AP, typename Id,
|
||||
typename P1,typename P2,typename P3,typename P4,typename P5,
|
||||
typename P6,typename P7,typename P8,typename P9>
|
||||
struct FactoryImpl<AP, Id, TYPELIST_9( P1, P2, P3, P4, P5, P6, P7, P8, P9 )>
|
||||
struct FactoryImpl<AP, Id, LOKI_TYPELIST_9( P1, P2, P3, P4, P5, P6, P7, P8, P9 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -252,7 +252,7 @@ namespace Loki
|
|||
template<typename AP, typename Id,
|
||||
typename P1,typename P2,typename P3,typename P4,typename P5,
|
||||
typename P6,typename P7,typename P8,typename P9,typename P10>
|
||||
struct FactoryImpl<AP, Id, TYPELIST_10( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 )>
|
||||
struct FactoryImpl<AP, Id, LOKI_TYPELIST_10( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -274,7 +274,7 @@ namespace Loki
|
|||
typename P1,typename P2,typename P3,typename P4,typename P5,
|
||||
typename P6,typename P7,typename P8,typename P9,typename P10,
|
||||
typename P11>
|
||||
struct FactoryImpl<AP, Id, TYPELIST_11( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 )>
|
||||
struct FactoryImpl<AP, Id, LOKI_TYPELIST_11( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -298,7 +298,7 @@ namespace Loki
|
|||
typename P1,typename P2,typename P3,typename P4,typename P5,
|
||||
typename P6,typename P7,typename P8,typename P9,typename P10,
|
||||
typename P11,typename P12>
|
||||
struct FactoryImpl<AP, Id, TYPELIST_12( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 )>
|
||||
struct FactoryImpl<AP, Id, LOKI_TYPELIST_12( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -323,7 +323,7 @@ namespace Loki
|
|||
typename P1,typename P2,typename P3,typename P4,typename P5,
|
||||
typename P6,typename P7,typename P8,typename P9,typename P10,
|
||||
typename P11,typename P12,typename P13>
|
||||
struct FactoryImpl<AP, Id, TYPELIST_13( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 )>
|
||||
struct FactoryImpl<AP, Id, LOKI_TYPELIST_13( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -349,7 +349,7 @@ namespace Loki
|
|||
typename P1,typename P2,typename P3,typename P4,typename P5,
|
||||
typename P6,typename P7,typename P8,typename P9,typename P10,
|
||||
typename P11,typename P12,typename P13,typename P14>
|
||||
struct FactoryImpl<AP, Id, TYPELIST_14( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 )>
|
||||
struct FactoryImpl<AP, Id, LOKI_TYPELIST_14( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -376,7 +376,7 @@ namespace Loki
|
|||
typename P1,typename P2,typename P3,typename P4,typename P5,
|
||||
typename P6,typename P7,typename P8,typename P9,typename P10,
|
||||
typename P11,typename P12,typename P13,typename P14,typename P15 >
|
||||
struct FactoryImpl<AP, Id, TYPELIST_15( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 )>
|
||||
struct FactoryImpl<AP, Id, LOKI_TYPELIST_15( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 )>
|
||||
: public FactoryImplBase
|
||||
{
|
||||
typedef typename TypeTraits<P1>::ParameterType Parm1;
|
||||
|
@ -747,6 +747,9 @@ namespace Loki
|
|||
#endif // FACTORY_INC_
|
||||
|
||||
// $Log$
|
||||
// Revision 1.6 2005/09/26 07:33:04 syntheticpp
|
||||
// move macros into LOKI_ namespace
|
||||
//
|
||||
// Revision 1.5 2005/07/31 14:23:24 syntheticpp
|
||||
// invert new factory code macro logic to be ReferenceTest more compatible with noncc code
|
||||
//
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
|
||||
// Last update: June 20, 2001
|
||||
|
||||
#ifndef FUNCTOR_INC_
|
||||
#define FUNCTOR_INC_
|
||||
#ifndef LOKI_FUNCTOR_INC_
|
||||
#define LOKI_FUNCTOR_INC_
|
||||
|
||||
#include "Typelist.h"
|
||||
#include "EmptyType.h"
|
||||
|
@ -70,11 +70,11 @@ namespace Loki
|
|||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// macro DEFINE_CLONE_FUNCTORIMPL
|
||||
// macro LOKI_DEFINE_CLONE_FUNCTORIMPL
|
||||
// Implements the DoClone function for a functor implementation
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define DEFINE_CLONE_FUNCTORIMPL(Cls) \
|
||||
#define LOKI_DEFINE_CLONE_FUNCTORIMPL(Cls) \
|
||||
virtual Cls* DoClone() const { return new Cls(*this); }
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -87,7 +87,7 @@ namespace Loki
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
template <typename R, class TList,
|
||||
template <class> class ThreadingModel = DEFAULT_THREADING_NO_OBJ_LEVEL>
|
||||
template <class> class ThreadingModel = LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL>
|
||||
class FunctorImpl;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -110,7 +110,7 @@ namespace Loki
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
template <typename R, typename P1, template <class> class ThreadingModel>
|
||||
class FunctorImpl<R, TYPELIST_1(P1), ThreadingModel>
|
||||
class FunctorImpl<R, LOKI_TYPELIST_1(P1), ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
{
|
||||
public:
|
||||
|
@ -126,7 +126,7 @@ namespace Loki
|
|||
|
||||
template <typename R, typename P1, typename P2,
|
||||
template <class> class ThreadingModel>
|
||||
class FunctorImpl<R, TYPELIST_2(P1, P2), ThreadingModel>
|
||||
class FunctorImpl<R, LOKI_TYPELIST_2(P1, P2), ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
{
|
||||
public:
|
||||
|
@ -143,7 +143,7 @@ namespace Loki
|
|||
|
||||
template <typename R, typename P1, typename P2, typename P3,
|
||||
template <class> class ThreadingModel>
|
||||
class FunctorImpl<R, TYPELIST_3(P1, P2, P3), ThreadingModel>
|
||||
class FunctorImpl<R, LOKI_TYPELIST_3(P1, P2, P3), ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
{
|
||||
public:
|
||||
|
@ -161,7 +161,7 @@ namespace Loki
|
|||
|
||||
template <typename R, typename P1, typename P2, typename P3, typename P4,
|
||||
template <class> class ThreadingModel>
|
||||
class FunctorImpl<R, TYPELIST_4(P1, P2, P3, P4), ThreadingModel>
|
||||
class FunctorImpl<R, LOKI_TYPELIST_4(P1, P2, P3, P4), ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
{
|
||||
public:
|
||||
|
@ -181,7 +181,7 @@ namespace Loki
|
|||
template <typename R, typename P1, typename P2, typename P3, typename P4,
|
||||
typename P5,
|
||||
template <class> class ThreadingModel>
|
||||
class FunctorImpl<R, TYPELIST_5(P1, P2, P3, P4, P5), ThreadingModel>
|
||||
class FunctorImpl<R, LOKI_TYPELIST_5(P1, P2, P3, P4, P5), ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
{
|
||||
public:
|
||||
|
@ -202,7 +202,7 @@ namespace Loki
|
|||
template <typename R, typename P1, typename P2, typename P3, typename P4,
|
||||
typename P5, typename P6,
|
||||
template <class> class ThreadingModel>
|
||||
class FunctorImpl<R, TYPELIST_6(P1, P2, P3, P4, P5, P6), ThreadingModel>
|
||||
class FunctorImpl<R, LOKI_TYPELIST_6(P1, P2, P3, P4, P5, P6), ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
{
|
||||
public:
|
||||
|
@ -224,7 +224,7 @@ namespace Loki
|
|||
template <typename R, typename P1, typename P2, typename P3, typename P4,
|
||||
typename P5, typename P6, typename P7,
|
||||
template <class> class ThreadingModel>
|
||||
class FunctorImpl<R, TYPELIST_7(P1, P2, P3, P4, P5, P6, P7), ThreadingModel>
|
||||
class FunctorImpl<R, LOKI_TYPELIST_7(P1, P2, P3, P4, P5, P6, P7), ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
{
|
||||
public:
|
||||
|
@ -248,7 +248,7 @@ namespace Loki
|
|||
template <typename R, typename P1, typename P2, typename P3, typename P4,
|
||||
typename P5, typename P6, typename P7, typename P8,
|
||||
template <class> class ThreadingModel>
|
||||
class FunctorImpl<R, TYPELIST_8(P1, P2, P3, P4, P5, P6, P7, P8),
|
||||
class FunctorImpl<R, LOKI_TYPELIST_8(P1, P2, P3, P4, P5, P6, P7, P8),
|
||||
ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
{
|
||||
|
@ -274,7 +274,7 @@ namespace Loki
|
|||
template <typename R, typename P1, typename P2, typename P3, typename P4,
|
||||
typename P5, typename P6, typename P7, typename P8, typename P9,
|
||||
template <class> class ThreadingModel>
|
||||
class FunctorImpl<R, TYPELIST_9(P1, P2, P3, P4, P5, P6, P7, P8, P9),
|
||||
class FunctorImpl<R, LOKI_TYPELIST_9(P1, P2, P3, P4, P5, P6, P7, P8, P9),
|
||||
ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
{
|
||||
|
@ -302,7 +302,7 @@ namespace Loki
|
|||
typename P5, typename P6, typename P7, typename P8, typename P9,
|
||||
typename P10,
|
||||
template <class> class ThreadingModel>
|
||||
class FunctorImpl<R, TYPELIST_10(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10),
|
||||
class FunctorImpl<R, LOKI_TYPELIST_10(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10),
|
||||
ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
{
|
||||
|
@ -332,7 +332,7 @@ namespace Loki
|
|||
typename P10, typename P11,
|
||||
template <class> class ThreadingModel>
|
||||
class FunctorImpl<R,
|
||||
TYPELIST_11(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11),
|
||||
LOKI_TYPELIST_11(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11),
|
||||
ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
{
|
||||
|
@ -363,7 +363,7 @@ namespace Loki
|
|||
typename P10, typename P11, typename P12,
|
||||
template <class> class ThreadingModel>
|
||||
class FunctorImpl<R,
|
||||
TYPELIST_12(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12),
|
||||
LOKI_TYPELIST_12(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12),
|
||||
ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
{
|
||||
|
@ -395,7 +395,7 @@ namespace Loki
|
|||
typename P10, typename P11, typename P12, typename P13,
|
||||
template <class> class ThreadingModel>
|
||||
class FunctorImpl<R,
|
||||
TYPELIST_13(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13),
|
||||
LOKI_TYPELIST_13(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13),
|
||||
ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
{
|
||||
|
@ -428,7 +428,7 @@ namespace Loki
|
|||
typename P10, typename P11, typename P12, typename P13, typename P14,
|
||||
template <class> class ThreadingModel>
|
||||
class FunctorImpl<R,
|
||||
TYPELIST_14(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13,
|
||||
LOKI_TYPELIST_14(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13,
|
||||
P14),
|
||||
ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
|
@ -463,7 +463,7 @@ namespace Loki
|
|||
typename P10, typename P11, typename P12, typename P13, typename P14,
|
||||
typename P15, template <class> class ThreadingModel>
|
||||
class FunctorImpl<R,
|
||||
TYPELIST_15(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13,
|
||||
LOKI_TYPELIST_15(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13,
|
||||
P14, P15),
|
||||
ThreadingModel>
|
||||
: public Private::FunctorImplBase<R, ThreadingModel>
|
||||
|
@ -521,7 +521,7 @@ namespace Loki
|
|||
|
||||
FunctorHandler(const Fun& fun) : f_(fun) {}
|
||||
|
||||
DEFINE_CLONE_FUNCTORIMPL(FunctorHandler)
|
||||
LOKI_DEFINE_CLONE_FUNCTORIMPL(FunctorHandler)
|
||||
|
||||
// operator() implementations for up to 15 arguments
|
||||
|
||||
|
@ -630,7 +630,7 @@ namespace Loki
|
|||
: pObj_(pObj), pMemFn_(pMemFn)
|
||||
{}
|
||||
|
||||
DEFINE_CLONE_FUNCTORIMPL(MemFunHandler)
|
||||
LOKI_DEFINE_CLONE_FUNCTORIMPL(MemFunHandler)
|
||||
|
||||
ResultType operator()()
|
||||
{ return ((*pObj_).*pMemFn_)(); }
|
||||
|
@ -720,7 +720,7 @@ namespace Loki
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
template <typename R, class TList = NullType,
|
||||
template<class> class ThreadingModel = DEFAULT_THREADING_NO_OBJ_LEVEL>
|
||||
template<class> class ThreadingModel = LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL>
|
||||
class Functor
|
||||
{
|
||||
public:
|
||||
|
@ -910,7 +910,7 @@ namespace Loki
|
|||
: f_(fun), b_(bound)
|
||||
{}
|
||||
|
||||
DEFINE_CLONE_FUNCTORIMPL(BinderFirst)
|
||||
LOKI_DEFINE_CLONE_FUNCTORIMPL(BinderFirst)
|
||||
|
||||
// operator() implementations for up to 15 arguments
|
||||
|
||||
|
@ -1027,7 +1027,7 @@ namespace Loki
|
|||
|
||||
Chainer(const Fun1& fun1, const Fun2& fun2) : f1_(fun1), f2_(fun2) {}
|
||||
|
||||
DEFINE_CLONE_FUNCTORIMPL(Chainer)
|
||||
LOKI_DEFINE_CLONE_FUNCTORIMPL(Chainer)
|
||||
|
||||
// operator() implementations for up to 15 arguments
|
||||
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
|
||||
// $Header:
|
||||
|
||||
#ifndef HIERARCHYGENERATORS_INC_
|
||||
#define HIERARCHYGENERATORS_INC_
|
||||
#ifndef LOKI_HIERARCHYGENERATORS_INC_
|
||||
#define LOKI_HIERARCHYGENERATORS_INC_
|
||||
|
||||
#include "Typelist.h"
|
||||
#include "TypeTraits.h"
|
||||
|
@ -44,10 +44,10 @@ namespace Loki
|
|||
// The following type helps to overcome subtle flaw in the original
|
||||
// implementation of GenScatterHierarchy.
|
||||
// The flaw is revealed when the input type list of GenScatterHierarchy
|
||||
// contains more then one element of the same type (e.g. TYPELIST_2(int, int)).
|
||||
// contains more then one element of the same type (e.g. LOKI_TYPELIST_2(int, int)).
|
||||
// In this case GenScatterHierarchy will contain multiple bases of the same
|
||||
// type and some of them will not be reachable (per 10.3).
|
||||
// For example before the fix the first element of Tuple<TYPELIST_2(int, int)>
|
||||
// For example before the fix the first element of Tuple<LOKI_TYPELIST_2(int, int)>
|
||||
// is not reachable in any way!
|
||||
template<class, class>
|
||||
struct ScatterHierarchyTag;
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
|
||||
// Last update: June 20, 2001
|
||||
|
||||
#ifndef LOKITYPEINFO_INC_
|
||||
#define LOKITYPEINFO_INC_
|
||||
#ifndef LOKI_LOKITYPEINFO_INC_
|
||||
#define LOKI_LOKITYPEINFO_INC_
|
||||
|
||||
#include <typeinfo>
|
||||
#include <cassert>
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
// without express or implied warranty.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef MULTIMETHODS_INC_
|
||||
#define MULTIMETHODS_INC_
|
||||
#ifndef LOKI_MULTIMETHODS_INC_
|
||||
#define LOKI_MULTIMETHODS_INC_
|
||||
|
||||
#include "Typelist.h"
|
||||
#include "LokiTypeInfo.h"
|
||||
|
@ -355,8 +355,8 @@ namespace Loki
|
|||
class DispatcherBackend = BasicDispatcher>
|
||||
class FunctorDispatcher
|
||||
{
|
||||
typedef TYPELIST_2(BaseLhs&, BaseRhs&) ArgsList;
|
||||
typedef Functor<ResultType, ArgsList, DEFAULT_THREADING> FunctorType;
|
||||
typedef LOKI_TYPELIST_2(BaseLhs&, BaseRhs&) ArgsList;
|
||||
typedef Functor<ResultType, ArgsList, LOKI_DEFAULT_THREADING> FunctorType;
|
||||
|
||||
DispatcherBackend<BaseLhs, BaseRhs, ResultType, FunctorType> backEnd_;
|
||||
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
|
||||
// Last update: November 22, 2001
|
||||
|
||||
#ifndef NULLTYPE_INC_
|
||||
#define NULLTYPE_INC_
|
||||
#ifndef LOKI_NULLTYPE_INC_
|
||||
#define LOKI_NULLTYPE_INC_
|
||||
|
||||
namespace Loki
|
||||
{
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
// See Alexandrescu, Andrei: Type-safe Formatting, C/C++ Users Journal, Jul 2005
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef SAFEFORMAT_H_
|
||||
#define SAFEFORMAT_H_
|
||||
#ifndef LOKI_SAFEFORMAT_H_
|
||||
#define LOKI_SAFEFORMAT_H_
|
||||
|
||||
#include <cstdio>
|
||||
#include <string>
|
||||
|
@ -68,20 +68,20 @@ struct PrintfState {
|
|||
~PrintfState() {
|
||||
}
|
||||
|
||||
#define PRINTF_STATE_FORWARD(type) \
|
||||
#define LOKI_PRINTF_STATE_FORWARD(type) \
|
||||
PrintfState& operator()(type par) {\
|
||||
return (*this)(static_cast< unsigned long >(par)); \
|
||||
}
|
||||
|
||||
PRINTF_STATE_FORWARD(bool)
|
||||
PRINTF_STATE_FORWARD(char)
|
||||
PRINTF_STATE_FORWARD(signed char)
|
||||
PRINTF_STATE_FORWARD(unsigned char)
|
||||
PRINTF_STATE_FORWARD(short)
|
||||
PRINTF_STATE_FORWARD(unsigned short)
|
||||
PRINTF_STATE_FORWARD(int)
|
||||
PRINTF_STATE_FORWARD(unsigned)
|
||||
PRINTF_STATE_FORWARD(long)
|
||||
LOKI_PRINTF_STATE_FORWARD(bool)
|
||||
LOKI_PRINTF_STATE_FORWARD(char)
|
||||
LOKI_PRINTF_STATE_FORWARD(signed char)
|
||||
LOKI_PRINTF_STATE_FORWARD(unsigned char)
|
||||
LOKI_PRINTF_STATE_FORWARD(short)
|
||||
LOKI_PRINTF_STATE_FORWARD(unsigned short)
|
||||
LOKI_PRINTF_STATE_FORWARD(int)
|
||||
LOKI_PRINTF_STATE_FORWARD(unsigned)
|
||||
LOKI_PRINTF_STATE_FORWARD(long)
|
||||
|
||||
// Print (or gobble in case of the "*" specifier) an int
|
||||
PrintfState& operator()(unsigned long i) {
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
// without express or implied warranty.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef SINGLETON_INC_
|
||||
#define SINGLETON_INC_
|
||||
#ifndef LOKI_SINGLETON_INC_
|
||||
#define LOKI_SINGLETON_INC_
|
||||
|
||||
#include "Threads.h"
|
||||
#include <algorithm>
|
||||
|
@ -24,15 +24,15 @@
|
|||
#include <new>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#define C_CALLING_CONVENTION_QUALIFIER __cdecl
|
||||
#define LOKI_C_CALLING_CONVENTION_QUALIFIER __cdecl
|
||||
#else
|
||||
#define C_CALLING_CONVENTION_QUALIFIER
|
||||
#define LOKI_C_CALLING_CONVENTION_QUALIFIER
|
||||
#endif
|
||||
|
||||
|
||||
namespace Loki
|
||||
{
|
||||
typedef void (C_CALLING_CONVENTION_QUALIFIER *atexit_pfn_t)();
|
||||
typedef void (LOKI_C_CALLING_CONVENTION_QUALIFIER *atexit_pfn_t)();
|
||||
|
||||
namespace Private
|
||||
{
|
||||
|
@ -94,7 +94,7 @@ namespace Loki
|
|||
Destroyer destroyer_;
|
||||
};
|
||||
|
||||
void C_CALLING_CONVENTION_QUALIFIER AtExitFn(); // declaration needed below
|
||||
void LOKI_C_CALLING_CONVENTION_QUALIFIER AtExitFn(); // declaration needed below
|
||||
} // namespace Private
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -338,7 +338,7 @@ namespace Loki
|
|||
typename T,
|
||||
template <class> class CreationPolicy = CreateUsingNew,
|
||||
template <class> class LifetimePolicy = DefaultLifetime,
|
||||
template <class> class ThreadingModel = DEFAULT_THREADING_NO_OBJ_LEVEL
|
||||
template <class> class ThreadingModel = LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL
|
||||
>
|
||||
class SingletonHolder
|
||||
{
|
||||
|
@ -348,7 +348,7 @@ namespace Loki
|
|||
private:
|
||||
// Helpers
|
||||
static void MakeInstance();
|
||||
static void C_CALLING_CONVENTION_QUALIFIER DestroySingleton();
|
||||
static void LOKI_C_CALLING_CONVENTION_QUALIFIER DestroySingleton();
|
||||
|
||||
// Protection
|
||||
SingletonHolder();
|
||||
|
@ -440,7 +440,7 @@ namespace Loki
|
|||
template <class> class L,
|
||||
template <class> class M
|
||||
>
|
||||
void C_CALLING_CONVENTION_QUALIFIER
|
||||
void LOKI_C_CALLING_CONVENTION_QUALIFIER
|
||||
SingletonHolder<T, CreationPolicy, L, M>::DestroySingleton()
|
||||
{
|
||||
assert(!destroyed_);
|
||||
|
|
|
@ -16,20 +16,20 @@
|
|||
// $Header$
|
||||
|
||||
|
||||
#ifndef SMALLOBJ_INC_
|
||||
#define SMALLOBJ_INC_
|
||||
#ifndef LOKI_SMALLOBJ_INC_
|
||||
#define LOKI_SMALLOBJ_INC_
|
||||
|
||||
#include "Threads.h"
|
||||
#include "Singleton.h"
|
||||
#include <cstddef>
|
||||
#include <new> // needed for std::nothrow_t parameter.
|
||||
|
||||
#ifndef DEFAULT_CHUNK_SIZE
|
||||
#define DEFAULT_CHUNK_SIZE 4096
|
||||
#ifndef LOKI_DEFAULT_CHUNK_SIZE
|
||||
#define LOKI_DEFAULT_CHUNK_SIZE 4096
|
||||
#endif
|
||||
|
||||
#ifndef MAX_SMALL_OBJECT_SIZE
|
||||
#define MAX_SMALL_OBJECT_SIZE 256
|
||||
#ifndef LOKI_MAX_SMALL_OBJECT_SIZE
|
||||
#define LOKI_MAX_SMALL_OBJECT_SIZE 256
|
||||
#endif
|
||||
|
||||
#ifndef LOKI_DEFAULT_OBJECT_ALIGNMENT
|
||||
|
@ -89,9 +89,9 @@ namespace Loki
|
|||
|
||||
template
|
||||
<
|
||||
template <class> class ThreadingModel = DEFAULT_THREADING_NO_OBJ_LEVEL,
|
||||
std::size_t chunkSize = DEFAULT_CHUNK_SIZE,
|
||||
std::size_t maxSmallObjectSize = MAX_SMALL_OBJECT_SIZE,
|
||||
template <class> class ThreadingModel = LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL,
|
||||
std::size_t chunkSize = LOKI_DEFAULT_CHUNK_SIZE,
|
||||
std::size_t maxSmallObjectSize = LOKI_MAX_SMALL_OBJECT_SIZE,
|
||||
std::size_t objectAlignSize = LOKI_DEFAULT_OBJECT_ALIGNMENT,
|
||||
template <class> class LifetimePolicy = Loki::NoDestroy
|
||||
>
|
||||
|
@ -161,7 +161,7 @@ namespace Loki
|
|||
class SmallObjectBase
|
||||
{
|
||||
|
||||
#if (MAX_SMALL_OBJECT_SIZE != 0) && (DEFAULT_CHUNK_SIZE != 0) && (LOKI_DEFAULT_OBJECT_ALIGNMENT != 0)
|
||||
#if (LOKI_MAX_SMALL_OBJECT_SIZE != 0) && (LOKI_DEFAULT_CHUNK_SIZE != 0) && (LOKI_DEFAULT_OBJECT_ALIGNMENT != 0)
|
||||
|
||||
/// Defines type of allocator.
|
||||
typedef AllocatorSingleton< ThreadingModel, chunkSize,
|
||||
|
@ -243,9 +243,9 @@ namespace Loki
|
|||
|
||||
template
|
||||
<
|
||||
template <class> class ThreadingModel = DEFAULT_THREADING_NO_OBJ_LEVEL,
|
||||
std::size_t chunkSize = DEFAULT_CHUNK_SIZE,
|
||||
std::size_t maxSmallObjectSize = MAX_SMALL_OBJECT_SIZE,
|
||||
template <class> class ThreadingModel = LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL,
|
||||
std::size_t chunkSize = LOKI_DEFAULT_CHUNK_SIZE,
|
||||
std::size_t maxSmallObjectSize = LOKI_MAX_SMALL_OBJECT_SIZE,
|
||||
std::size_t objectAlignSize = LOKI_DEFAULT_OBJECT_ALIGNMENT,
|
||||
template <class> class LifetimePolicy = Loki::NoDestroy
|
||||
>
|
||||
|
@ -274,9 +274,9 @@ namespace Loki
|
|||
|
||||
template
|
||||
<
|
||||
template <class> class ThreadingModel = DEFAULT_THREADING_NO_OBJ_LEVEL,
|
||||
std::size_t chunkSize = DEFAULT_CHUNK_SIZE,
|
||||
std::size_t maxSmallObjectSize = MAX_SMALL_OBJECT_SIZE,
|
||||
template <class> class ThreadingModel = LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL,
|
||||
std::size_t chunkSize = LOKI_DEFAULT_CHUNK_SIZE,
|
||||
std::size_t maxSmallObjectSize = LOKI_MAX_SMALL_OBJECT_SIZE,
|
||||
std::size_t objectAlignSize = LOKI_DEFAULT_OBJECT_ALIGNMENT,
|
||||
template <class> class LifetimePolicy = Loki::NoDestroy
|
||||
>
|
||||
|
@ -298,6 +298,9 @@ namespace Loki
|
|||
// Nov. 26, 2004: re-implemented by Rich Sposato.
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.9 2005/09/26 07:33:04 syntheticpp
|
||||
// move macros into LOKI_ namespace
|
||||
//
|
||||
// Revision 1.8 2005/09/09 00:24:59 rich_sposato
|
||||
// Added functions to trim extra memory within allocator. Made a new_handler
|
||||
// function for allocator. Added deallocator function for nothrow delete
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
// without express or implied warranty.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef SMARTPTR_INC_
|
||||
#define SMARTPTR_INC_
|
||||
#ifndef LOKI_SMARTPTR_INC_
|
||||
#define LOKI_SMARTPTR_INC_
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// IMPORTANT NOTE
|
||||
|
@ -421,7 +421,7 @@ namespace Loki
|
|||
// Make it depended on template parameter
|
||||
static const bool DependedFalse = sizeof(P*) == 0;
|
||||
|
||||
STATIC_CHECK(DependedFalse, This_Policy_Disallows_Value_Copying);
|
||||
LOKI_STATIC_CHECK(DependedFalse, This_Policy_Disallows_Value_Copying);
|
||||
}
|
||||
|
||||
static bool Release(const P&)
|
||||
|
@ -615,7 +615,7 @@ namespace Loki
|
|||
// Make it depended on template parameter
|
||||
static const bool DependedFalse = sizeof(P*) == 0;
|
||||
|
||||
STATIC_CHECK(DependedFalse, ERROR_This_Policy_Does_Not_Allow_Default_Initialization);
|
||||
LOKI_STATIC_CHECK(DependedFalse, ERROR_This_Policy_Does_Not_Allow_Default_Initialization);
|
||||
}
|
||||
|
||||
static void OnInit(const P& val)
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
#ifndef THREADS_H_
|
||||
#define THREADS_H_
|
||||
#ifndef LOKI_THREADS_H_
|
||||
#define LOKI_THREADS_H_
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// macro DEFAULT_THREADING
|
||||
// macro LOKI_DEFAULT_THREADING
|
||||
// Selects the default threading model for certain components of Loki
|
||||
// If you don't define it, it defaults to single-threaded
|
||||
// All classes in Loki have configurable threading model; DEFAULT_THREADING
|
||||
// All classes in Loki have configurable threading model; LOKI_DEFAULT_THREADING
|
||||
// affects only default template arguments
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// $Header$
|
||||
|
||||
|
||||
#if defined(_WIN32) && (defined(CLASS_LEVEL_THREADING) || defined(OBJECT_LEVEL_THREADING))
|
||||
#if defined(_WIN32) && (defined(LOKI_CLASS_LEVEL_THREADING) || defined(LOKI_OBJECT_LEVEL_THREADING))
|
||||
// threads only on windows
|
||||
#include <windows.h>
|
||||
#define DEFAULT_THREADING_NO_OBJ_LEVEL ::Loki::ClassLevelLockable
|
||||
#if defined(CLASS_LEVEL_THREADING)
|
||||
#define DEFAULT_THREADING ::Loki::ClassLevelLockable
|
||||
#define LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL ::Loki::ClassLevelLockable
|
||||
#if defined(LOKI_CLASS_LEVEL_THREADING)
|
||||
#define LOKI_DEFAULT_THREADING ::Loki::ClassLevelLockable
|
||||
#else
|
||||
#define DEFAULT_THREADING ::Loki::ObjectLevelLockable
|
||||
#define LOKI_DEFAULT_THREADING ::Loki::ObjectLevelLockable
|
||||
#endif
|
||||
#else
|
||||
#define DEFAULT_THREADING ::Loki::SingleThreaded
|
||||
#define DEFAULT_THREADING_NO_OBJ_LEVEL ::Loki::SingleThreaded
|
||||
#define LOKI_DEFAULT_THREADING ::Loki::SingleThreaded
|
||||
#define LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL ::Loki::SingleThreaded
|
||||
#endif
|
||||
|
||||
#include <cassert>
|
||||
|
@ -226,6 +226,9 @@ namespace Loki
|
|||
#endif
|
||||
|
||||
// $Log$
|
||||
// Revision 1.13 2005/09/26 07:33:04 syntheticpp
|
||||
// move macros into LOKI_ namespace
|
||||
//
|
||||
// Revision 1.12 2005/07/31 14:00:48 syntheticpp
|
||||
// make object level threading possible
|
||||
//
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
|
||||
// Last update, July 26, 2005
|
||||
|
||||
#ifndef TYPEMANIP_INC_
|
||||
#define TYPEMANIP_INC_
|
||||
#ifndef LOKI_TYPEMANIP_INC_
|
||||
#define LOKI_TYPEMANIP_INC_
|
||||
|
||||
namespace Loki
|
||||
{
|
||||
|
@ -264,7 +264,7 @@ struct SuperSubclassStrict<T, void>
|
|||
// Deprecated: Use SuperSubclass class template instead.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define SUPERSUBCLASS(T, U) \
|
||||
#define LOKI_SUPERSUBCLASS(T, U) \
|
||||
::Loki::SuperSubclass<T,U>::value
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -276,7 +276,7 @@ struct SuperSubclassStrict<T, void>
|
|||
// Deprecated: Use SuperSubclassStrict class template instead.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define SUPERSUBCLASS_STRICT(T, U) \
|
||||
#define LOKI_SUPERSUBCLASS_STRICT(T, U) \
|
||||
::Loki::SuperSubclassStrict<T,U>::value
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef TYPETRAITS_INC_
|
||||
#define TYPETRAITS_INC_
|
||||
#ifndef LOKI_TYPETRAITS_INC_
|
||||
#define LOKI_TYPETRAITS_INC_
|
||||
|
||||
#include "Typelist.h"
|
||||
|
||||
|
@ -64,13 +64,13 @@ namespace Loki
|
|||
|
||||
namespace Private
|
||||
{
|
||||
typedef TYPELIST_4(unsigned char, unsigned short int,unsigned int, unsigned long int)
|
||||
typedef LOKI_TYPELIST_4(unsigned char, unsigned short int,unsigned int, unsigned long int)
|
||||
StdUnsignedInts;
|
||||
typedef TYPELIST_4(signed char, short int,int, long int)
|
||||
typedef LOKI_TYPELIST_4(signed char, short int,int, long int)
|
||||
StdSignedInts;
|
||||
typedef TYPELIST_3(bool, char, wchar_t)
|
||||
typedef LOKI_TYPELIST_3(bool, char, wchar_t)
|
||||
StdOtherInts;
|
||||
typedef TYPELIST_3(float, double, long double)
|
||||
typedef LOKI_TYPELIST_3(float, double, long double)
|
||||
StdFloats;
|
||||
|
||||
template <typename U> struct AddPointer
|
||||
|
|
|
@ -16,333 +16,333 @@
|
|||
// Last update: October 10, 2002
|
||||
//Reference
|
||||
|
||||
#ifndef TYPELIST_INC_
|
||||
#define TYPELIST_INC_
|
||||
#ifndef LOKI_TYPELIST_INC_
|
||||
#define LOKI_TYPELIST_INC_
|
||||
|
||||
#include "NullType.h"
|
||||
#include "TypeManip.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// macros TYPELIST_1, TYPELIST_2, ... TYPELIST_50
|
||||
// macros LOKI_TYPELIST_1, LOKI_TYPELIST_2, ... LOKI_TYPELIST_50
|
||||
// Each takes a number of arguments equal to its numeric suffix
|
||||
// The arguments are type names. TYPELIST_NN generates a typelist containing
|
||||
// The arguments are type names. LOKI_TYPELIST_NN generates a typelist containing
|
||||
// all types passed as arguments, in that order.
|
||||
// Example: TYPELIST_2(char, int) generates a type containing char and int.
|
||||
// Example: LOKI_TYPELIST_2(char, int) generates a type containing char and int.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define TYPELIST_1(T1) ::Loki::Typelist<T1, ::Loki::NullType>
|
||||
#define LOKI_TYPELIST_1(T1) ::Loki::Typelist<T1, ::Loki::NullType>
|
||||
|
||||
#define TYPELIST_2(T1, T2) ::Loki::Typelist<T1, TYPELIST_1(T2) >
|
||||
#define LOKI_TYPELIST_2(T1, T2) ::Loki::Typelist<T1, LOKI_TYPELIST_1(T2) >
|
||||
|
||||
#define TYPELIST_3(T1, T2, T3) ::Loki::Typelist<T1, TYPELIST_2(T2, T3) >
|
||||
#define LOKI_TYPELIST_3(T1, T2, T3) ::Loki::Typelist<T1, LOKI_TYPELIST_2(T2, T3) >
|
||||
|
||||
#define TYPELIST_4(T1, T2, T3, T4) \
|
||||
::Loki::Typelist<T1, TYPELIST_3(T2, T3, T4) >
|
||||
#define LOKI_TYPELIST_4(T1, T2, T3, T4) \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_3(T2, T3, T4) >
|
||||
|
||||
#define TYPELIST_5(T1, T2, T3, T4, T5) \
|
||||
::Loki::Typelist<T1, TYPELIST_4(T2, T3, T4, T5) >
|
||||
#define LOKI_TYPELIST_5(T1, T2, T3, T4, T5) \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_4(T2, T3, T4, T5) >
|
||||
|
||||
#define TYPELIST_6(T1, T2, T3, T4, T5, T6) \
|
||||
::Loki::Typelist<T1, TYPELIST_5(T2, T3, T4, T5, T6) >
|
||||
#define LOKI_TYPELIST_6(T1, T2, T3, T4, T5, T6) \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_5(T2, T3, T4, T5, T6) >
|
||||
|
||||
#define TYPELIST_7(T1, T2, T3, T4, T5, T6, T7) \
|
||||
::Loki::Typelist<T1, TYPELIST_6(T2, T3, T4, T5, T6, T7) >
|
||||
#define LOKI_TYPELIST_7(T1, T2, T3, T4, T5, T6, T7) \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_6(T2, T3, T4, T5, T6, T7) >
|
||||
|
||||
#define TYPELIST_8(T1, T2, T3, T4, T5, T6, T7, T8) \
|
||||
::Loki::Typelist<T1, TYPELIST_7(T2, T3, T4, T5, T6, T7, T8) >
|
||||
#define LOKI_TYPELIST_8(T1, T2, T3, T4, T5, T6, T7, T8) \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_7(T2, T3, T4, T5, T6, T7, T8) >
|
||||
|
||||
#define TYPELIST_9(T1, T2, T3, T4, T5, T6, T7, T8, T9) \
|
||||
::Loki::Typelist<T1, TYPELIST_8(T2, T3, T4, T5, T6, T7, T8, T9) >
|
||||
#define LOKI_TYPELIST_9(T1, T2, T3, T4, T5, T6, T7, T8, T9) \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_8(T2, T3, T4, T5, T6, T7, T8, T9) >
|
||||
|
||||
#define TYPELIST_10(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) \
|
||||
::Loki::Typelist<T1, TYPELIST_9(T2, T3, T4, T5, T6, T7, T8, T9, T10) >
|
||||
#define LOKI_TYPELIST_10(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_9(T2, T3, T4, T5, T6, T7, T8, T9, T10) >
|
||||
|
||||
#define TYPELIST_11(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) \
|
||||
::Loki::Typelist<T1, TYPELIST_10(T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) >
|
||||
#define LOKI_TYPELIST_11(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_10(T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) >
|
||||
|
||||
#define TYPELIST_12(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) \
|
||||
::Loki::Typelist<T1, TYPELIST_11(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_12(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_11(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12) >
|
||||
|
||||
#define TYPELIST_13(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) \
|
||||
::Loki::Typelist<T1, TYPELIST_12(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_13(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_12(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13) >
|
||||
|
||||
#define TYPELIST_14(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_14(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14) \
|
||||
::Loki::Typelist<T1, TYPELIST_13(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_13(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14) >
|
||||
|
||||
#define TYPELIST_15(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_15(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15) \
|
||||
::Loki::Typelist<T1, TYPELIST_14(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_14(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15) >
|
||||
|
||||
#define TYPELIST_16(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_16(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16) \
|
||||
::Loki::Typelist<T1, TYPELIST_15(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_15(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16) >
|
||||
|
||||
#define TYPELIST_17(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_17(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17) \
|
||||
::Loki::Typelist<T1, TYPELIST_16(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_16(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17) >
|
||||
|
||||
#define TYPELIST_18(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_18(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18) \
|
||||
::Loki::Typelist<T1, TYPELIST_17(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_17(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18) >
|
||||
|
||||
#define TYPELIST_19(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_19(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19) \
|
||||
::Loki::Typelist<T1, TYPELIST_18(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_18(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19) >
|
||||
|
||||
#define TYPELIST_20(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_20(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) \
|
||||
::Loki::Typelist<T1, TYPELIST_19(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_19(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) >
|
||||
|
||||
#define TYPELIST_21(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_21(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) \
|
||||
::Loki::Typelist<T1, TYPELIST_20(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_20(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) >
|
||||
|
||||
#define TYPELIST_22(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_22(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) \
|
||||
::Loki::Typelist<T1, TYPELIST_21(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_21(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) >
|
||||
|
||||
#define TYPELIST_23(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_23(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) \
|
||||
::Loki::Typelist<T1, TYPELIST_22(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_22(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) >
|
||||
|
||||
#define TYPELIST_24(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_24(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) \
|
||||
::Loki::Typelist<T1, TYPELIST_23(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_23(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) >
|
||||
|
||||
#define TYPELIST_25(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_25(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) \
|
||||
::Loki::Typelist<T1, TYPELIST_24(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_24(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25) >
|
||||
|
||||
#define TYPELIST_26(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_26(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26) \
|
||||
::Loki::Typelist<T1, TYPELIST_25(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_25(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26) >
|
||||
|
||||
#define TYPELIST_27(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_27(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27) \
|
||||
::Loki::Typelist<T1, TYPELIST_26(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_26(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27) >
|
||||
|
||||
#define TYPELIST_28(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_28(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28) \
|
||||
::Loki::Typelist<T1, TYPELIST_27(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_27(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28) >
|
||||
|
||||
#define TYPELIST_29(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_29(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29) \
|
||||
::Loki::Typelist<T1, TYPELIST_28(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_28(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29) >
|
||||
|
||||
#define TYPELIST_30(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_30(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) \
|
||||
::Loki::Typelist<T1, TYPELIST_29(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_29(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) >
|
||||
|
||||
#define TYPELIST_31(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_31(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) \
|
||||
::Loki::Typelist<T1, TYPELIST_30(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_30(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) >
|
||||
|
||||
#define TYPELIST_32(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_32(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) \
|
||||
::Loki::Typelist<T1, TYPELIST_31(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_31(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) >
|
||||
|
||||
#define TYPELIST_33(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_33(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) \
|
||||
::Loki::Typelist<T1, TYPELIST_32(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_32(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) >
|
||||
|
||||
#define TYPELIST_34(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_34(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) \
|
||||
::Loki::Typelist<T1, TYPELIST_33(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_33(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) >
|
||||
|
||||
#define TYPELIST_35(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_35(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35) \
|
||||
::Loki::Typelist<T1, TYPELIST_34(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_34(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35) >
|
||||
|
||||
#define TYPELIST_36(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_36(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36) \
|
||||
::Loki::Typelist<T1, TYPELIST_35(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_35(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36) >
|
||||
|
||||
#define TYPELIST_37(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_37(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37) \
|
||||
::Loki::Typelist<T1, TYPELIST_36(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_36(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37) >
|
||||
|
||||
#define TYPELIST_38(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_38(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38) \
|
||||
::Loki::Typelist<T1, TYPELIST_37(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_37(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38) >
|
||||
|
||||
#define TYPELIST_39(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_39(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39) \
|
||||
::Loki::Typelist<T1, TYPELIST_38(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_38(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39) >
|
||||
|
||||
#define TYPELIST_40(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_40(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40) \
|
||||
::Loki::Typelist<T1, TYPELIST_39(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_39(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40) >
|
||||
|
||||
#define TYPELIST_41(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_41(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41) \
|
||||
::Loki::Typelist<T1, TYPELIST_40(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_40(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41) >
|
||||
|
||||
#define TYPELIST_42(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_42(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42) \
|
||||
::Loki::Typelist<T1, TYPELIST_41(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_41(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42) >
|
||||
|
||||
#define TYPELIST_43(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_43(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43) \
|
||||
::Loki::Typelist<T1, TYPELIST_42(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_42(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43) >
|
||||
|
||||
#define TYPELIST_44(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_44(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44) \
|
||||
::Loki::Typelist<T1, TYPELIST_43(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_43(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44) >
|
||||
|
||||
#define TYPELIST_45(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_45(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
|
||||
T41, T42, T43, T44, T45) \
|
||||
::Loki::Typelist<T1, TYPELIST_44(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_44(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
|
||||
T41, T42, T43, T44, T45) >
|
||||
|
||||
#define TYPELIST_46(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_46(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
|
||||
T41, T42, T43, T44, T45, T46) \
|
||||
::Loki::Typelist<T1, TYPELIST_45(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_45(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
|
||||
T41, T42, T43, T44, T45, T46) >
|
||||
|
||||
#define TYPELIST_47(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_47(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
|
||||
T41, T42, T43, T44, T45, T46, T47) \
|
||||
::Loki::Typelist<T1, TYPELIST_46(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_46(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
|
||||
T41, T42, T43, T44, T45, T46, T47) >
|
||||
|
||||
#define TYPELIST_48(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_48(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
|
||||
T41, T42, T43, T44, T45, T46, T47, T48) \
|
||||
::Loki::Typelist<T1, TYPELIST_47(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_47(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
|
||||
T41, T42, T43, T44, T45, T46, T47, T48) >
|
||||
|
||||
#define TYPELIST_49(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_49(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
|
||||
T41, T42, T43, T44, T45, T46, T47, T48, T49) \
|
||||
::Loki::Typelist<T1, TYPELIST_48(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_48(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
|
||||
T41, T42, T43, T44, T45, T46, T47, T48, T49) >
|
||||
|
||||
#define TYPELIST_50(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
#define LOKI_TYPELIST_50(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
|
||||
T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) \
|
||||
::Loki::Typelist<T1, TYPELIST_49(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
::Loki::Typelist<T1, LOKI_TYPELIST_49(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
|
||||
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
|
||||
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
|
||||
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
|
||||
|
@ -353,7 +353,7 @@ namespace Loki
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
// class template Typelist
|
||||
// The building block of typelists of any length
|
||||
// Use it through the TYPELIST_NN macros
|
||||
// Use it through the LOKI_TYPELIST_NN macros
|
||||
// Defines nested types:
|
||||
// Head (first element, a non-typelist type by convention)
|
||||
// Tail (second element, can be another typelist)
|
||||
|
@ -537,7 +537,7 @@ namespace Loki
|
|||
|
||||
template <class T> struct Append<NullType, T>
|
||||
{
|
||||
typedef TYPELIST_1(T) Result;
|
||||
typedef LOKI_TYPELIST_1(T) Result;
|
||||
};
|
||||
|
||||
template <class Head, class Tail>
|
||||
|
@ -781,7 +781,7 @@ namespace Loki
|
|||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Change log:
|
||||
// June 09, 2001: Fix bug in parameter list of macros TYPELIST_23 to TYPELIST_27
|
||||
// June 09, 2001: Fix bug in parameter list of macros LOKI_TYPELIST_23 to LOKI_TYPELIST_27
|
||||
// (credit due to Dave Taylor)
|
||||
// June 20, 2001: ported by Nick Thurn to gcc 2.95.3. Kudos, Nick!!!
|
||||
// November 22, 2001: fixed bug in DerivedToFront
|
||||
|
@ -789,7 +789,7 @@ namespace Loki
|
|||
// Adam Wilkshire;
|
||||
// Friedrik Hedman who fixed the bug but didn't send the fix;
|
||||
// Kevin Cline who sent the first actual fix)
|
||||
// May 13, 2002: TYPELIST_46 called TYPELIST_45 with only 44 parameters.
|
||||
// May 13, 2002: LOKI_TYPELIST_46 called LOKI_TYPELIST_45 with only 44 parameters.
|
||||
// Credit due to Robert Minsk
|
||||
// September 16, 2002: Changed MostDerived to use the new SuperSubclass template
|
||||
// (rather than the SUPERSUBCLASS macro).
|
||||
|
@ -799,4 +799,4 @@ namespace Loki
|
|||
// Oct 10, 2002: added MakeTypelist (SGB/MKH)
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#endif // TYPELIST_INC_
|
||||
#endif // LOKI_TYPELIST_INC_
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
|
||||
// Last update: June 20, 2001
|
||||
|
||||
#ifndef VISITOR_INC_
|
||||
#define VISITOR_INC_
|
||||
#ifndef LOKI_VISITOR_INC_
|
||||
#define LOKI_VISITOR_INC_
|
||||
|
||||
#include "Typelist.h"
|
||||
#include "HierarchyGenerators.h"
|
||||
|
@ -55,7 +55,7 @@ namespace Loki
|
|||
//
|
||||
// class SomeVisitor :
|
||||
// public BaseVisitor // required
|
||||
// public Visitor<TYPELIST_2(RasterBitmap, Paragraph)>,
|
||||
// public Visitor<LOKI_TYPELIST_2(RasterBitmap, Paragraph)>,
|
||||
// public Visitor<Paragraph>
|
||||
// {
|
||||
// public:
|
||||
|
@ -157,7 +157,7 @@ struct DefaultCatchAll
|
|||
// deriving it from BaseVisitable<R>
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define DEFINE_VISITABLE() \
|
||||
#define LOKI_DEFINE_VISITABLE() \
|
||||
virtual ReturnType Accept(::Loki::BaseVisitor& guest) \
|
||||
{ return AcceptImpl(*this, guest); }
|
||||
|
||||
|
@ -183,11 +183,11 @@ struct DefaultCatchAll
|
|||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// macro DEFINE_CYCLIC_VISITABLE
|
||||
// macro LOKI_DEFINE_CYCLIC_VISITABLE
|
||||
// Put it in every class that you want to make visitable by a cyclic visitor
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define DEFINE_CYCLIC_VISITABLE(SomeVisitor) \
|
||||
#define LOKI_DEFINE_CYCLIC_VISITABLE(SomeVisitor) \
|
||||
virtual SomeVisitor::ReturnType Accept(SomeVisitor& guest) \
|
||||
{ return guest.GenericVisit(*this); }
|
||||
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
|
||||
// Last update: June 20, 2001
|
||||
|
||||
#ifndef STATIC_CHECK_INC_
|
||||
#define STATIC_CHECK_INC_
|
||||
#ifndef LOKI_STATIC_CHECK_INC_
|
||||
#define LOKI_STATIC_CHECK_INC_
|
||||
|
||||
namespace Loki
|
||||
{
|
||||
|
@ -37,7 +37,7 @@ namespace Loki
|
|||
// If expr is zero, id will appear in a compile-time error message.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define STATIC_CHECK(expr, msg) \
|
||||
#define LOKI_STATIC_CHECK(expr, msg) \
|
||||
{ Loki::CompileTimeError<((expr) != 0)> ERROR_##msg; (void)ERROR_##msg; }
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue