library of assembled shared sources

http://lass.cocamware.com

lass::python::impl::PyMapImpl< M > Class Template Reference

#include <pymap.h>

Inheritance diagram for lass::python::impl::PyMapImpl< M >:

Inheritance graph
[legend]
Collaboration diagram for lass::python::impl::PyMapImpl< M >:

Collaboration graph
[legend]

Public Types

enum  Ownership { oOwner, oBorrowed }

Public Member Functions

 PyMapImpl (M *iMap, Ownership iOwnership=oBorrowed)
virtual ~PyMapImpl ()
virtual Py_ssize_t PyMap_Length ()
virtual PyObject * PyMap_Subscript (PyObject *iKey)
virtual int PyMap_AssSubscript (PyObject *iKey, PyObject *iValue)
virtual std::string pyStr (void)
virtual std::string pyRepr (void)
virtual TPyObjPtr keys () const
virtual TPyObjPtr values () const
virtual PyObject * PyMap_Iter ()
virtual bool pointsToSameContainer (void *iO)

Private Types

enum  { readOnly_ = meta::TypeTraits<M>::isConst }

Private Member Functions

int doPyMap_AssSubscript (PyObject *iKey, PyObject *iValue, meta::True)
int doPyMap_AssSubscript (PyObject *iKey, PyObject *iValue, meta::False)

Private Attributes

M * map_
Ownership ownership_

Detailed Description

template<typename M>
class lass::python::impl::PyMapImpl< M >

Definition at line 81 of file pymap.h.


Member Enumeration Documentation

template<typename M >
enum lass::python::impl::PyMapImpl::Ownership

Enumerator:
oOwner 
oBorrowed 

Definition at line 84 of file pymap.h.

template<typename M >
anonymous enum [private]

Enumerator:
readOnly_ 

Definition at line 110 of file pymap.h.


Constructor & Destructor Documentation

template<typename M >
lass::python::impl::PyMapImpl< M >::PyMapImpl ( M *  iMap,
Ownership  iOwnership = oBorrowed 
) [inline]

Definition at line 89 of file pymap.h.

template<typename M >
lass::python::impl::PyMapImpl< M >::~PyMapImpl (  )  [inline, virtual]


Member Function Documentation

template<typename M >
Py_ssize_t lass::python::impl::PyMapImpl< M >::PyMap_Length (  )  [inline, virtual]

template<typename M >
PyObject * lass::python::impl::PyMapImpl< M >::PyMap_Subscript ( PyObject *  iKey  )  [inline, virtual]

Implements lass::python::impl::PyMapImplBase.

Definition at line 219 of file pymap.h.

References LASS_ASSERT, and lass::python::impl::PyMapImpl< M >::map_.

template<typename M >
int lass::python::impl::PyMapImpl< M >::PyMap_AssSubscript ( PyObject *  iKey,
PyObject *  iValue 
) [inline, virtual]

template<typename M >
std::string lass::python::impl::PyMapImpl< M >::pyStr ( void   )  [inline, virtual]

template<typename M >
std::string lass::python::impl::PyMapImpl< M >::pyRepr ( void   )  [inline, virtual]

template<typename M >
TPyObjPtr lass::python::impl::PyMapImpl< M >::keys (  )  const [inline, virtual]

template<typename M >
TPyObjPtr lass::python::impl::PyMapImpl< M >::values (  )  const [inline, virtual]

template<typename M >
PyObject * lass::python::impl::PyMapImpl< M >::PyMap_Iter (  )  [inline, virtual]

Implements lass::python::impl::PyMapImplBase.

Definition at line 191 of file pymap.h.

References lass::python::impl::PyMapImpl< M >::map_.

template<typename M >
virtual bool lass::python::impl::PyMapImpl< M >::pointsToSameContainer ( void *  iO  )  [inline, virtual]

Implements lass::python::impl::PyMapImplBase.

Definition at line 99 of file pymap.h.

References lass::python::impl::PyMapImpl< M >::map_.

template<typename M >
int lass::python::impl::PyMapImpl< M >::doPyMap_AssSubscript ( PyObject *  iKey,
PyObject *  iValue,
meta::True   
) [inline, private]

Definition at line 247 of file pymap.h.

Referenced by lass::python::impl::PyMapImpl< M >::PyMap_AssSubscript().

template<typename M >
int lass::python::impl::PyMapImpl< M >::doPyMap_AssSubscript ( PyObject *  iKey,
PyObject *  iValue,
meta::False   
) [inline, private]

Definition at line 254 of file pymap.h.

References LASS_ASSERT, and lass::python::impl::PyMapImpl< M >::map_.


Field Documentation

template<typename M >
M* lass::python::impl::PyMapImpl< M >::map_ [private]

template<typename M >
Ownership lass::python::impl::PyMapImpl< M >::ownership_ [private]

Definition at line 109 of file pymap.h.

Referenced by lass::python::impl::PyMapImpl< M >::~PyMapImpl().


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

Generated on Mon Nov 10 14:22:15 2008 for Library of Assembled Shared Sources by doxygen 1.5.7.1
SourceForge.net Logo