LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
boost::python::detail::proxy_helper< Container, DerivedPolicies, ContainerElement, Index > Struct Template Reference

#include "indexing_suite_detail.hpp"

Static Public Member Functions

static void register_container_element ()
 
static object base_get_item_ (back_reference< Container & > const &container, PyObject *i)
 
static void base_replace_indexes (Container &container, Index from, Index to, Index n)
 
template<class NoSlice >
static void base_erase_index (Container &container, Index i, NoSlice no_slice)
 
static void base_erase_indexes (Container &container, Index from, Index to)
 

Detailed Description

template<class Container, class DerivedPolicies, class ContainerElement, class Index>
struct boost::python::detail::proxy_helper< Container, DerivedPolicies, ContainerElement, Index >

Definition at line 517 of file indexing_suite_detail.hpp.

Member Function Documentation

template<class Container , class DerivedPolicies , class ContainerElement , class Index >
template<class NoSlice >
static void boost::python::detail::proxy_helper< Container, DerivedPolicies, ContainerElement, Index >::base_erase_index ( Container &  container,
Index  i,
NoSlice  no_slice 
)
inlinestatic

Definition at line 556 of file indexing_suite_detail.hpp.

558  {
559  ContainerElement::get_links().erase(container, i, no_slice);
560  }
template<class Container , class DerivedPolicies , class ContainerElement , class Index >
static void boost::python::detail::proxy_helper< Container, DerivedPolicies, ContainerElement, Index >::base_erase_indexes ( Container &  container,
Index  from,
Index  to 
)
inlinestatic

Definition at line 563 of file indexing_suite_detail.hpp.

565  {
566  ContainerElement::get_links().erase(container, from, to);
567  }
template<class Container , class DerivedPolicies , class ContainerElement , class Index >
static object boost::python::detail::proxy_helper< Container, DerivedPolicies, ContainerElement, Index >::base_get_item_ ( back_reference< Container & > const &  container,
PyObject *  i 
)
inlinestatic

Definition at line 526 of file indexing_suite_detail.hpp.

527  {
528  // Proxy
529  Index idx = DerivedPolicies::convert_index(container.get(), i);
530 
531  if (PyObject* shared =
532  ContainerElement::get_links().find(container.get(), idx))
533  {
534  handle<> h(python::borrowed(shared));
535  return object(h);
536  }
537  else
538  {
539  object prox(ContainerElement(container.source(), idx));
540  ContainerElement::
541  get_links().add(prox.ptr(), container.get());
542  return prox;
543  }
544  }
template<class Container , class DerivedPolicies , class ContainerElement , class Index >
static void boost::python::detail::proxy_helper< Container, DerivedPolicies, ContainerElement, Index >::base_replace_indexes ( Container &  container,
Index  from,
Index  to,
Index  n 
)
inlinestatic

Definition at line 547 of file indexing_suite_detail.hpp.

550  {
551  ContainerElement::get_links().replace(container, from, to, n);
552  }
Char_t n[5]
template<class Container , class DerivedPolicies , class ContainerElement , class Index >
static void boost::python::detail::proxy_helper< Container, DerivedPolicies, ContainerElement, Index >::register_container_element ( )
inlinestatic

Definition at line 520 of file indexing_suite_detail.hpp.

521  {
522  register_ptr_to_python<ContainerElement>();
523  }

The documentation for this struct was generated from the following file: