Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r86243 - in trunk/boost: . algorithm/string detail functional/hash graph mpl mpl/aux_ mpl/aux_/range_c mpl/list/aux_ mpl/set/aux_ mpl/vector/aux_ spirit/home/support/detail spirit/home/support/iterators spirit/home/support/iterators/detail tuple type_traits units variant variant/detail xpressive
From: steveire_at_[hidden]
Date: 2013-10-11 19:13:11


Author: skelly
Date: 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013)
New Revision: 86243
URL: http://svn.boost.org/trac/boost/changeset/86243

Log:
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION

Process #ifdef...#endif blocks.

Text files modified:
   trunk/boost/algorithm/string/sequence_traits.hpp | 41 ----------------------------------------
   trunk/boost/any.hpp | 14 -------------
   trunk/boost/detail/iterator.hpp | 4 ---
   trunk/boost/functional/hash/hash.hpp | 3 --
   trunk/boost/graph/properties.hpp | 13 ------------
   trunk/boost/graph/vector_as_graph.hpp | 3 --
   trunk/boost/mpl/apply.hpp | 22 ---------------------
   trunk/boost/mpl/aux_/fold_impl.hpp | 4 ---
   trunk/boost/mpl/aux_/iter_fold_impl.hpp | 4 ---
   trunk/boost/mpl/aux_/joint_iter.hpp | 3 --
   trunk/boost/mpl/aux_/range_c/iterator.hpp | 4 ---
   trunk/boost/mpl/aux_/sequence_wrapper.hpp | 41 ----------------------------------------
   trunk/boost/mpl/bind.hpp | 3 --
   trunk/boost/mpl/list/aux_/iterator.hpp | 4 ---
   trunk/boost/mpl/pair_view.hpp | 36 -----------------------------------
   trunk/boost/mpl/set/aux_/iterator.hpp | 3 --
   trunk/boost/mpl/vector/aux_/iterator.hpp | 10 ---------
   trunk/boost/spirit/home/support/detail/hold_any.hpp | 14 -------------
   trunk/boost/spirit/home/support/iterators/detail/multi_pass.hpp | 23 ----------------------
   trunk/boost/spirit/home/support/iterators/multi_pass.hpp | 3 --
   trunk/boost/tuple/tuple_io.hpp | 8 -------
   trunk/boost/type_traits/broken_compiler_spec.hpp | 9 --------
   trunk/boost/type_traits/is_array.hpp | 4 ---
   trunk/boost/type_traits/is_lvalue_reference.hpp | 4 ---
   trunk/boost/type_traits/is_pointer.hpp | 7 ------
   trunk/boost/type_traits/is_same.hpp | 5 ----
   trunk/boost/type_traits/remove_pointer.hpp | 3 --
   trunk/boost/type_traits/type_with_alignment.hpp | 10 ---------
   trunk/boost/units/config.hpp | 3 --
   trunk/boost/variant/detail/over_sequence.hpp | 6 -----
   trunk/boost/variant/recursive_wrapper_fwd.hpp | 6 -----
   trunk/boost/xpressive/xpressive_fwd.hpp | 3 --
   32 files changed, 0 insertions(+), 320 deletions(-)

