1
0
forked from boostorg/bind

Revert "Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION"

This reverts commit af136e483d.
This commit is contained in:
Peter Dimov
2013-12-07 18:52:39 +02:00
parent ce0fc0f69a
commit f5c95610b6
3 changed files with 20 additions and 0 deletions

View File

@@ -43,6 +43,7 @@ template< int I > bool operator==( arg<I> const &, arg<I> const & )
return true;
}
#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
template< int I > struct is_placeholder< arg<I> >
{
@@ -54,6 +55,7 @@ template< int I > struct is_placeholder< arg<I> (*) () >
enum _vt { value = I };
};
#endif
} // namespace boost

View File

@@ -1255,12 +1255,14 @@ template< class T > struct is_bind_expression
enum _vt { value = 0 };
};
#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R, F, L > >
{
enum _vt { value = 1 };
};
#endif
// bind

View File

@@ -88,6 +88,7 @@ template<class A1, class A2> struct storage2: public storage1<A1>
A2 a2_;
};
#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
template<class A1, int I> struct storage2< A1, boost::arg<I> >: public storage1<A1>
{
@@ -117,6 +118,7 @@ template<class A1, int I> struct storage2< A1, boost::arg<I> (*) () >: public st
static boost::arg<I> a2_() { return boost::arg<I>(); }
};
#endif
// 3
@@ -135,6 +137,7 @@ template<class A1, class A2, class A3> struct storage3: public storage2< A1, A2
A3 a3_;
};
#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
template<class A1, class A2, int I> struct storage3< A1, A2, boost::arg<I> >: public storage2< A1, A2 >
{
@@ -164,6 +167,7 @@ template<class A1, class A2, int I> struct storage3< A1, A2, boost::arg<I> (*) (
static boost::arg<I> a3_() { return boost::arg<I>(); }
};
#endif
// 4
@@ -182,6 +186,7 @@ template<class A1, class A2, class A3, class A4> struct storage4: public storage
A4 a4_;
};
#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
template<class A1, class A2, class A3, int I> struct storage4< A1, A2, A3, boost::arg<I> >: public storage3< A1, A2, A3 >
{
@@ -211,6 +216,7 @@ template<class A1, class A2, class A3, int I> struct storage4< A1, A2, A3, boost
static boost::arg<I> a4_() { return boost::arg<I>(); }
};
#endif
// 5
@@ -229,6 +235,7 @@ template<class A1, class A2, class A3, class A4, class A5> struct storage5: publ
A5 a5_;
};
#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
template<class A1, class A2, class A3, class A4, int I> struct storage5< A1, A2, A3, A4, boost::arg<I> >: public storage4< A1, A2, A3, A4 >
{
@@ -258,6 +265,7 @@ template<class A1, class A2, class A3, class A4, int I> struct storage5< A1, A2,
static boost::arg<I> a5_() { return boost::arg<I>(); }
};
#endif
// 6
@@ -276,6 +284,7 @@ template<class A1, class A2, class A3, class A4, class A5, class A6> struct stor
A6 a6_;
};
#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
template<class A1, class A2, class A3, class A4, class A5, int I> struct storage6< A1, A2, A3, A4, A5, boost::arg<I> >: public storage5< A1, A2, A3, A4, A5 >
{
@@ -305,6 +314,7 @@ template<class A1, class A2, class A3, class A4, class A5, int I> struct storage
static boost::arg<I> a6_() { return boost::arg<I>(); }
};
#endif
// 7
@@ -323,6 +333,7 @@ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> s
A7 a7_;
};
#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
template<class A1, class A2, class A3, class A4, class A5, class A6, int I> struct storage7< A1, A2, A3, A4, A5, A6, boost::arg<I> >: public storage6< A1, A2, A3, A4, A5, A6 >
{
@@ -352,6 +363,7 @@ template<class A1, class A2, class A3, class A4, class A5, class A6, int I> stru
static boost::arg<I> a7_() { return boost::arg<I>(); }
};
#endif
// 8
@@ -370,6 +382,7 @@ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, c
A8 a8_;
};
#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, int I> struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg<I> >: public storage7< A1, A2, A3, A4, A5, A6, A7 >
{
@@ -399,6 +412,7 @@ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, i
static boost::arg<I> a8_() { return boost::arg<I>(); }
};
#endif
// 9
@@ -417,6 +431,7 @@ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, c
A9 a9_;
};
#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, int I> struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg<I> >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 >
{
@@ -446,6 +461,7 @@ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, c
static boost::arg<I> a9_() { return boost::arg<I>(); }
};
#endif
} // namespace _bi