some ETI-related fixes

[SVN r17549]
This commit is contained in:
Aleksey Gurtovoy
2003-02-20 12:23:55 +00:00
parent aca920d38b
commit 60d0602eb9
4 changed files with 48 additions and 5 deletions

View File

@@ -19,6 +19,13 @@ struct apply0 : F
}; };
// workaround for the ETI bug
template<>
struct apply0<int>
{
typedef int type;
};
namespace aux { namespace aux {
template<> template<>
@@ -55,6 +62,13 @@ struct apply1
}; };
// workaround for ETI bug
template<>
struct apply1< int,int >
{
typedef int type;
};
namespace aux { namespace aux {
template<> template<>
@@ -92,6 +106,13 @@ struct apply2
}; };
// workaround for ETI bug
template<>
struct apply2< int,int,int >
{
typedef int type;
};
namespace aux { namespace aux {
template<> template<>
@@ -130,6 +151,13 @@ struct apply3
}; };
// workaround for ETI bug
template<>
struct apply3< int,int,int,int >
{
typedef int type;
};
namespace aux { namespace aux {
template<> template<>
@@ -169,6 +197,13 @@ struct apply4
}; };
// workaround for ETI bug
template<>
struct apply4< int,int,int,int,int >
{
typedef int type;
};
namespace aux { namespace aux {
template<> template<>
@@ -210,6 +245,13 @@ struct apply5
}; };
// workaround for ETI bug
template<>
struct apply5< int,int,int,int,int,int >
{
typedef int type;
};
namespace aux { namespace aux {
template<> template<>

View File

@@ -11,7 +11,7 @@ struct resolve_arg_impl
{ {
template< template<
typename T, typename U1, typename U2, typename U3 typename T, typename U1, typename U2, typename U3
, typename U4 , typename U5 , typename U4, typename U5
> >
struct result_ struct result_
{ {
@@ -24,7 +24,7 @@ struct resolve_arg_impl<true>
{ {
template< template<
typename T, typename U1, typename U2, typename U3 typename T, typename U1, typename U2, typename U3
, typename U4 , typename U5 , typename U4, typename U5
> >
struct result_ struct result_
{ {

View File

@@ -11,7 +11,7 @@ struct resolve_arg_impl
{ {
template< template<
typename T, typename U1, typename U2, typename U3 typename T, typename U1, typename U2, typename U3
, typename U4 , typename U5 , typename U4, typename U5
> >
struct result_ struct result_
{ {
@@ -24,7 +24,7 @@ struct resolve_arg_impl<true>
{ {
template< template<
typename T, typename U1, typename U2, typename U3 typename T, typename U1, typename U2, typename U3
, typename U4 , typename U5 , typename U4, typename U5
> >
struct result_ struct result_
{ {

View File

@@ -18,6 +18,7 @@ struct template_arity_impl<true>
template< typename F > struct result_ template< typename F > struct result_
{ {
enum { value = F::arity }; enum { value = F::arity };
}; };
}; };