| 
    Michele De Stefano's C++ Utilities
    
   | 
 
Base class for all generic sequence types. More...
#include <mds_utils/python/sequence.hpp>
  
 Public Member Functions | |
| Sequence_Base () | |
| Default constructor.  More... | |
| Sequence_Base (size_t len) | |
| Creates a sequence of the desired length.  More... | |
| Sequence_Base (PyObject *po) | |
| Constructs a new Sequence_Base from a Python sequence.  More... | |
| Sequence_Base (Sequence_Base &&rhs) | |
| Move constructor.  | |
| Sequence_Base (const Sequence_Base &rhs) | |
| The copy-constructor.  | |
| Sequence_Base (ProxyAttr &&rhs) | |
| Move constructor from ProxyAttr object.  More... | |
| Sequence_Base< Derived > & | operator= (Sequence_Base< Derived > &&rhs) | 
| Move assignment.  | |
| Sequence_Base< Derived > & | operator= (const Sequence_Base< Derived > &rhs) | 
| The standard assignment.  | |
| template<class seq_T > | |
| void | set (const seq_T &seq) | 
| Sets a Python sequence from a Boost Fusion sequence.  More... | |
| template<class FwIt > | |
| void | set (FwIt b, FwIt e) | 
| Sets a Python sequence from a range of values.  More... | |
| void | set (const Obj &o) | 
| Sets a Python sequence from another Python sequence.  More... | |
| void | del (long i) | 
Deletes the item in position i.  | |
| size_t | len () const | 
| Returns the length of the sequence.  | |
| ProxyElem | operator[] (long i) | 
| Element access.  More... | |
  Public Member Functions inherited from mds_utils::python::Obj | |
| Obj () | |
| Default constructor.  | |
| Obj (const Obj &rhs) | |
| The copy-constructor.  More... | |
| Obj (Obj &&rhs) | |
| Move constructor.  More... | |
| Obj (ProxyAttr &&rhs) | |
| Move constructor from ProxyAttr objects.  More... | |
| Obj (PyObject *po) | |
| Construct from a Python object.  More... | |
| Obj & | operator= (const Obj &rhs) | 
| Standard assignment.  | |
| Obj & | operator= (Obj &&rhs) | 
| Move assignment.  | |
| virtual Obj & | operator= (PyObject *po) | 
| Assignment from a Python object.  More... | |
| template<class T > | |
| Obj & | operator= (const T &val) | 
| Assignment from a value.  More... | |
| virtual | ~Obj () | 
| Destructor.  | |
| PyObject * | getPyObject () const | 
| Returns the underlying PyObject.  More... | |
| operator PyObject * () const | |
| Automatic type conversion towards a Python object.  More... | |
| virtual PyObject * | transfer () | 
| Returns the Python object with transferred ownership.  More... | |
| virtual void | incref () | 
| Increments the reference count using Py_XINCREF.  More... | |
| virtual void | decref () | 
| Decrements the reference count using Py_XDECREF.  | |
| void | reset () | 
| Resets the object to the state given by the default constructor.  | |
| void | get_ownership () | 
| Used in place of incref, when the wrapped PyObject* was increfed already.  | |
| bool | has_attr (const std::string &name) const | 
| Tests if the object has a particular attribute.  | |
| ProxyAttr | attr (const std::string &name) | 
| Retrieves an attribute.  More... | |
| bool | is_callable () const | 
| Checks if the object is callable.  More... | |
| Obj | operator() () | 
| Calling operator.  More... | |
| Obj | operator() (const Obj &args) | 
| Calling operator, with positional arguments.  More... | |
| Obj | operator() (const Obj &args, const Obj &kw) | 
| Calling operator, with positional and keyword arguments.  More... | |
Protected Member Functions | |
| size_t | idx (long i) const | 
| Converts a Python index (that can also be negative) into a C index.  More... | |
  Protected Member Functions inherited from mds_utils::python::Obj | |
| void | check_callable () | 
| Checks if the object is callable.  More... | |
| void | check_call_result (PyObject *result) | 
| Checks if the result of the object call was successful.  More... | |
Protected Attributes | |
| size_t | m_len | 
| The length of the sequence.  | |
  Protected Attributes inherited from mds_utils::python::Obj | |
| size_t | decref_on_destroy | 
| PyObject * | m_po | 
| Underlying pointer to the wrapped Python object.  | |
Friends | |
| class | from_fusion_seq | 
Base class for all generic sequence types.
| Derived | The type of the derived class. It must provide the following member functions: - <tt>static bool self_type_check(PyObject *o)</tt>: returns \b true if the Python object o has the same Python type as that of the Python object contained by the derived class. Returns \b false otherwise. - <tt>static PyObject* new_seq(size_t len)</tt>: provides a new sequence, given its length <tt>len</tt>. It must return a new reference or NULL on error. - <tt>template<class T> bool set_item(size_t pos,T const& x)</tt>: Inserts the object \p x into the position <tt>pos</tt>. Returns \b true on success and \b false on error. The proper "to_python" converter must be defined.  | 
Definition at line 94 of file sequence.hpp.
      
  | 
  inline | 
      
  | 
  inline | 
Creates a sequence of the desired length.
| len | The length of the sequence. | 
Definition at line 212 of file sequence.hpp.
      
  | 
  inline | 
Constructs a new Sequence_Base from a Python sequence.
It throws an exception if the parameter is not a sequence of the same type as the derived class.
| po | Pointer to a Pyton sequence object. | 
Definition at line 230 of file sequence.hpp.
      
  | 
  inline | 
Move constructor from ProxyAttr object.
It increfs the current object.
Definition at line 258 of file sequence.hpp.
      
  | 
  inlineprotected | 
Converts a Python index (that can also be negative) into a C index.
| i | Index in Python style (i.e. it can be negative). | 
Definition at line 180 of file sequence.hpp.
Referenced by mds_utils::python::Sequence_Base< List >::del(), and mds_utils::python::Sequence_Base< List >::operator[]().
      
  | 
  inline | 
Element access.
| i | The index of the element. It can be negative, with the same meaning it has in Python code. | 
Definition at line 446 of file sequence.hpp.
      
  | 
  inline | 
Sets a Python sequence from a Boost Fusion sequence.
| seq_T | Any Boost Fusion sequence type. | 
| seq | A Boost Fusion sequence. | 
Derived class must provide the static member function\ \ static PyObject* new_seq(size_t len)\ \ where len is the length of the new sequence, which will be returned.Definition at line 296 of file sequence.hpp.
Referenced by mds_utils::python::ublas::to_python().
      
  | 
  inline | 
Sets a Python sequence from a range of values.
| FwIt | Models the Forward Iterator Concept. | 
| b | Start iterator of the sequence. | 
| e | Past-the-end iterator of the sequence. | 
Derived class must provide the static member function\ \ static PyObject* new_seq(size_t len)\ \ where len is the length of the new sequence, which will be returned.Definition at line 330 of file sequence.hpp.
      
  | 
  inline | 
Sets a Python sequence from another Python sequence.
| o | Another Python sequence. | 
Derived class must provide the static member function\ \ static PyObject* new_seq(size_t len)\ \ where len is the length of the new sequence, which will be returned.Definition at line 375 of file sequence.hpp.