|
typedef mpl::or_< mpl::bool_< NoProxy >, mpl::not_< is_class< Data > > > | no_proxy |
|
typedef detail::container_element< Container, Index, DerivedPolicies > | container_element_t |
|
typedef return_internal_reference | return_policy |
|
typedef mpl::if_< no_proxy, iterator< Container >, iterator< Container, return_policy > >::type | def_iterator |
|
typedef mpl::if_< no_proxy, detail::no_proxy_helper< Container, DerivedPolicies, container_element_t, Index >, detail::proxy_helper< Container, DerivedPolicies, container_element_t, Index > >::type | proxy_handler |
|
typedef mpl::if_< mpl::bool_< NoSlice >, detail::no_slice_helper< Container, DerivedPolicies, proxy_handler, Data, Index >, detail::slice_helper< Container, DerivedPolicies, proxy_handler, Data, Index > >::type | slice_handler |
|
typedef mpl::or_< mpl::bool_< NoProxy >, mpl::not_< is_class< Data > > > | no_proxy |
|
typedef detail::container_element< Container, Index, DerivedPolicies > | container_element_t |
|
typedef return_internal_reference | return_policy |
|
typedef mpl::if_< no_proxy, iterator< Container >, iterator< Container, return_policy > >::type | def_iterator |
|
typedef mpl::if_< no_proxy, detail::no_proxy_helper< Container, DerivedPolicies, container_element_t, Index >, detail::proxy_helper< Container, DerivedPolicies, container_element_t, Index > >::type | proxy_handler |
|
typedef mpl::if_< mpl::bool_< NoSlice >, detail::no_slice_helper< Container, DerivedPolicies, proxy_handler, Data, Index >, detail::slice_helper< Container, DerivedPolicies, proxy_handler, Data, Index > >::type | slice_handler |
|
|
static object | base_get_item (back_reference< Container &> container, PyObject *i) |
|
static void | base_set_item (Container &container, PyObject *i, PyObject *v) |
|
static void | base_delete_item (Container &container, PyObject *i) |
|
static size_t | base_size (Container &container) |
|
static bool | base_contains (Container &container, PyObject *key) |
|
static object | base_get_item (back_reference< Container &> container, PyObject *i) |
|
static void | base_set_item (Container &container, PyObject *i, PyObject *v) |
|
static void | base_delete_item (Container &container, PyObject *i) |
|
static size_t | base_size (Container &container) |
|
static bool | base_contains (Container &container, PyObject *key) |
|
template<class Container, class DerivedPolicies, bool NoProxy = false, bool NoSlice = false, class Data = typename Container::value_type, class Index = typename Container::size_type, class Key = typename Container::value_type>
class boost::python::indexing_suite< Container, DerivedPolicies, NoProxy, NoSlice, Data, Index, Key >
Definition at line 106 of file source/boost/indexing_suite.hpp.
template<class Container, class DerivedPolicies, bool NoProxy = false, bool NoSlice = false, class Data = typename Container::value_type, class Index = typename Container::size_type, class Key = typename Container::value_type>
static bool boost::python::indexing_suite< Container, DerivedPolicies, NoProxy, NoSlice, Data, Index, Key >::base_contains |
( |
Container & |
container, |
|
|
PyObject * |
key |
|
) |
| |
|
inlinestaticprivate |
Definition at line 271 of file source/boost/indexing_suite.hpp.
273 extract<Key const&>
x(key);
277 return DerivedPolicies::contains(container,
x());
284 return DerivedPolicies::contains(container,
x());
template<class Container, class DerivedPolicies, bool NoProxy = false, bool NoSlice = false, class Data = typename Container::value_type, class Index = typename Container::size_type, class Key = typename Container::value_type>
static void boost::python::indexing_suite< Container, DerivedPolicies, NoProxy, NoSlice, Data, Index, Key >::base_delete_item |
( |
Container & |
container, |
|
|
PyObject * |
i |
|
) |
| |
|
inlinestaticprivate |
Definition at line 250 of file tests/test12/module/include/indexing_suite.hpp.
252 if (PySlice_Check(i))
254 slice_handler::base_delete_slice(
255 container, reinterpret_cast<PySliceObject*>(i));
259 Index
index = DerivedPolicies::convert_index(container, i);
260 proxy_handler::base_erase_index(container, index, mpl::bool_<NoSlice>());
261 DerivedPolicies::delete_item(container, index);
template<class Container, class DerivedPolicies, bool NoProxy = false, bool NoSlice = false, class Data = typename Container::value_type, class Index = typename Container::size_type, class Key = typename Container::value_type>
static void boost::python::indexing_suite< Container, DerivedPolicies, NoProxy, NoSlice, Data, Index, Key >::base_delete_item |
( |
Container & |
container, |
|
|
PyObject * |
i |
|
) |
| |
|
inlinestaticprivate |
Definition at line 250 of file source/boost/indexing_suite.hpp.
252 if (PySlice_Check(i))
254 slice_handler::base_delete_slice(
255 container, reinterpret_cast<PySliceObject*>(i));
259 Index
index = DerivedPolicies::convert_index(container, i);
260 proxy_handler::base_erase_index(container, index, mpl::bool_<NoSlice>());
261 DerivedPolicies::delete_item(container, index);
template<class Container, class DerivedPolicies, bool NoProxy = false, bool NoSlice = false, class Data = typename Container::value_type, class Index = typename Container::size_type, class Key = typename Container::value_type>
static object boost::python::indexing_suite< Container, DerivedPolicies, NoProxy, NoSlice, Data, Index, Key >::base_get_item |
( |
back_reference< Container &> |
container, |
|
|
PyObject * |
i |
|
) |
| |
|
inlinestaticprivate |
Definition at line 201 of file source/boost/indexing_suite.hpp.
203 if (PySlice_Check(i))
204 return slice_handler::base_get_slice(
205 container.get(),
reinterpret_cast<PySliceObject*
>(i));
207 return proxy_handler::base_get_item_(container, i);
template<class Container, class DerivedPolicies, bool NoProxy = false, bool NoSlice = false, class Data = typename Container::value_type, class Index = typename Container::size_type, class Key = typename Container::value_type>
static object boost::python::indexing_suite< Container, DerivedPolicies, NoProxy, NoSlice, Data, Index, Key >::base_get_item |
( |
back_reference< Container &> |
container, |
|
|
PyObject * |
i |
|
) |
| |
|
inlinestaticprivate |
Definition at line 201 of file tests/test12/module/include/indexing_suite.hpp.
203 if (PySlice_Check(i))
204 return slice_handler::base_get_slice(
205 container.get(),
reinterpret_cast<PySliceObject*
>(i));
207 return proxy_handler::base_get_item_(container, i);
template<class Container, class DerivedPolicies, bool NoProxy = false, bool NoSlice = false, class Data = typename Container::value_type, class Index = typename Container::size_type, class Key = typename Container::value_type>
static void boost::python::indexing_suite< Container, DerivedPolicies, NoProxy, NoSlice, Data, Index, Key >::base_set_item |
( |
Container & |
container, |
|
|
PyObject * |
i, |
|
|
PyObject * |
v |
|
) |
| |
|
inlinestaticprivate |
Definition at line 211 of file source/boost/indexing_suite.hpp.
213 if (PySlice_Check(i))
215 slice_handler::base_set_slice(container,
216 reinterpret_cast<PySliceObject*>(i),
v);
220 extract<Data&> elem(
v);
227 convert_index(container, i), elem());
232 extract<Data> elem(
v);
238 convert_index(container, i), elem());
242 PyErr_SetString(PyExc_TypeError,
"Invalid assignment");
243 throw_error_already_set();
template<class Container, class DerivedPolicies, bool NoProxy = false, bool NoSlice = false, class Data = typename Container::value_type, class Index = typename Container::size_type, class Key = typename Container::value_type>
static void boost::python::indexing_suite< Container, DerivedPolicies, NoProxy, NoSlice, Data, Index, Key >::base_set_item |
( |
Container & |
container, |
|
|
PyObject * |
i, |
|
|
PyObject * |
v |
|
) |
| |
|
inlinestaticprivate |
Definition at line 211 of file tests/test12/module/include/indexing_suite.hpp.
213 if (PySlice_Check(i))
215 slice_handler::base_set_slice(container,
216 reinterpret_cast<PySliceObject*>(i),
v);
220 extract<Data&> elem(
v);
227 convert_index(container, i), elem());
232 extract<Data> elem(
v);
238 convert_index(container, i), elem());
242 PyErr_SetString(PyExc_TypeError,
"Invalid assignment");
243 throw_error_already_set();
template<class Container, class DerivedPolicies, bool NoProxy = false, bool NoSlice = false, class Data = typename Container::value_type, class Index = typename Container::size_type, class Key = typename Container::value_type>
static size_t boost::python::indexing_suite< Container, DerivedPolicies, NoProxy, NoSlice, Data, Index, Key >::base_size |
( |
Container & |
container | ) |
|
|
inlinestaticprivate |