Modified: trunk/boost/algorithm/string/sequence_traits.hpp
==============================================================================
--- trunk/boost/algorithm/string/sequence_traits.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/algorithm/string/sequence_traits.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -36,47 +36,6 @@
 
 // sequence traits -----------------------------------------------//
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
- //! Native replace tester
- /*!
- Declare an override of this tester function with return
- type boost::string_algo::yes_type for a sequence with this property.
-
- \return yes_type if the container has basic_string like native replace
- method.
- */
- no_type has_native_replace_tester(...);
-
- //! Stable iterators tester
- /*!
- Declare an override of this tester function with return
- type boost::string_algo::yes_type for a sequence with this property.
-
- \return yes_type if the sequence's insert/replace/erase methods do not invalidate
- existing iterators.
- */
- no_type has_stable_iterators_tester(...);
-
- //! const time insert tester
- /*!
- Declare an override of this tester function with return
- type boost::string_algo::yes_type for a sequence with this property.
-
- \return yes_type if the sequence's insert method is working in constant time
- */
- no_type has_const_time_insert_tester(...);
-
- //! const time erase tester
- /*!
- Declare an override of this tester function with return
- type boost::string_algo::yes_type for a sequence with this property.
-
- \return yes_type if the sequence's erase method is working in constant time
- */
- no_type has_const_time_erase_tester(...);
-
-#endif //BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
         //! Native replace trait
         /*!

Modified: trunk/boost/any.hpp
==============================================================================
--- trunk/boost/any.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/any.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -271,15 +271,6 @@
     {
         typedef BOOST_DEDUCED_TYPENAME remove_reference<ValueType>::type nonref;
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- // If 'nonref' is still reference type, it means the user has not
- // specialized 'remove_reference'.
-
- // Please use BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION macro
- // to generate specialization of remove_reference for your class
- // See type traits library documentation for details
- BOOST_STATIC_ASSERT(!is_reference<nonref>::value);
-#endif
 
         nonref * result = any_cast<nonref>(&operand);
         if(!result)
@@ -303,11 +294,6 @@
     {
         typedef BOOST_DEDUCED_TYPENAME remove_reference<ValueType>::type nonref;
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- // The comment in the above version of 'any_cast' explains when this
- // assert is fired and what to do.
- BOOST_STATIC_ASSERT(!is_reference<nonref>::value);
-#endif
 
         return any_cast<const nonref &>(const_cast<any &>(operand));
     }

Modified: trunk/boost/detail/iterator.hpp
==============================================================================
--- trunk/boost/detail/iterator.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/detail/iterator.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -135,10 +135,6 @@
 # include <boost/type_traits/detail/yes_no_type.hpp>
 # include <boost/type_traits/is_pointer.hpp>
 
-# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# include <boost/type_traits/is_same.hpp>
-# include <boost/type_traits/remove_pointer.hpp>
-# endif
 # ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
 # include <boost/type_traits/is_base_and_derived.hpp>
 # endif

Modified: trunk/boost/functional/hash/hash.hpp
==============================================================================
--- trunk/boost/functional/hash/hash.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/functional/hash/hash.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -19,9 +19,6 @@
 #include <boost/type_traits/is_integral.hpp>
 #include <boost/utility/enable_if.hpp>
 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#include <boost/type_traits/is_pointer.hpp>
-#endif
 
 #if !defined(BOOST_NO_CXX11_HDR_TYPEINDEX)
 #include <typeindex>

Modified: trunk/boost/graph/properties.hpp
==============================================================================
--- trunk/boost/graph/properties.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/graph/properties.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -47,16 +47,6 @@
   inline default_color_type red(default_color_type) { return red_color; }
   inline default_color_type black(default_color_type) { return black_color; }
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- template <>
- struct property_traits<default_color_type*> {
- typedef default_color_type value_type;
- typedef std::ptrdiff_t key_type;
- typedef default_color_type& reference;
- typedef lvalue_property_map_tag category;
- };
- // get/put already defined for T*
-#endif
 
   struct graph_property_tag { };
   struct vertex_property_tag { };
@@ -333,9 +323,6 @@
     return make_iterator_vertex_map(c.begin());
   }
 
-#if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-# define BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-#endif
 
 #if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) && !defined (BOOST_GRAPH_NO_BUNDLED_PROPERTIES)
 // This compiler cannot define a partial specialization based on a

Modified: trunk/boost/graph/vector_as_graph.hpp
==============================================================================
--- trunk/boost/graph/vector_as_graph.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/graph/vector_as_graph.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -40,9 +40,6 @@
 
 */
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#error The vector-as-graph module requires a compiler that supports partial specialization
-#endif
 
 
 namespace boost {

Modified: trunk/boost/mpl/apply.hpp
==============================================================================
--- trunk/boost/mpl/apply.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/mpl/apply.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -94,28 +94,6 @@
 #include BOOST_PP_ITERATE()
 
 // real C++ version is already taken care of
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-namespace aux {
-// apply_count_args
-#define AUX778076_COUNT_ARGS_PREFIX apply
-#define AUX778076_COUNT_ARGS_DEFAULT na
-#define AUX778076_COUNT_ARGS_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-#include <boost/mpl/aux_/count_args.hpp>
-}
-
-
-template<
- typename F, AUX778076_APPLY_DEF_PARAMS(typename T, na)
- >
-struct apply
- : aux::apply_chooser<
- aux::apply_count_args< AUX778076_APPLY_PARAMS(T) >::value
- >::template result_< F, AUX778076_APPLY_PARAMS(T) >::type
-{
-};
-
-# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 # undef AUX778076_APPLY_N_SPEC_PARAMS
 # undef AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS

Modified: trunk/boost/mpl/aux_/fold_impl.hpp
==============================================================================
--- trunk/boost/mpl/aux_/fold_impl.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/mpl/aux_/fold_impl.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -19,10 +19,6 @@
 # include <boost/mpl/apply.hpp>
 # include <boost/mpl/deref.hpp>
 # include <boost/mpl/aux_/config/ctps.hpp>
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-# include <boost/mpl/if.hpp>
-# include <boost/type_traits/is_same.hpp>
-# endif
 #endif
 
 #include <boost/mpl/aux_/config/use_preprocessed.hpp>

Modified: trunk/boost/mpl/aux_/iter_fold_impl.hpp
==============================================================================
--- trunk/boost/mpl/aux_/iter_fold_impl.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/mpl/aux_/iter_fold_impl.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -18,10 +18,6 @@
 # include <boost/mpl/next_prior.hpp>
 # include <boost/mpl/apply.hpp>
 # include <boost/mpl/aux_/config/ctps.hpp>
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-# include <boost/mpl/if.hpp>
-# include <boost/type_traits/is_same.hpp>
-# endif
 #endif
 
 #include <boost/mpl/aux_/config/use_preprocessed.hpp>

Modified: trunk/boost/mpl/aux_/joint_iter.hpp
==============================================================================
--- trunk/boost/mpl/aux_/joint_iter.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/mpl/aux_/joint_iter.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -20,9 +20,6 @@
 #include <boost/mpl/aux_/lambda_spec.hpp>
 #include <boost/mpl/aux_/config/ctps.hpp>
 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-# include <boost/type_traits/is_same.hpp>
-#endif
 
 namespace boost { namespace mpl {
 

Modified: trunk/boost/mpl/aux_/range_c/iterator.hpp
==============================================================================
--- trunk/boost/mpl/aux_/range_c/iterator.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/mpl/aux_/range_c/iterator.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -33,10 +33,6 @@
     typedef random_access_iterator_tag category;
     typedef N type;
 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef r_iter< typename mpl::next<N>::type > next;
- typedef r_iter< typename mpl::prior<N>::type > prior;
-#endif
 };
 
 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)

Modified: trunk/boost/mpl/aux_/sequence_wrapper.hpp
==============================================================================
--- trunk/boost/mpl/aux_/sequence_wrapper.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/mpl/aux_/sequence_wrapper.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -163,47 +163,6 @@
 #include BOOST_PP_ITERATE()
 
 // real C++ version is already taken care of
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-namespace aux {
-// ???_count_args
-#define AUX778076_COUNT_ARGS_PREFIX AUX778076_SEQUENCE_NAME
-#define AUX778076_COUNT_ARGS_DEFAULT AUX778076_SEQUENCE_DEFAULT
-#define AUX778076_COUNT_ARGS_PARAM_NAME AUX778076_SEQUENCE_PARAM_NAME
-#define AUX778076_COUNT_ARGS_TEMPLATE_PARAM AUX778076_SEQUENCE_TEMPLATE_PARAM
-#define AUX778076_COUNT_ARGS_ARITY AUX778076_SEQUENCE_LIMIT
-#define AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES
-#include <boost/mpl/aux_/count_args.hpp>
-
-template<
- AUX778076_SEQUENCE_PARAMS()
- >
-struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)
-{
- typedef aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_count_args)<
- BOOST_PP_ENUM_PARAMS(AUX778076_SEQUENCE_LIMIT, AUX778076_SEQUENCE_PARAM_NAME)
- > arg_num_;
-
- typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser)< arg_num_::value >
- ::template result_< AUX778076_SEQUENCE_ARGS() >::type type;
-};
-
-} // namespace aux
-
-template<
- AUX778076_SEQUENCE_DEFAULT_PARAMS()
- >
-struct AUX778076_SEQUENCE_NAME
- : aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)<
- AUX778076_SEQUENCE_ARGS()
- >::type
-{
- typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)<
- AUX778076_SEQUENCE_ARGS()
- >::type type;
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 # undef AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS
 # undef AUX778076_SEQUENCE_N_ARGS

