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:
humesikkins 2003-02-27 15:49:36 +00:00
parent a82b3d6a6a
commit 3fe3afd55e

View file

@ -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_