22 #ifndef BOOST_PYTHON_INDEXING_SET_HPP
23 #define BOOST_PYTHON_INDEXING_SET_HPP
25 #include <indexing_suite/container_traits.hpp>
26 #include <indexing_suite/container_suite.hpp>
27 #include <indexing_suite/algorithms.hpp>
28 #include <boost/type_traits/is_const.hpp>
31 namespace boost {
namespace python {
namespace indexing {
36 template<
typename Container>
42 typedef typename Container::key_type value_type;
43 typedef typename Container::key_type index_type;
44 typedef typename Container::key_type key_type;
46 typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <value_type>::param_type
48 typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <key_type>::param_type
50 typedef typename BOOST_PYTHON_INDEXING_CALL_TRAITS <index_type>::param_type
53 BOOST_STATIC_CONSTANT(
64 base_class::is_mutable,
75 template<
typename ContainerTraits,
typename Ovr = detail::no_overr
ide>
79 typename detail::maybe_override
80 <set_algorithms<ContainerTraits, Ovr>, Ovr>
84 typedef typename detail::maybe_override<self_type, Ovr>::type most_derived;
88 typedef typename Parent::container container;
89 typedef typename Parent::value_param value_param;
90 typedef typename Parent::index_param index_param;
92 static void insert (container &, index_param);
94 template<
typename PythonClass,
typename Policy>
95 static void visit_container_class( PythonClass &pyClass, Policy
const &policy)
97 ContainerTraits::visit_container_class (pyClass, policy);
98 pyClass.def(
"add", &self_type::insert );
103 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
109 template <
class Key,
class Compare,
class Allocator>
112 typedef std::set<Key, Compare, Allocator> Container;
126 template <
class Key,
class Compare,
class Allocator>
129 typedef std::multiset<Key, Compare, Allocator> Container;
143 method_set_type MethodMask = all_methods,
155 template<
typename ContainerTraits,
typename Ovr>
158 container &c, index_param ix)
172 #endif // BOOST_PYTHON_INDEXING_SET_HPP
Definition: methods.hpp:90
Definition: algorithms.hpp:128
Definition: python_CEGUI.h:11
Definition: container_traits.hpp:59
Definition: proxy_iterator.hpp:155
Definition: container_suite.hpp:42
Definition: algorithms.hpp:532