Modified: trunk/boost/mpl/bind.hpp
==============================================================================
--- trunk/boost/mpl/bind.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/mpl/bind.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -30,9 +30,6 @@
 # include <boost/mpl/aux_/arity_spec.hpp>
 # include <boost/mpl/aux_/type_wrapper.hpp>
 # include <boost/mpl/aux_/yes_no.hpp>
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-# include <boost/type_traits/is_reference.hpp>
-# endif
 #endif
 
 #include <boost/mpl/aux_/config/bind.hpp>

Modified: trunk/boost/mpl/list/aux_/iterator.hpp
==============================================================================
--- trunk/boost/mpl/list/aux_/iterator.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/mpl/list/aux_/iterator.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -63,10 +63,6 @@
 {
     typedef aux::l_iter_tag tag;
     typedef forward_iterator_tag category;
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef na type;
- typedef l_iter next;
-#endif
 };
 
 BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, l_iter)

Modified: trunk/boost/mpl/pair_view.hpp
==============================================================================
--- trunk/boost/mpl/pair_view.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/mpl/pair_view.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -32,30 +32,6 @@
 namespace aux {
 struct pair_iter_tag;
 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< typename Iter1, typename Iter2, typename Category >
-struct pair_iter;
-
-template< typename Category > struct prior_pair_iter
-{
- template< typename Iter1, typename Iter2 > struct apply
- {
- typedef typename mpl::prior<Iter1>::type i1_;
- typedef typename mpl::prior<Iter2>::type i2_;
- typedef pair_iter<i1_,i2_,Category> type;
- };
-};
-
-template<> struct prior_pair_iter<forward_iterator_tag>
-{
- template< typename Iter1, typename Iter2 > struct apply
- {
- typedef pair_iter<Iter1,Iter2,forward_iterator_tag> type;
- };
-};
-
-#endif
 }
 
 template<
