diff --git a/include/boost/bind/arg.hpp b/include/boost/bind/arg.hpp index 797e2b7..c1da4d0 100644 --- a/include/boost/bind/arg.hpp +++ b/include/boost/bind/arg.hpp @@ -43,6 +43,7 @@ template< int I > bool operator==( arg const &, arg const & ) return true; } +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) template< int I > struct is_placeholder< arg > { @@ -54,6 +55,7 @@ template< int I > struct is_placeholder< arg (*) () > enum _vt { value = I }; }; +#endif } // namespace boost diff --git a/include/boost/bind/bind.hpp b/include/boost/bind/bind.hpp index 2b0a1fe..7f45242 100644 --- a/include/boost/bind/bind.hpp +++ b/include/boost/bind/bind.hpp @@ -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 diff --git a/include/boost/bind/storage.hpp b/include/boost/bind/storage.hpp index 9891c8c..556f707 100644 --- a/include/boost/bind/storage.hpp +++ b/include/boost/bind/storage.hpp @@ -88,6 +88,7 @@ template struct storage2: public storage1 A2 a2_; }; +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) template struct storage2< A1, boost::arg >: public storage1 { @@ -117,6 +118,7 @@ template struct storage2< A1, boost::arg (*) () >: public st static boost::arg a2_() { return boost::arg(); } }; +#endif // 3 @@ -135,6 +137,7 @@ template struct storage3: public storage2< A1, A2 A3 a3_; }; +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) template struct storage3< A1, A2, boost::arg >: public storage2< A1, A2 > { @@ -164,6 +167,7 @@ template struct storage3< A1, A2, boost::arg (*) ( static boost::arg a3_() { return boost::arg(); } }; +#endif // 4 @@ -182,6 +186,7 @@ template struct storage4: public storage A4 a4_; }; +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) template struct storage4< A1, A2, A3, boost::arg >: public storage3< A1, A2, A3 > { @@ -211,6 +216,7 @@ template struct storage4< A1, A2, A3, boost static boost::arg a4_() { return boost::arg(); } }; +#endif // 5 @@ -229,6 +235,7 @@ template struct storage5: publ A5 a5_; }; +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) template struct storage5< A1, A2, A3, A4, boost::arg >: public storage4< A1, A2, A3, A4 > { @@ -258,6 +265,7 @@ template struct storage5< A1, A2, static boost::arg a5_() { return boost::arg(); } }; +#endif // 6 @@ -276,6 +284,7 @@ template struct stor A6 a6_; }; +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) template struct storage6< A1, A2, A3, A4, A5, boost::arg >: public storage5< A1, A2, A3, A4, A5 > { @@ -305,6 +314,7 @@ template struct storage static boost::arg a6_() { return boost::arg(); } }; +#endif // 7 @@ -323,6 +333,7 @@ template s A7 a7_; }; +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) template struct storage7< A1, A2, A3, A4, A5, A6, boost::arg >: public storage6< A1, A2, A3, A4, A5, A6 > { @@ -352,6 +363,7 @@ template stru static boost::arg a7_() { return boost::arg(); } }; +#endif // 8 @@ -370,6 +382,7 @@ template struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg >: public storage7< A1, A2, A3, A4, A5, A6, A7 > { @@ -399,6 +412,7 @@ template a8_() { return boost::arg(); } }; +#endif // 9 @@ -417,6 +431,7 @@ template struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 > { @@ -446,6 +461,7 @@ template a9_() { return boost::arg(); } }; +#endif } // namespace _bi