mirror of
https://github.com/boostorg/algorithm.git
synced 2025-07-06 01:06:37 +02:00
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
Process #ifdef...#else...#endif blocks. [SVN r86246]
This commit is contained in:
@ -45,20 +45,12 @@ namespace boost {
|
|||||||
class has_native_replace
|
class has_native_replace
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
private:
|
|
||||||
static T* t;
|
|
||||||
public:
|
|
||||||
BOOST_STATIC_CONSTANT(bool, value=(
|
|
||||||
sizeof(has_native_replace_tester(t))==sizeof(yes_type) ) );
|
|
||||||
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
public:
|
public:
|
||||||
# if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
# if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
enum { value = false };
|
enum { value = false };
|
||||||
# else
|
# else
|
||||||
BOOST_STATIC_CONSTANT(bool, value=false);
|
BOOST_STATIC_CONSTANT(bool, value=false);
|
||||||
# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
|
|
||||||
|
|
||||||
typedef mpl::bool_<has_native_replace<T>::value> type;
|
typedef mpl::bool_<has_native_replace<T>::value> type;
|
||||||
@ -73,20 +65,12 @@ namespace boost {
|
|||||||
template< typename T >
|
template< typename T >
|
||||||
class has_stable_iterators
|
class has_stable_iterators
|
||||||
{
|
{
|
||||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
private:
|
|
||||||
static T* t;
|
|
||||||
public:
|
|
||||||
BOOST_STATIC_CONSTANT(bool, value=(
|
|
||||||
sizeof(has_stable_iterators_tester(t))==sizeof(yes_type) ) );
|
|
||||||
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
public:
|
public:
|
||||||
# if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
# if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
enum { value = false };
|
enum { value = false };
|
||||||
# else
|
# else
|
||||||
BOOST_STATIC_CONSTANT(bool, value=false);
|
BOOST_STATIC_CONSTANT(bool, value=false);
|
||||||
# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
|
|
||||||
typedef mpl::bool_<has_stable_iterators<T>::value> type;
|
typedef mpl::bool_<has_stable_iterators<T>::value> type;
|
||||||
};
|
};
|
||||||
@ -100,20 +84,12 @@ namespace boost {
|
|||||||
template< typename T >
|
template< typename T >
|
||||||
class has_const_time_insert
|
class has_const_time_insert
|
||||||
{
|
{
|
||||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
private:
|
|
||||||
static T* t;
|
|
||||||
public:
|
|
||||||
BOOST_STATIC_CONSTANT(bool, value=(
|
|
||||||
sizeof(has_const_time_insert_tester(t))==sizeof(yes_type) ) );
|
|
||||||
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
public:
|
public:
|
||||||
# if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
# if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
enum { value = false };
|
enum { value = false };
|
||||||
# else
|
# else
|
||||||
BOOST_STATIC_CONSTANT(bool, value=false);
|
BOOST_STATIC_CONSTANT(bool, value=false);
|
||||||
# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
|
|
||||||
typedef mpl::bool_<has_const_time_insert<T>::value> type;
|
typedef mpl::bool_<has_const_time_insert<T>::value> type;
|
||||||
};
|
};
|
||||||
@ -127,20 +103,12 @@ namespace boost {
|
|||||||
template< typename T >
|
template< typename T >
|
||||||
class has_const_time_erase
|
class has_const_time_erase
|
||||||
{
|
{
|
||||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
private:
|
|
||||||
static T* t;
|
|
||||||
public:
|
|
||||||
BOOST_STATIC_CONSTANT(bool, value=(
|
|
||||||
sizeof(has_const_time_erase_tester(t))==sizeof(yes_type) ) );
|
|
||||||
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
public:
|
public:
|
||||||
# if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
# if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
enum { value = false };
|
enum { value = false };
|
||||||
# else
|
# else
|
||||||
BOOST_STATIC_CONSTANT(bool, value=false);
|
BOOST_STATIC_CONSTANT(bool, value=false);
|
||||||
# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
|
|
||||||
typedef mpl::bool_<has_const_time_erase<T>::value> type;
|
typedef mpl::bool_<has_const_time_erase<T>::value> type;
|
||||||
};
|
};
|
||||||
|
@ -20,22 +20,6 @@ namespace boost {
|
|||||||
|
|
||||||
// std::list<> traits -----------------------------------------------//
|
// std::list<> traits -----------------------------------------------//
|
||||||
|
|
||||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
|
|
||||||
// stable iterators tester
|
|
||||||
template<typename T, typename AllocT>
|
|
||||||
yes_type has_stable_iterators_tester( const ::std::list<T,AllocT>* );
|
|
||||||
|
|
||||||
// const time insert tester
|
|
||||||
template<typename T, typename AllocT>
|
|
||||||
yes_type has_const_time_insert_tester( const ::std::list<T,AllocT>* );
|
|
||||||
|
|
||||||
// const time erase tester
|
|
||||||
template<typename T, typename AllocT>
|
|
||||||
yes_type has_const_time_erase_tester( const ::std::list<T,AllocT>* );
|
|
||||||
|
|
||||||
|
|
||||||
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
|
|
||||||
// stable iterators trait
|
// stable iterators trait
|
||||||
template<typename T, typename AllocT>
|
template<typename T, typename AllocT>
|
||||||
@ -75,7 +59,6 @@ namespace boost {
|
|||||||
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
typedef mpl::bool_<has_const_time_erase<T>::value> type;
|
typedef mpl::bool_<has_const_time_erase<T>::value> type;
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
} // namespace algorithm
|
} // namespace algorithm
|
||||||
|
@ -20,25 +20,6 @@ namespace boost {
|
|||||||
|
|
||||||
// SGI's std::rope<> traits -----------------------------------------------//
|
// SGI's std::rope<> traits -----------------------------------------------//
|
||||||
|
|
||||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
|
|
||||||
// native replace tester
|
|
||||||
template<typename T, typename TraitsT, typename AllocT>
|
|
||||||
yes_type has_native_replace_tester( const std::rope<T, TraitsT, AllocT>* );
|
|
||||||
|
|
||||||
// stable iterators tester
|
|
||||||
template<typename T, typename TraitsT, typename AllocT>
|
|
||||||
yes_type has_stable_iterators_tester( const std::rope<T, TraitsT, AllocT>* );
|
|
||||||
|
|
||||||
// const time insert tester
|
|
||||||
template<typename T, typename TraitsT, typename AllocT>
|
|
||||||
yes_type has_const_time_insert_tester( const std::rope<T, TraitsT, AllocT>* );
|
|
||||||
|
|
||||||
// const time erase tester
|
|
||||||
template<typename T, typename TraitsT, typename AllocT>
|
|
||||||
yes_type has_const_time_erase_tester( const std::rope<T, TraitsT, AllocT>* );
|
|
||||||
|
|
||||||
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
|
|
||||||
// native replace trait
|
// native replace trait
|
||||||
template<typename T, typename TraitsT, typename AllocT>
|
template<typename T, typename TraitsT, typename AllocT>
|
||||||
@ -91,7 +72,6 @@ namespace boost {
|
|||||||
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
typedef mpl::bool_<value> type;
|
typedef mpl::bool_<value> type;
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
} // namespace algorithm
|
} // namespace algorithm
|
||||||
|
@ -21,21 +21,6 @@ namespace boost {
|
|||||||
|
|
||||||
// SGI's std::slist<> traits -----------------------------------------------//
|
// SGI's std::slist<> traits -----------------------------------------------//
|
||||||
|
|
||||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
|
|
||||||
// stable iterators tester
|
|
||||||
template<typename T, typename AllocT>
|
|
||||||
yes_type has_stable_iterators_tester( const BOOST_STD_EXTENSION_NAMESPACE::slist<T,AllocT>* );
|
|
||||||
|
|
||||||
// const time insert tester
|
|
||||||
template<typename T, typename AllocT>
|
|
||||||
yes_type has_const_time_insert_tester( const BOOST_STD_EXTENSION_NAMESPACE::slist<T,AllocT>* );
|
|
||||||
|
|
||||||
// const time erase tester
|
|
||||||
template<typename T, typename AllocT>
|
|
||||||
yes_type has_const_time_erase_tester( const BOOST_STD_EXTENSION_NAMESPACE::slist<T,AllocT>* );
|
|
||||||
|
|
||||||
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
|
|
||||||
// stable iterators trait
|
// stable iterators trait
|
||||||
template<typename T, typename AllocT>
|
template<typename T, typename AllocT>
|
||||||
@ -75,7 +60,6 @@ namespace boost {
|
|||||||
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
typedef mpl::bool_<has_const_time_erase<T>::value> type;
|
typedef mpl::bool_<has_const_time_erase<T>::value> type;
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
} // namespace algorithm
|
} // namespace algorithm
|
||||||
|
@ -20,13 +20,6 @@ namespace boost {
|
|||||||
|
|
||||||
// std::basic_string<> traits -----------------------------------------------//
|
// std::basic_string<> traits -----------------------------------------------//
|
||||||
|
|
||||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
|
|
||||||
// native replace tester
|
|
||||||
template<typename T, typename TraitsT, typename AllocT>
|
|
||||||
yes_type has_native_replace_tester( const std::basic_string<T, TraitsT, AllocT>* );
|
|
||||||
|
|
||||||
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
|
|
||||||
// native replace trait
|
// native replace trait
|
||||||
template<typename T, typename TraitsT, typename AllocT>
|
template<typename T, typename TraitsT, typename AllocT>
|
||||||
@ -43,7 +36,6 @@ namespace boost {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
|
||||||
|
|
||||||
} // namespace algorithm
|
} // namespace algorithm
|
||||||
} // namespace boost
|
} // namespace boost
|
||||||
|
Reference in New Issue
Block a user