21 #ifndef BOOST_PYTHON_INDEXING_LIST_HPP 22 #define BOOST_PYTHON_INDEXING_LIST_HPP 24 #include <indexing_suite/container_traits.hpp> 25 #include <indexing_suite/container_suite.hpp> 26 #include <indexing_suite/algorithms.hpp> 29 #if BOOST_WORKAROUND (BOOST_MSVC, == 1200) 30 # include <boost/static_assert.hpp> 31 # include <boost/type_traits.hpp> 34 namespace boost {
namespace python {
namespace indexing {
39 template<
typename Container,
typename ValueTraits = detail::no_overr
ide>
46 typedef typename base_class::value_traits_type value_traits_type;
48 BOOST_STATIC_CONSTANT(
55 value_traits_type::equality_comparable,
61 base_class::is_mutable,
68 base_class::is_mutable,
69 value_traits_type::less_than_comparable
81 template<
typename ContainerTraits,
typename Ovr = detail::no_overr
ide>
85 typename detail::maybe_override
86 <list_algorithms<ContainerTraits, Ovr>, Ovr>
90 typedef typename detail::maybe_override<self_type, Ovr>::type most_derived;
94 typedef typename Parent::container container;
97 static void reverse (container &);
98 static void sort (container &);
102 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) 108 template <
class T,
class Allocator>
111 typedef std::list<T, Allocator> Container;
125 method_set_type MethodMask = all_methods,
137 template<
typename ContainerTraits,
typename Ovr>
147 template<
typename ContainerTraits,
typename Ovr>
150 typedef typename self_type::container_traits::value_traits_type
153 typedef typename vtraits::less comparison;
154 #if BOOST_WORKAROUND (BOOST_MSVC, == 1200) 162 (::boost::is_same<comparison, std::less<value_type> >::value));
165 c.sort (comparison());
170 #endif // BOOST_PYTHON_INDEXING_LIST_HPP Definition: methods.hpp:90
Definition: algorithms.hpp:42
Definition: python_CEGUI.h:9
Definition: container_traits.hpp:59
Definition: proxy_iterator.hpp:155
Definition: container_suite.hpp:42
Definition: algorithms.hpp:532