Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:28:24

0001 //  Boost string_algo library slist_traits.hpp header file  ---------------------------//
0002 
0003 //  Copyright Pavol Droba 2002-2003. 
0004 //
0005 // Distributed under the Boost Software License, Version 1.0.
0006 //    (See accompanying file LICENSE_1_0.txt or copy at
0007 //          http://www.boost.org/LICENSE_1_0.txt)
0008 
0009 //  See http://www.boost.org/ for updates, documentation, and revision history.
0010 
0011 #ifndef BOOST_STRING_STD_SLIST_TRAITS_HPP
0012 #define BOOST_STRING_STD_SLIST_TRAITS_HPP
0013 
0014 #include <boost/algorithm/string/config.hpp>
0015 #include <boost/algorithm/string/yes_no_type.hpp>
0016 #include BOOST_SLIST_HEADER 
0017 #include <boost/algorithm/string/sequence_traits.hpp>
0018 
0019 namespace boost {
0020     namespace algorithm {
0021 
0022 //  SGI's std::slist<> traits  -----------------------------------------------//
0023 
0024 
0025     // stable iterators trait
0026         template<typename T, typename AllocT>
0027         class has_stable_iterators< BOOST_STD_EXTENSION_NAMESPACE::slist<T,AllocT> >
0028         {
0029         public:
0030 #if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
0031             enum { value = true };
0032 #else
0033             BOOST_STATIC_CONSTANT(bool, value=true);
0034 #endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
0035             typedef mpl::bool_<has_stable_iterators<T>::value> type;
0036         };
0037 
0038     // const time insert trait
0039         template<typename T, typename AllocT>
0040         class has_const_time_insert< BOOST_STD_EXTENSION_NAMESPACE::slist<T,AllocT> >
0041         {
0042         public:
0043 #if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
0044             enum { value = true };
0045 #else
0046             BOOST_STATIC_CONSTANT(bool, value=true);
0047 #endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
0048             typedef mpl::bool_<has_const_time_insert<T>::value> type;
0049         };
0050 
0051     // const time erase trait
0052         template<typename T, typename AllocT>
0053         class has_const_time_erase< BOOST_STD_EXTENSION_NAMESPACE::slist<T,AllocT> >
0054         {
0055         public:
0056 #if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
0057             enum { value = true };
0058 #else
0059             BOOST_STATIC_CONSTANT(bool, value=true);
0060 #endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
0061             typedef mpl::bool_<has_const_time_erase<T>::value> type;
0062         };
0063 
0064 
0065     } // namespace algorithm
0066 } // namespace boost
0067 
0068 
0069 #endif  // BOOST_STRING_STD_LIST_TRAITS_HPP