@@ -70,18 +46,6 @@
     typedef Iter1 first;
     typedef Iter2 second;
     
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef pair<
- typename deref<Iter1>::type
- , typename deref<Iter2>::type
- > type;
-
- typedef typename mpl::next<Iter1>::type i1_;
- typedef typename mpl::next<Iter2>::type i2_;
- typedef pair_iter<i1_,i2_,Category> next;
-
- typedef apply_wrap2< aux::prior_pair_iter<Category>,Iter1,Iter2 >::type prior;
-#endif
 };
 
 

Modified: trunk/boost/mpl/set/aux_/iterator.hpp
==============================================================================
--- trunk/boost/mpl/set/aux_/iterator.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/mpl/set/aux_/iterator.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -44,9 +44,6 @@
     typedef forward_iterator_tag category;
     typedef typename Tail::item_type_ type;
 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef typename s_iter_get< Set,typename Tail::base >::type next;
-#endif
 };
 
 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)

Modified: trunk/boost/mpl/vector/aux_/iterator.hpp
==============================================================================
--- trunk/boost/mpl/vector/aux_/iterator.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/mpl/vector/aux_/iterator.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -41,16 +41,6 @@
     typedef Vector vector_;
     typedef mpl::long_<n_> pos;
 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- enum {
- next_ = n_ + 1
- , prior_ = n_ - 1
- , pos_ = n_
- };
-
- typedef v_iter<Vector,next_> next;
- typedef v_iter<Vector,prior_> prior;
-#endif
 
 };
 

