fixed bug in DerivedToFront. Renamed MakeTypeList -> MakeTypelist
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@97 7ec92016-0320-0410-acc4-a06ded1c099a
This commit is contained in:
parent
a82b3d6a6a
commit
3fe3afd55e
1 changed files with 93 additions and 91 deletions
|
@ -13,7 +13,9 @@
|
|||
// without express or implied warranty.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Last update: Sept 29, 2002
|
||||
// Last update: Feb 22, 2003
|
||||
//
|
||||
// renamed MakeTypeList to MakeTypelist.
|
||||
//
|
||||
// Rani Sharoni's VC 7 port is heavily based on explicit template specialization
|
||||
// inside class templates.
|
||||
|
@ -470,10 +472,10 @@ namespace Loki
|
|||
typename T13 = NullType, typename T14 = NullType, typename T15 = NullType,
|
||||
typename T16 = NullType, typename T17 = NullType, typename T18 = NullType
|
||||
>
|
||||
struct MakeTypeList
|
||||
struct MakeTypelist
|
||||
{
|
||||
private:
|
||||
typedef typename MakeTypeList
|
||||
typedef typename MakeTypelist
|
||||
<
|
||||
T2 , T3 , T4 ,
|
||||
T5 , T6 , T7 ,
|
||||
|
@ -489,7 +491,7 @@ namespace Loki
|
|||
};
|
||||
|
||||
template<>
|
||||
struct MakeTypeList
|
||||
struct MakeTypelist
|
||||
<
|
||||
NullType, NullType, NullType,
|
||||
NullType, NullType, NullType,
|
||||
|
@ -1068,7 +1070,6 @@ namespace Private
|
|||
typedef typename
|
||||
Private::MostDerivedImpl<TList>::template In<T>::Result Result;
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// class template DerivedToFront
|
||||
// Arranges the types in a typelist so that the most derived types appear first
|
||||
|
@ -1076,7 +1077,6 @@ namespace Private
|
|||
// DerivedToFront<TList>::Result
|
||||
// returns the reordered TList
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// DerivedToFront taken from Rani Sharoni's Loki VC7-Port.
|
||||
template <class TList>
|
||||
struct DerivedToFront
|
||||
{
|
||||
|
@ -1087,7 +1087,7 @@ namespace Private
|
|||
typedef typename TList::Tail Tail;
|
||||
|
||||
typedef typename MostDerived<Tail, Head>::Result TheMostDerived;
|
||||
typedef typename ReplaceAll<Tail, TheMostDerived, Head>::Result Temp;
|
||||
typedef typename Replace<Tail, TheMostDerived, Head>::Result Temp;
|
||||
typedef typename DerivedToFront<Temp>::Result L;
|
||||
|
||||
public:
|
||||
|
@ -1142,5 +1142,7 @@ namespace Private
|
|||
// June 20, 2001: ported by Nick Thurn to gcc 2.95.3. Kudos, Nick!!!
|
||||
// May 10, 2002: ported by Rani Sharoni to VC7 (RTM - 9466)
|
||||
// Sept 29, 2002: ported by Benjamin Kaufmann to MSVC 6.0
|
||||
// Feb 24, 2003: renamed MakeTypeList to MakeTypelist. Fixed a bug in
|
||||
// DerivedToFront.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
#endif // TYPELIST_INC_
|
Loading…
Add table
Reference in a new issue