2 #include <mpl/Int2Type.h>
3 #include <mpl/typelist/TypeList.h>
4 #include <mpl/typelist/Length.h>
6 using mel::mpl::nullType;
9 #include <mpl/Conversion.h>
12 #include <mpl/equal.h>
13 #include <mpl/typelist/Element.h>
39 inline operator R()
const
45 return mObj == F2.mObj;
80 inline bool operator == (
const Fixed1& ob2 )
const
82 return mel::mpl::equal<true>(f1,ob2.f1);
87 typedef typename TypeTraits<T>::ParameterType TArg1;
88 Fixed1( TArg1 arg ):f1( arg ){}
94 template <
class T>
Fixed1(
const T& ){}
101 inline bool operator == (
const Fixed2& ob2 )
const
103 return mel::mpl::equal<true>(f2,ob2.f2);
108 typedef typename TypeTraits<T>::ParameterType TArg2;
109 Fixed2( TArg2 arg ):f2( arg ){}
115 template <
class T>
Fixed2(
const T& ){}
121 inline bool operator == (
const Fixed3& ob2 )
const
123 return mel::mpl::equal<true>(f3,ob2.f3);
128 typedef typename TypeTraits<T>::ParameterType TArg3;
129 Fixed3( TArg3 arg ):f3( arg ){}
135 template <
class T>
Fixed3(
const T& ){}
142 inline bool operator == (
const Fixed4& ob2 )
const
144 return mel::mpl::equal<true>(f4,ob2.f4);
149 typedef typename TypeTraits<T>::ParameterType TArg4;
150 Fixed4( TArg4 arg ):f4( arg ){}
157 template <
class T>
Fixed4(
const T& ){}
164 inline bool operator == (
const Fixed5& ob2 )
const
166 return mel::mpl::equal<true>(f5,ob2.f5);
170 typedef typename TypeTraits<T>::ParameterType TArg5;
171 Fixed5( TArg5 arg ):f5( arg ){}
178 template <
class T>
Fixed5(
const T& ){}
185 inline bool operator == (
const Fixed6& ob2 )
const
187 return mel::mpl::equal<true>(f6,ob2.f6);
191 typedef typename TypeTraits<T>::ParameterType TArg6;
192 Fixed6( TArg6 arg ):f6( arg ){}
199 template <
class T>
Fixed6(
const T& ){}
206 typename _if< Conversion<typename Element< TListPos, 0,true>::Result,VariablePosBase>::exists,
208 typename Element< TListPos, 0,true>::Result >::Result
226 typename _if< Conversion<typename Element< TListPos, 0,true>::Result,VariablePosBase>::exists,
228 typename Element< TListPos, 0,true>::Result >::Result
231 typename _if< Conversion<typename Element< TListPos, 1,true>::Result,VariablePosBase>::exists,
233 typename Element< TListPos, 1,true>::Result >::Result
249 return mel::mpl::equal<true>( *((
Fixed1<TArg1>*)
this),ob2 ) &&
256 typename _if< Conversion<typename Element< TListPos, 0,true>::Result,VariablePosBase>::exists,
258 typename Element< TListPos, 0,true>::Result >::Result
261 typename _if< Conversion<typename Element< TListPos, 1,true>::Result,VariablePosBase>::exists,
263 typename Element< TListPos, 1,true>::Result >::Result
266 typename _if< Conversion<typename Element< TListPos, 2,true>::Result,VariablePosBase>::exists,
268 typename Element< TListPos, 2,true>::Result >::Result
288 return mel::mpl::equal<true>( *((
Fixed1<TArg1>*)
this),ob2 ) &&
297 typename _if< Conversion<typename Element< TListPos, 0,true>::Result,VariablePosBase>::exists,
299 typename Element< TListPos, 0,true>::Result >::Result
302 typename _if< Conversion<typename Element< TListPos, 1,true>::Result,VariablePosBase>::exists,
304 typename Element< TListPos, 1,true>::Result >::Result
307 typename _if< Conversion<typename Element< TListPos, 2,true>::Result,VariablePosBase>::exists,
309 typename Element< TListPos, 2,true>::Result >::Result
312 typename _if< Conversion<typename Element< TListPos, 3,true>::Result,VariablePosBase>::exists,
314 typename Element< TListPos, 3,true>::Result >::Result
340 return mel::mpl::equal<true>( *((
Fixed1<TArg1>*)
this),ob2 ) &&
349 typename _if< Conversion<typename Element< TListPos, 0,true>::Result,VariablePosBase>::exists,
351 typename Element< TListPos, 0,true>::Result >::Result
354 typename _if< Conversion<typename Element< TListPos, 1,true>::Result,VariablePosBase>::exists,
356 typename Element< TListPos, 1,true>::Result >::Result
359 typename _if< Conversion<typename Element< TListPos, 2,true>::Result,VariablePosBase>::exists,
361 typename Element< TListPos, 2,true>::Result >::Result
364 typename _if< Conversion<typename Element< TListPos, 3,true>::Result,VariablePosBase>::exists,
366 typename Element< TListPos, 3,true>::Result >::Result
369 typename _if< Conversion<typename Element< TListPos, 4,true>::Result,VariablePosBase>::exists,
371 typename Element< TListPos, 4,true>::Result >::Result
401 return mel::mpl::equal<true>( *((
Fixed1<TArg1>*)
this),ob2 ) &&
413 typename _if< Conversion<typename Element< TListPos, 0,true>::Result,VariablePosBase>::exists,
415 typename Element< TListPos, 0,true>::Result >::Result
418 typename _if< Conversion<typename Element< TListPos, 1,true>::Result,VariablePosBase>::exists,
420 typename Element< TListPos, 1,true>::Result >::Result
423 typename _if< Conversion<typename Element< TListPos, 2,true>::Result,VariablePosBase>::exists,
425 typename Element< TListPos, 2,true>::Result >::Result
428 typename _if< Conversion<typename Element< TListPos, 3,true>::Result,VariablePosBase>::exists,
430 typename Element< TListPos, 3,true>::Result >::Result
433 typename _if< Conversion<typename Element< TListPos, 4,true>::Result,VariablePosBase>::exists,
435 typename Element< TListPos, 4,true>::Result >::Result
438 typename _if< Conversion<typename Element< TListPos, 5,true>::Result,VariablePosBase>::exists,
440 typename Element< TListPos, 5,true>::Result >::Result
474 return mel::mpl::equal<true>( *((
Fixed1<TArg1>*)
this),ob2 ) &&
483 template <
class F,
class TRet,
484 class TListVariable,
class TListPos>
class Linker :
public Linker_Base<TListPos,Length< TListPos >::result>
527 Linker(
const F& functor ): mFunctor( functor )
542 Linker(
const F& functor,
TP1Ref arg1,
TP2Ref arg2,
TP3Ref arg3,
TP4Ref arg4,
TP5Ref arg5 ):
BaseClass( arg1,arg2,arg3,arg4,arg5 ),mFunctor( functor )
545 Linker(
const F& functor,
TP1Ref arg1,
TP2Ref arg2,
TP3Ref arg3,
TP4Ref arg4,
TP5Ref arg5,
TP6Ref arg6):
BaseClass( arg1,arg2,arg3,arg4,arg5,arg6 ),mFunctor( functor )
550 bool operator == (
const F2& ob2 )
const
561 TRet operator()(
TV1 arg1)
565 TRet operator()(
TV1 arg1,
TV2 arg2 )
569 TRet operator()(
TV1 arg1,
TV2 arg2,
TV3 arg3 )
600 template <
class TListaArgs,
class T>
struct GetArg;
601 template <
class TListaArgs >
struct GetArgBase
612 template <
class TListaArgs>
struct GetArg< TListaArgs,
Int2Type<1> > :
public GetArgBase<TListaArgs>
621 template <
class TListaArgs>
struct GetArg< TListaArgs,
Int2Type<2> >:
public GetArgBase<TListaArgs>
630 template <
class TListaArgs>
struct GetArg< TListaArgs,
Int2Type<3> >:
public GetArgBase<TListaArgs>
639 template <
class TListaArgs>
struct GetArg< TListaArgs,
Int2Type<4> >:
public GetArgBase<TListaArgs>
648 template <
class TListaArgs>
struct GetArg< TListaArgs,
Int2Type<5> >:
public GetArgBase<TListaArgs>
657 template <
class TListaArgs>
struct GetArg< TListaArgs,
Int2Type<6> >:
public GetArgBase<TListaArgs>
666 template <
class TListaArgs>
struct GetArg< TListaArgs,
VariablePos<1> > :
public GetArgBase<TListaArgs>
676 template <
class TListaArgs>
struct GetArg< TListaArgs,
VariablePos<2> > :
public GetArgBase<TListaArgs>
685 template <
class TListaArgs>
struct GetArg< TListaArgs,
VariablePos<3> >:
public GetArgBase<TListaArgs>
694 template <
class TListaArgs>
struct GetArg< TListaArgs,
VariablePos<4> >:
public GetArgBase<TListaArgs>
703 template <
class TListaArgs>
struct GetArg< TListaArgs,
VariablePos<5> >:
public GetArgBase<TListaArgs>
712 template <
class TListaArgs>
struct GetArg< TListaArgs,
VariablePos<6> >:
public GetArgBase<TListaArgs>
727 return mFunctor(this->f1);
732 return mFunctor( arg1 );
737 return mFunctor(this->f1,this->f2);
743 return mFunctor( GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
FirstType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
744 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
SecondType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this));
751 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
FirstType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
752 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
SecondType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this));
758 return mFunctor(this->f1,this->f2,this->f3);
764 return mFunctor( GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
FirstType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
765 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
SecondType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
766 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
ThirdType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this));
773 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
FirstType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
774 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
SecondType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
775 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
ThirdType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this));
780 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
FirstType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this),
781 GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
SecondType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this),
782 GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
ThirdType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this));
787 return mFunctor(this->f1,this->f2,this->f3,this->f4);
792 return mFunctor( GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
FirstType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
793 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
SecondType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
794 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
ThirdType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
795 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
FourthType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this)
800 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
FirstType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
801 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
SecondType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
802 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
ThirdType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
803 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
FourthType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this)
808 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
FirstType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this),
809 GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
SecondType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this),
810 GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
ThirdType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this),
811 GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
FourthType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this)
816 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
FirstType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this),
817 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
SecondType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this),
818 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
ThirdType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this),
819 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
FourthType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this)
825 return mFunctor(this->f1,this->f2,this->f3,this->f4,this->f5);
830 return mFunctor( GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
FirstType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
831 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
SecondType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
832 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
ThirdType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
833 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
FourthType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
834 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
FifthType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this)
839 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
FirstType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
840 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
SecondType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
841 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
ThirdType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
842 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
FourthType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
843 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
FifthType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this)
848 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
FirstType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this),
849 GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
SecondType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this),
850 GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
ThirdType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this),
851 GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
FourthType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this),
852 GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
FifthType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this)
857 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
FirstType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this),
858 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
SecondType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this),
859 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
ThirdType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this),
860 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
FourthType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this),
861 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
FifthType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this)
866 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
NullType),
FirstType>::get(arg1,arg2,arg3,arg4,arg5,nullType,*
this),
867 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
NullType),
SecondType>::get(arg1,arg2,arg3,arg4,arg5,nullType,*
this),
868 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
NullType),
ThirdType>::get(arg1,arg2,arg3,arg4,arg5,nullType,*
this),
869 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
NullType),
FourthType>::get(arg1,arg2,arg3,arg4,arg5,nullType,*
this),
870 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
NullType),
FifthType>::get(arg1,arg2,arg3,arg4,arg5,nullType,*
this)
877 return mFunctor(this->f1,this->f2,this->f3,this->f4,this->f5,this->f6);
882 return mFunctor( GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
FirstType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
883 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
SecondType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
884 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
ThirdType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
885 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
FourthType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
886 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
FifthType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this),
887 GetArg< TYPELIST(
TV1,
NullType,
NullType,
NullType,
NullType,
NullType),
SixthType>::get(arg1,nullType,nullType,nullType,nullType,nullType,*
this)
893 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
FirstType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
894 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
SecondType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
895 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
ThirdType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
896 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
FourthType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
897 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
FifthType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this),
898 GetArg< TYPELIST(
TV1,
TV2,
NullType,
NullType,
NullType,
NullType),
SixthType>::get(arg1,arg2,nullType,nullType,nullType,nullType,*
this)
903 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
FirstType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this),
904 GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
SecondType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this),
905 GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
ThirdType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this),
906 GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
FourthType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this),
907 GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
FifthType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this),
908 GetArg< TYPELIST(
TV1,
TV2,
TV3,
NullType,
NullType,
NullType),
SixthType>::get(arg1,arg2,arg3,nullType,nullType,nullType,*
this)
913 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
FirstType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this),
914 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
SecondType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this),
915 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
ThirdType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this),
916 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
FourthType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this),
917 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
FifthType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this),
918 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
NullType,
NullType),
SixthType>::get(arg1,arg2,arg3,arg4,nullType,nullType,*
this)
924 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
NullType),
FirstType>::get(arg1,arg2,arg3,arg4,arg5,nullType,*
this),
925 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
NullType),
SecondType>::get(arg1,arg2,arg3,arg4,arg5,nullType,*
this),
926 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
NullType),
ThirdType>::get(arg1,arg2,arg3,arg4,arg5,nullType,*
this),
927 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
NullType),
FourthType>::get(arg1,arg2,arg3,arg4,arg5,nullType,*
this),
928 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
NullType),
FifthType>::get(arg1,arg2,arg3,arg4,arg5,nullType,*
this),
929 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
NullType),
SixthType>::get(arg1,arg2,arg3,arg4,arg5,nullType,*
this)
934 return mFunctor( GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
TV6),
FirstType>::get(arg1,arg2,arg3,arg4,arg5,arg6,*
this),
935 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
TV6),
SecondType>::get(arg1,arg2,arg3,arg4,arg5,arg6,*
this),
936 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
TV6),
ThirdType>::get(arg1,arg2,arg3,arg4,arg5,arg6,*
this),
937 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
TV6),
FourthType>::get(arg1,arg2,arg3,arg4,arg5,arg6,*
this),
938 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
TV6),
FifthType>::get(arg1,arg2,arg3,arg4,arg5,arg6,*
this),
939 GetArg< TYPELIST(
TV1,
TV2,
TV3,
TV4,
TV5,
TV6),
SixthType>::get(arg1,arg2,arg3,arg4,arg5,arg6,*
this)
952 return mel::mpl::equal<true>( mFunctor, ob2.mFunctor )
962 template <
class TRet,
class TVariableList,
class Arg1,
class T>
963 Linker< T,TRet,TVariableList,TYPELIST(Arg1)> linkFunctor( T functor,Arg1 arg1)
968 template <
class TRet,
class TVariableList,
class Arg1,
class Arg2,
class T>
969 Linker< T,TRet,TVariableList,TYPELIST(Arg1,Arg2)> linkFunctor( T functor,Arg1 arg1, Arg2 arg2)
971 return Linker< T,TRet,TVariableList,TYPELIST(Arg1,Arg2) >( functor,arg1,arg2 );
974 template <
class TRet,
class TVariableList,
class Arg1,
class Arg2,
class Arg3,
class T>
975 Linker< T,TRet,TVariableList,TYPELIST(Arg1,Arg2,Arg3)> linkFunctor( T functor,Arg1 arg1,Arg2 arg2,Arg3 arg3)
977 return Linker< T,TRet,TVariableList,TYPELIST(Arg1,Arg2,Arg3) >( functor,arg1,arg2,arg3 );
980 template <
class TRet,
class TVariableList,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class T>
981 Linker< T,TRet,TVariableList,TYPELIST(Arg1,Arg2,Arg3,Arg4)> linkFunctor( T functor,Arg1 arg1,Arg2 arg2,Arg3 arg3,Arg4 arg4)
983 return Linker< T,TRet,TVariableList,TYPELIST(Arg1,Arg2,Arg3,Arg4) >( functor,arg1,arg2,arg3,arg4 );
986 template <
class TRet,
class TVariableList,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5,
class T>
987 Linker< T,TRet,TVariableList,TYPELIST(Arg1,Arg2,Arg3,Arg4,Arg5)> linkFunctor( T functor,Arg1 arg1,Arg2 arg2,Arg3 arg3,Arg4 arg4,Arg5 arg5)
989 return Linker< T,TRet,TVariableList,TYPELIST(Arg1,Arg2,Arg3,Arg4,Arg5) >( functor,arg1,arg2,arg3,arg4,arg5 );
992 template <
class TRet,
class TVariableList,
class Arg1,
class Arg2,
class Arg3,
class Arg4,
class Arg5,
class Arg6,
class T>
993 Linker< T,TRet,TVariableList,TYPELIST(Arg1,Arg2,Arg3,Arg4,Arg5,Arg6)> linkFunctor( T functor,Arg1 arg1,Arg2 arg2,Arg3 arg3,Arg4 arg4,Arg5 arg5, Arg6 arg6)
996 return Linker< T,TRet,TVariableList,TYPELIST(Arg1,Arg2,Arg3,Arg4,Arg5,Arg6) >( functor,arg1,arg2,arg3,arg4,arg5,arg6 );
Typical Traits for types.
Definition: LinkArgs.h:78
Definition: LinkArgs.h:99
Definition: LinkArgs.h:119
Definition: LinkArgs.h:140
Definition: LinkArgs.h:162
Definition: LinkArgs.h:183
Definition: LinkArgs.h:210
Definition: LinkArgs.h:235
Definition: LinkArgs.h:271
Definition: LinkArgs.h:318
Definition: LinkArgs.h:375
Definition: LinkArgs.h:444
Definition: LinkArgs.h:202
Definition: LinkArgs.h:485
Definition: BasicTypes.h:7
Definition: TypeTraits.h:296
Small operator==(const AnyType &, const AnyType &)
FunctorWrapper< F, R > functorWrapper(F f)
helper function for argument deduction
Definition: LinkArgs.h:52
Definition: Callback_Impl.h:11
Definition: Conversion.h:14
Definition: BasicTypes.h:9
Definition: LinkArgs.h:36
Definition: Int2Type.h:12
Definition: LinkArgs.h:63
Definition: LinkArgs.h:65
Definition: TypeList.h:17