Modified: trunk/boost/spirit/home/support/detail/hold_any.hpp
==============================================================================
--- trunk/boost/spirit/home/support/detail/hold_any.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/spirit/home/support/detail/hold_any.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -403,15 +403,6 @@
     {
         typedef BOOST_DEDUCED_TYPENAME remove_reference<T>::type nonref;
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- // If 'nonref' is still reference type, it means the user has not
- // specialized 'remove_reference'.
-
- // Please use BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION macro
- // to generate specialization of remove_reference for your class
- // See type traits library documentation for details
- BOOST_STATIC_ASSERT(!is_reference<nonref>::value);
-#endif
 
         nonref* result = any_cast<nonref>(&operand);
         if(!result)
@@ -424,11 +415,6 @@
     {
         typedef BOOST_DEDUCED_TYPENAME remove_reference<T>::type nonref;
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- // The comment in the above version of 'any_cast' explains when this
- // assert is fired and what to do.
- BOOST_STATIC_ASSERT(!is_reference<nonref>::value);
-#endif
 
         return any_cast<nonref const&>(const_cast<basic_hold_any<Char> &>(operand));
     }

Modified: trunk/boost/spirit/home/support/iterators/detail/multi_pass.hpp
==============================================================================
--- trunk/boost/spirit/home/support/iterators/detail/multi_pass.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/spirit/home/support/iterators/detail/multi_pass.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -17,29 +17,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 namespace boost { namespace spirit { namespace detail
 {
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- ///////////////////////////////////////////////////////////////////////////
- // Meta-function to generate a std::iterator<> base class for multi_pass.
- // This is used mainly to improve conformance of compilers not supporting
- // PTS and thus relying on inheritance to recognize an iterator.
- //
- // We are using boost::iterator<> because it offers an automatic
- // workaround for broken std::iterator<> implementations.
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename InputPolicy>
- struct iterator_base_creator
- {
- typedef typename InputPolicy::BOOST_NESTED_TEMPLATE unique<T> input_type;
-
- typedef boost::iterator <
- std::forward_iterator_tag
- , typename input_type::value_type
- , typename input_type::difference_type
- , typename input_type::pointer
- , typename input_type::reference
- > type;
- };
-#endif
 
     ///////////////////////////////////////////////////////////////////////////
     // Default implementations of the different policies to be used with a

Modified: trunk/boost/spirit/home/support/iterators/multi_pass.hpp
==============================================================================
--- trunk/boost/spirit/home/support/iterators/multi_pass.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/spirit/home/support/iterators/multi_pass.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -26,9 +26,6 @@
       : private boost::base_from_member<
             typename Policies::BOOST_NESTED_TEMPLATE shared<T>*>
       , public Policies::BOOST_NESTED_TEMPLATE unique<T>
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- , typename iterator_base_creator<T, typename Policies::input_policy>::type
-#endif
     {
     private:
         // unique and shared data types

Modified: trunk/boost/tuple/tuple_io.hpp
==============================================================================
--- trunk/boost/tuple/tuple_io.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/tuple/tuple_io.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -187,10 +187,6 @@
    
   o << t.head;
 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- if (tuples::length<T2>::value == 0)
- return o;
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
   o << d;
 
   return print(o, t.tail);
@@ -316,10 +312,6 @@
    
   is >> t1.head;
 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- if (tuples::length<T2>::value == 0)
- return is;
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
   extract_and_check_delimiter(is, format_info::delimiter);
 

Modified: trunk/boost/type_traits/broken_compiler_spec.hpp
==============================================================================
--- trunk/boost/type_traits/broken_compiler_spec.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/type_traits/broken_compiler_spec.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -13,15 +13,6 @@
 #include <boost/config.hpp>
 
 // these are needed regardless of BOOST_TT_NO_BROKEN_COMPILER_SPEC
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-namespace boost { namespace detail {
-template< typename T > struct remove_const_impl { typedef T type; };
-template< typename T > struct remove_volatile_impl { typedef T type; };
-template< typename T > struct remove_pointer_impl { typedef T type; };
-template< typename T > struct remove_reference_impl { typedef T type; };
-typedef int invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces;
-}}
-#endif
 
 // agurt, 27/jun/03: disable the workaround if user defined
 // BOOST_TT_NO_BROKEN_COMPILER_SPEC

Modified: trunk/boost/type_traits/is_array.hpp
==============================================================================
--- trunk/boost/type_traits/is_array.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/type_traits/is_array.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -16,10 +16,6 @@
 
 #include <boost/type_traits/config.hpp>
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# include <boost/type_traits/detail/yes_no_type.hpp>
-# include <boost/type_traits/detail/wrap.hpp>
-#endif
 
 #include <cstddef>
 

Modified: trunk/boost/type_traits/is_lvalue_reference.hpp
==============================================================================
--- trunk/boost/type_traits/is_lvalue_reference.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/type_traits/is_lvalue_reference.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -23,10 +23,6 @@
 
 #include <boost/type_traits/config.hpp>
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# include <boost/type_traits/detail/yes_no_type.hpp>
-# include <boost/type_traits/detail/wrap.hpp>
-#endif
 
 // should be the last #include
 #include <boost/type_traits/detail/bool_trait_def.hpp>

Modified: trunk/boost/type_traits/is_pointer.hpp
==============================================================================
--- trunk/boost/type_traits/is_pointer.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/type_traits/is_pointer.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -27,13 +27,6 @@
 #include <boost/type_traits/config.hpp>
 #include <boost/type_traits/remove_cv.hpp>
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_array.hpp>
-# include <boost/type_traits/detail/is_function_ptr_tester.hpp>
-# include <boost/type_traits/detail/false_result.hpp>
-# include <boost/type_traits/detail/ice_or.hpp>
-#endif
 
 // should be the last #include
 #include <boost/type_traits/detail/bool_trait_def.hpp>

Modified: trunk/boost/type_traits/is_same.hpp
==============================================================================
--- trunk/boost/type_traits/is_same.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/type_traits/is_same.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -22,11 +22,6 @@
 #define BOOST_TT_IS_SAME_HPP_INCLUDED
 
 #include <boost/type_traits/config.hpp>
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#endif
 // should be the last #include
 #include <boost/type_traits/detail/bool_trait_def.hpp>
 

Modified: trunk/boost/type_traits/remove_pointer.hpp
==============================================================================
--- trunk/boost/type_traits/remove_pointer.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/type_traits/remove_pointer.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -11,9 +11,6 @@
 
 #include <boost/config.hpp>
 #include <boost/detail/workaround.hpp>
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include <boost/type_traits/broken_compiler_spec.hpp>
-#endif
 
 #if defined(BOOST_MSVC)
 #include <boost/type_traits/remove_cv.hpp>

Modified: trunk/boost/type_traits/type_with_alignment.hpp
==============================================================================
--- trunk/boost/type_traits/type_with_alignment.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/type_traits/type_with_alignment.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -166,16 +166,6 @@
         );
 };
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::max_align,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<1> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<2> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<4> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<8> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<10> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<16> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<32> ,true)
-#endif
 
 } // namespace detail
 

Modified: trunk/boost/units/config.hpp
==============================================================================
--- trunk/boost/units/config.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/units/config.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -67,9 +67,6 @@
         #error Boost.Units requires function template partial ordering
     #endif
 
- #ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- #error Boost.Units requires partial specialization
- #endif
 
 #endif
 

Modified: trunk/boost/variant/detail/over_sequence.hpp
==============================================================================
--- trunk/boost/variant/detail/over_sequence.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/variant/detail/over_sequence.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -16,12 +16,6 @@
 #define BOOST_VARIANT_DETAIL_OVER_SEQUENCE_HPP
 
 #include "boost/mpl/aux_/config/ctps.hpp"
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-# include "boost/mpl/eval_if.hpp"
-# include "boost/mpl/bool.hpp"
-# include "boost/mpl/identity.hpp"
-# include "boost/type.hpp"
-#endif
 
 
 namespace boost {

Modified: trunk/boost/variant/recursive_wrapper_fwd.hpp
==============================================================================
--- trunk/boost/variant/recursive_wrapper_fwd.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/variant/recursive_wrapper_fwd.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -16,12 +16,6 @@
 #define BOOST_VARIANT_RECURSIVE_WRAPPER_FWD_HPP
 
 #include "boost/mpl/aux_/config/ctps.hpp"
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-# include "boost/mpl/eval_if.hpp"
-# include "boost/mpl/bool.hpp"
-# include "boost/mpl/identity.hpp"
-# include "boost/type.hpp"
-#endif
 
 #include "boost/mpl/aux_/lambda_support.hpp"
 

Modified: trunk/boost/xpressive/xpressive_fwd.hpp
==============================================================================
--- trunk/boost/xpressive/xpressive_fwd.hpp Fri Oct 11 19:11:35 2013 (r86242)
+++ trunk/boost/xpressive/xpressive_fwd.hpp 2013-10-11 19:13:10 EDT (Fri, 11 Oct 2013) (r86243)
@@ -23,9 +23,6 @@
 # define BOOST_PROTO_FUSION_V2
 #endif
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# error Sorry, xpressive requires a compiler that supports partial template specialization.
-#endif
 
 #if defined(BOOST_NO_STD_LOCALE) & !defined(BOOST_XPRESSIVE_USE_C_TRAITS)
 # define BOOST_XPRESSIVE_USE_C_TRAITS


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk