library of assembled shared sources

http://lass.cocamware.com

lass::python::impl Namespace Reference


Data Structures

class  FunctorPythonBase
 Common implementation of a dispatcher to an python callback with void return type. More...
class  FunctorPythonRBase
 Common implementation of a dispatcher to an python callback with non-void return type. More...
class  PyIteratorRangeImplBase
 begin of iterators More...
class  PyIteratorRangeImpl
class  PyMapImplBase
class  PyMapImpl
class  PyMap
 PyMap. More...
struct  ArgValue
struct  ArgPyPtr
struct  ArgumentTraits
 determines the right type for temporary storage of function arguments. More...
struct  ArgumentTraits< const T >
struct  ArgumentTraits< T & >
struct  ArgumentTraits< const T & >
struct  ArgumentTraits< T * >
struct  ArgumentTraits< const T * >
struct  ArgumentTraits< T *const >
struct  ArgumentTraits< const T *const >
struct  Caller
 calls the actual function with provided parameters, and returns result as a PyObject pointer. More...
struct  Caller< void >
 specialisation for functions without return value, calls function and returns Py_None. More...
struct  CallMethod
struct  ExplicitResolver< CppClass, R, lass::meta::NullType >
struct  ExplicitResolver1< CppClass, R, P1, lass::meta::NullType >
struct  ExplicitResolver2< CppClass, R, P1, P2, lass::meta::NullType >
struct  ExplicitResolver3< CppClass, R, P1, P2, P3, lass::meta::NullType >
struct  ExplicitResolver4< CppClass, R, P1, P2, P3, P4, lass::meta::NullType >
struct  ExplicitResolver5< CppClass, R, P1, P2, P3, P4, P5, lass::meta::NullType >
struct  ExplicitResolver6< CppClass, R, P1, P2, P3, P4, P5, P6, lass::meta::NullType >
struct  ExplicitResolver7< CppClass, R, P1, P2, P3, P4, P5, P6, P7, lass::meta::NullType >
struct  ExplicitResolver8< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, lass::meta::NullType >
struct  ExplicitResolver9< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, P9, lass::meta::NullType >
struct  ExplicitResolver10< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, lass::meta::NullType >
struct  ExplicitResolver11< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, lass::meta::NullType >
struct  ExplicitResolver12< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, lass::meta::NullType >
struct  ExplicitResolver13< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, lass::meta::NullType >
struct  ExplicitResolver14< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, lass::meta::NullType >
struct  ExplicitResolver15< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, lass::meta::NullType >
struct  ExplicitResolver< CppClass, R, meta::TypeList< Head, Tail > >
struct  ExplicitResolver1< CppClass, R, P1, meta::TypeList< Head, Tail > >
struct  ExplicitResolver2< CppClass, R, P1, P2, meta::TypeList< Head, Tail > >
struct  ExplicitResolver3< CppClass, R, P1, P2, P3, meta::TypeList< Head, Tail > >
struct  ExplicitResolver4< CppClass, R, P1, P2, P3, P4, meta::TypeList< Head, Tail > >
struct  ExplicitResolver5< CppClass, R, P1, P2, P3, P4, P5, meta::TypeList< Head, Tail > >
struct  ExplicitResolver6< CppClass, R, P1, P2, P3, P4, P5, P6, meta::TypeList< Head, Tail > >
struct  ExplicitResolver7< CppClass, R, P1, P2, P3, P4, P5, P6, P7, meta::TypeList< Head, Tail > >
struct  ExplicitResolver8< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, meta::TypeList< Head, Tail > >
struct  ExplicitResolver9< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, P9, meta::TypeList< Head, Tail > >
struct  ExplicitResolver10< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, meta::TypeList< Head, Tail > >
struct  ExplicitResolver11< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, meta::TypeList< Head, Tail > >
struct  ExplicitResolver12< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, meta::TypeList< Head, Tail > >
struct  ExplicitResolver13< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, meta::TypeList< Head, Tail > >
struct  ExplicitResolver14< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, meta::TypeList< Head, Tail > >
struct  ExplicitResolver15< CppClass, R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, meta::TypeList< Head, Tail > >
class  OverloadLink
struct  DispatcherConvertor
struct  CompareFunc
struct  RichCompare
struct  RichCompare< PyObjectPlus >
class  StaticMemberHelper
class  StaticMemberHelperObject
class  StaticMemberHelperObject< PyObject * >
class  StaticMemberHelperType
struct  StaticMember
class  StaticMemberEqual
class  PyMethodEqual
struct  PyNumericCaster
struct  PyNumericCaster< false >
struct  ContainerTraits
struct  ContainerTraits< std::vector< C, A > >
struct  ContainerTraits< std::list< C, A > >
class  PySequenceImplBase
struct  ContainerNotOwned
struct  ContainerOwned
class  PySequenceContainer
class  PySequence
 PySequence. More...
class  PyShadowBaseCommon
class  PyShadowBaseTracked
class  PyShadowBase
struct  PyShadowBaseWeak
 a weak shadow class NEVER EVER owns the object, USE AT YOUR OWN RISK! Consult your local Lass::Python guru to gain insight when the use of this class is appropriate. More...
struct  IsShadowClass
struct  ShadowTraits

Typedefs

typedef std::vector< CompareFuncTCompareFuncs
typedef util::SharedPtr
< StaticMemberHelper
TStaticMemberHelperPtr
typedef std::vector< StaticMemberTStaticMembers

Functions

PyObject * buildIndexVertex (size_t iVertex, size_t iNormal, size_t iUv)
int getIndexVertex (PyObject *iIndices, size_t &oVertex, size_t &oNormal, size_t &oUv)
LASS_DLL void LASS_CALL fetchAndThrowPythonException (const std::string &loc)
template<typename P >
bool decodeObject (PyObject *in, P &out, int index)
void handlePythonException (const PythonException &error)
void handleLassException (const util::Exception &error)
void handleStdException (const std::exception &error)
template<typename R >
PyObject * callFunction (PyObject *args, R(*iFunction)())
 calls C++ function without arguments
template<typename R , typename P1 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1))
 calls C++ function with 1 arguments, translated from python arguments
template<typename R , typename P1 , typename P2 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1, P2))
 calls C++ function with 2 arguments, translated from python arguments
template<typename R , typename P1 , typename P2 , typename P3 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1, P2, P3))
 calls C++ function with 3 arguments, translated from python arguments
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1, P2, P3, P4))
 calls C++ function with 4 arguments, translated from python arguments
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1, P2, P3, P4, P5))
 calls C++ function with 5 arguments, translated from python arguments
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1, P2, P3, P4, P5, P6))
 calls C++ function with 6 arguments, translated from python arguments
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1, P2, P3, P4, P5, P6, P7))
 calls C++ function with 7 arguments, translated from python arguments
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1, P2, P3, P4, P5, P6, P7, P8))
 calls C++ function with 8 arguments, translated from python arguments
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1, P2, P3, P4, P5, P6, P7, P8, P9))
 calls C++ function with 9 arguments, translated from python arguments
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10))
 calls C++ function with 10 arguments, translated from python arguments
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11))
 calls C++ function with 11 arguments, translated from python arguments
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12))
 calls C++ function with 12 arguments, translated from python arguments
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 , typename P13 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13))
 calls C++ function with 13 arguments, translated from python arguments
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 , typename P13 , typename P14 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14))
 calls C++ function with 14 arguments, translated from python arguments
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 , typename P13 , typename P14 , typename P15 >
PyObject * callFunction (PyObject *args, R(*iFunction)(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15))
 calls C++ function with 15 arguments, translated from python arguments
template<class PyObjectClass >
PyObject * construct (PyTypeObject *iSubtype, PyObject *args)
 allocate a new object with default constructor.
void dealloc (PyObject *obj)
PyObject * repr (PyObject *obj)
PyObject * str (PyObject *obj)
const std::string exceptionExtractMessage (const TPyObjPtr &type, const TPyObjPtr &value)
StaticMember createStaticMember (const char *iName, const char *iDocumentation, const TStaticMemberHelperPtr &iMember, PyTypeObject *iParentType, std::vector< PyMethodDef > *iMethods, std::vector< PyGetSetDef > *iGetSetters, const TStaticMembers *iStatics)
PyMethodDef createPyMethodDef (const char *ml_name, PyCFunction ml_meth, int ml_flags, const char *ml_doc)
PyGetSetDef createPyGetSetDef (const char *name, getter get, setter set, const char *doc, void *closure)
void injectStaticMembers (PyTypeObject &iPyType, const TStaticMembers &iStatics)
void finalizePyType (PyTypeObject &iPyType, PyTypeObject &iPyParentType, std::vector< PyMethodDef > &iMethods, std::vector< PyGetSetDef > &iGetSetters, const TStaticMembers &iStatics, const char *iModuleName, const char *iDocumentation)
void addModuleFunction (std::vector< PyMethodDef > &ioModuleMethods, const char *iMethodName, const char *iDocumentation, PyCFunction iMethodDispatcher, PyCFunction &oOverloadChain)
void addClassMethod (PyTypeObject &pyType, std::vector< PyMethodDef > &classMethods, TCompareFuncs &compareFuncs, const char *methodName, const char *documentation, PyCFunction dispatcher, unaryfunc dispatcherUnary, binaryfunc dispatcherBinary, ternaryfunc dispatcherTernary, ssizeargfunc dispatcherSsizeArg, ssizessizeargfunc dispatcherSsizeSsizeArg, lenfunc dispatcherLen, ssizeobjargproc dispatcherSsizeObjArgProc, ssizessizeobjargproc dispatcherSsizeSsizeObjArgProc, objobjproc dispatcherObjObjProc, OverloadLink &overloadChain)
void addMessageHeader (const std::string &iHeader)
bool checkSequenceSize (PyObject *iValue, Py_ssize_t iExpectedSize)
TPyObjPtr checkedFastSequence (PyObject *iValue, Py_ssize_t iExpectedSize)
util::CriticalSectionreferenceMutex ()
template<typename T >
T * fixObjectType (T *iObject)
template<PyCFunction DispatcherAddress>
PyObject * unaryDispatcher (PyObject *iSelf)
template<PyCFunction DispatcherAddress>
PyObject * binaryDispatcher (PyObject *iSelf, PyObject *iOther)
template<PyCFunction DispatcherAddress>
PyObject * ternaryDispatcher (PyObject *iSelf, PyObject *iArgs, PyObject *iKw)
template<PyCFunction DispatcherAddress>
PyObject * ssizeargDispatcher (PyObject *iSelf, Py_ssize_t iSize)
template<PyCFunction DispatcherAddress>
PyObject * ssizessizeargDispatcher (PyObject *iSelf, Py_ssize_t iSize, Py_ssize_t iSize2)
template<PyCFunction DispatcherAddress>
Py_ssize_t lenDispatcher (PyObject *iSelf)
template<PyCFunction DispatcherAddress>
int ssizeobjargDispatcher (PyObject *iSelf, Py_ssize_t iSize, PyObject *iOther)
template<PyCFunction DispatcherAddress>
int ssizessizeobjargDispatcher (PyObject *iSelf, Py_ssize_t iSize, Py_ssize_t iSize2, PyObject *iOther)
template<PyCFunction DispatcherAddress>
int objobjDispatcher (PyObject *iSelf, PyObject *iOther)
template<typename T >
TStaticMemberHelperPtr staticMemberHelperObject (const T &obj)
TStaticMemberHelperPtr staticMemberHelperType (PyTypeObject *type)
template<typename CppClass >
void injectClassInModule (PyObject *iModule, const char *iClassDocumentation)
template<typename CppClass >
void addClassStaticMethod (const char *iMethodName, const char *iDocumentation, PyCFunction iMethodDispatcher, PyCFunction &oOverloadChain)
 
template<typename CppClass , typename T >
void addClassStaticConst (const char *iName, const T &iValue)
template<typename InnerCppClass >
void addClassInnerClass (TStaticMembers &oOuterStatics, const char *iInnerClassName, const char *iDocumentation)
template<typename In , typename Out >
int pyNumericCast (In iIn, Out &oOut)
template<typename Integer >
int pyGetSignedObject (PyObject *iValue, Integer &oV)
template<typename Integer >
int pyGetUnsignedObject (PyObject *iValue, Integer &oV)
template<typename Float >
int pyGetFloatObject (PyObject *iValue, Float &oV)
template<typename CppClass >
std::pair< std::string,
PyObject * > 
prepareClassForModuleInjection (const char *iModuleName, const char *iClassDocumentation)
bool isOfType (PyObject *iObject, PyTypeObject *iTypeObject)
template<typename ForwardIterator >
TPyObjPtr pyBuildTuple (ForwardIterator iB, ForwardIterator iE)
template<typename ForwardIterator >
TPyObjPtr pyBuildList (ForwardIterator iB, ForwardIterator iE)
template<typename InputIterator >
TPyObjPtr pyBuildMap (InputIterator iB, InputIterator iE)
template<typename Sequence >
int pyGetSequenceObject (PyObject *iValue, Sequence &oV)

Typedef Documentation

Definition at line 738 of file pyobject_plus.h.

Definition at line 815 of file pyobject_plus.h.

Definition at line 865 of file pyobject_plus.h.


Function Documentation

void lass::python::impl::fetchAndThrowPythonException ( const std::string &  loc  ) 

void lass::python::impl::handlePythonException ( const PythonException &  error  )  [inline]

void lass::python::impl::handleLassException ( const util::Exception &  error  )  [inline]

void lass::python::impl::handleStdException ( const std::exception &  error  )  [inline]

Definition at line 112 of file pyobject_call.inl.

template<typename R >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)()  iFunction 
) [inline]

calls C++ function without arguments

Definition at line 925 of file pyobject_call.inl.

References lass::python::decodeTuple().

template<typename R , typename P1 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1)  iFunction 
) [inline]

calls C++ function with 1 arguments, translated from python arguments

Definition at line 938 of file pyobject_call.inl.

template<typename R , typename P1 , typename P2 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1, P2)  iFunction 
) [inline]

calls C++ function with 2 arguments, translated from python arguments

Definition at line 954 of file pyobject_call.inl.

template<typename R , typename P1 , typename P2 , typename P3 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1, P2, P3)  iFunction 
) [inline]

calls C++ function with 3 arguments, translated from python arguments

Definition at line 971 of file pyobject_call.inl.

template<typename R , typename P1 , typename P2 , typename P3 , typename P4 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1, P2, P3, P4)  iFunction 
) [inline]

calls C++ function with 4 arguments, translated from python arguments

Definition at line 989 of file pyobject_call.inl.

template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1, P2, P3, P4, P5)  iFunction 
) [inline]

calls C++ function with 5 arguments, translated from python arguments

Definition at line 1008 of file pyobject_call.inl.

template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1, P2, P3, P4, P5, P6)  iFunction 
) [inline]

calls C++ function with 6 arguments, translated from python arguments

Definition at line 1028 of file pyobject_call.inl.

template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1, P2, P3, P4, P5, P6, P7)  iFunction 
) [inline]

calls C++ function with 7 arguments, translated from python arguments

Definition at line 1049 of file pyobject_call.inl.

template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1, P2, P3, P4, P5, P6, P7, P8)  iFunction 
) [inline]

calls C++ function with 8 arguments, translated from python arguments

Definition at line 1071 of file pyobject_call.inl.

template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1, P2, P3, P4, P5, P6, P7, P8, P9)  iFunction 
) [inline]

calls C++ function with 9 arguments, translated from python arguments

Definition at line 1094 of file pyobject_call.inl.

template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10)  iFunction 
) [inline]

calls C++ function with 10 arguments, translated from python arguments

Definition at line 1118 of file pyobject_call.inl.

template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11)  iFunction 
) [inline]

calls C++ function with 11 arguments, translated from python arguments

Definition at line 1143 of file pyobject_call.inl.

template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12)  iFunction 
) [inline]

calls C++ function with 12 arguments, translated from python arguments

Definition at line 1169 of file pyobject_call.inl.

template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 , typename P13 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13)  iFunction 
) [inline]

calls C++ function with 13 arguments, translated from python arguments

Definition at line 1196 of file pyobject_call.inl.

template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 , typename P13 , typename P14 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14)  iFunction 
) [inline]

calls C++ function with 14 arguments, translated from python arguments

Definition at line 1224 of file pyobject_call.inl.

template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 , typename P13 , typename P14 , typename P15 >
PyObject* lass::python::impl::callFunction ( PyObject *  args,
R(*)(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15)  iFunction 
) [inline]

calls C++ function with 15 arguments, translated from python arguments

Definition at line 1253 of file pyobject_call.inl.

template<class PyObjectClass >
PyObject * lass::python::impl::construct ( PyTypeObject *  iSubtype,
PyObject *  args 
) [inline]

allocate a new object with default constructor.

allocate a new object with 15 arguments.

allocate a new object with 14 arguments.

allocate a new object with 13 arguments.

allocate a new object with 12 arguments.

allocate a new object with 11 arguments.

allocate a new object with 10 arguments.

allocate a new object with 9 arguments.

allocate a new object with 8 arguments.

allocate a new object with 7 arguments.

allocate a new object with 6 arguments.

allocate a new object with 5 arguments.

allocate a new object with 4 arguments.

allocate a new object with 3 arguments.

allocate a new object with 2 arguments.

allocate a new object with 1 arguments.

Definition at line 3628 of file pyobject_call.inl.

References lass::python::decodeTuple(), fixObjectType(), and LASS_UTIL_PYOBJECT_CALL_CATCH_AND_RETURN.

LASS_DLL void LASS_CALL lass::python::impl::dealloc ( PyObject *  obj  ) 

Definition at line 150 of file pyobject_plus.cpp.

LASS_DLL PyObject *LASS_CALL lass::python::impl::repr ( PyObject *  obj  ) 

Definition at line 157 of file pyobject_plus.cpp.

References lass::python::pyBuildSimpleObject().

LASS_DLL PyObject *LASS_CALL lass::python::impl::str ( PyObject *  obj  ) 

Definition at line 164 of file pyobject_plus.cpp.

References lass::python::pyBuildSimpleObject().

const std::string lass::python::impl::exceptionExtractMessage ( const TPyObjPtr &  type,
const TPyObjPtr &  value 
)

Definition at line 172 of file pyobject_plus.cpp.

LASS_DLL StaticMember LASS_CALL lass::python::impl::createStaticMember ( const char *  iName,
const char *  iDocumentation,
const TStaticMemberHelperPtr &  iMember,
PyTypeObject *  iParentType,
std::vector< PyMethodDef > *  iMethods,
std::vector< PyGetSetDef > *  iGetSetters,
const TStaticMembers *  iStatics 
)

LASS_DLL PyMethodDef LASS_CALL lass::python::impl::createPyMethodDef ( const char *  ml_name,
PyCFunction  ml_meth,
int  ml_flags,
const char *  ml_doc 
)

LASS_DLL PyGetSetDef LASS_CALL lass::python::impl::createPyGetSetDef ( const char *  name,
getter  get,
setter  set,
const char *  doc,
void *  closure 
)

Definition at line 397 of file pyobject_plus.cpp.

LASS_DLL void LASS_CALL lass::python::impl::injectStaticMembers ( PyTypeObject &  iPyType,
const TStaticMembers &  iStatics 
)

Definition at line 410 of file pyobject_plus.cpp.

References finalizePyType().

Referenced by finalizePyType().

LASS_DLL void LASS_CALL lass::python::impl::finalizePyType ( PyTypeObject &  iPyType,
PyTypeObject &  iPyParentType,
std::vector< PyMethodDef > &  iMethods,
std::vector< PyGetSetDef > &  iGetSetters,
const TStaticMembers &  iStatics,
const char *  iModuleName,
const char *  iDocumentation 
)

LASS_DLL void LASS_CALL lass::python::impl::addModuleFunction ( std::vector< PyMethodDef > &  ioModuleMethods,
const char *  iMethodName,
const char *  iDocumentation,
PyCFunction  iMethodDispatcher,
PyCFunction &  oOverloadChain 
)

Definition at line 455 of file pyobject_plus.cpp.

References createPyMethodDef().

LASS_DLL void LASS_CALL lass::python::impl::addClassMethod ( PyTypeObject &  pyType,
std::vector< PyMethodDef > &  classMethods,
TCompareFuncs &  compareFuncs,
const char *  methodName,
const char *  documentation,
PyCFunction  dispatcher,
unaryfunc  dispatcherUnary,
binaryfunc  dispatcherBinary,
ternaryfunc  dispatcherTernary,
ssizeargfunc  dispatcherSsizeArg,
ssizessizeargfunc  dispatcherSsizeSsizeArg,
lenfunc  dispatcherLen,
ssizeobjargproc  dispatcherSsizeObjArgProc,
ssizessizeobjargproc  dispatcherSsizeSsizeObjArgProc,
objobjproc  dispatcherObjObjProc,
OverloadLink &  overloadChain 
)

LASS_DLL void LASS_CALL lass::python::impl::addMessageHeader ( const std::string &  iHeader  ) 

LASS_DLL bool LASS_CALL lass::python::impl::checkSequenceSize ( PyObject *  iValue,
Py_ssize_t  iExpectedSize 
)

Definition at line 636 of file pyobject_plus.cpp.

References Py_ssize_t.

Referenced by lass::python::decodeTuple().

LASS_DLL TPyObjPtr LASS_CALL lass::python::impl::checkedFastSequence ( PyObject *  iValue,
Py_ssize_t  iExpectedSize 
)

util::CriticalSection& lass::python::impl::referenceMutex (  )  [inline]

template<typename T >
T* lass::python::impl::fixObjectType ( T *  iObject  )  [inline]

template<PyCFunction DispatcherAddress>
PyObject * lass::python::impl::unaryDispatcher ( PyObject *  iSelf  )  [inline]

Definition at line 56 of file pyobject_plus.inl.

template<PyCFunction DispatcherAddress>
PyObject * lass::python::impl::binaryDispatcher ( PyObject *  iSelf,
PyObject *  other 
) [inline]

Definition at line 65 of file pyobject_plus.inl.

template<PyCFunction DispatcherAddress>
PyObject * lass::python::impl::ternaryDispatcher ( PyObject *  iSelf,
PyObject *  iArgs,
PyObject *  iKw 
) [inline]

Definition at line 74 of file pyobject_plus.inl.

template<PyCFunction DispatcherAddress>
PyObject * lass::python::impl::ssizeargDispatcher ( PyObject *  iSelf,
Py_ssize_t  iSize 
) [inline]

Definition at line 87 of file pyobject_plus.inl.

template<PyCFunction DispatcherAddress>
PyObject * lass::python::impl::ssizessizeargDispatcher ( PyObject *  iSelf,
Py_ssize_t  iSize,
Py_ssize_t  iSize2 
) [inline]

Definition at line 96 of file pyobject_plus.inl.

template<PyCFunction DispatcherAddress>
Py_ssize_t lass::python::impl::lenDispatcher ( PyObject *  iSelf  )  [inline]

Definition at line 105 of file pyobject_plus.inl.

template<PyCFunction DispatcherAddress>
int lass::python::impl::ssizeobjargDispatcher ( PyObject *  iSelf,
Py_ssize_t  iSize,
PyObject *  iOther 
) [inline]

Definition at line 117 of file pyobject_plus.inl.

template<PyCFunction DispatcherAddress>
int lass::python::impl::ssizessizeobjargDispatcher ( PyObject *  iSelf,
Py_ssize_t  iSize,
Py_ssize_t  iSize2,
PyObject *  iOther 
) [inline]

Definition at line 129 of file pyobject_plus.inl.

template<PyCFunction DispatcherAddress>
int lass::python::impl::objobjDispatcher ( PyObject *  iSelf,
PyObject *  iOther 
) [inline]

Definition at line 141 of file pyobject_plus.inl.

template<typename T >
TStaticMemberHelperPtr lass::python::impl::staticMemberHelperObject ( const T &  obj  )  [inline]

Definition at line 835 of file pyobject_plus.h.

Referenced by addClassStaticConst(), and addClassStaticMethod().

TStaticMemberHelperPtr lass::python::impl::staticMemberHelperType ( PyTypeObject *  type  )  [inline]

Definition at line 847 of file pyobject_plus.h.

Referenced by addClassInnerClass().

template<typename CppClass >
void lass::python::impl::injectClassInModule ( PyObject *  iModule,
const char *  iClassDocumentation 
) [inline]

Definition at line 167 of file pyobject_plus.inl.

template<typename CppClass >
void lass::python::impl::addClassStaticMethod ( const char *  iMethodName,
const char *  iDocumentation,
PyCFunction  iMethodDispatcher,
PyCFunction &  oOverloadChain 
) [inline]

template<typename CppClass , typename T >
void lass::python::impl::addClassStaticConst ( const char *  iName,
const T &  iValue 
) [inline]

Definition at line 285 of file pyobject_plus.inl.

References createStaticMember(), LASS_ASSERT, and staticMemberHelperObject().

template<typename InnerCppClass >
void lass::python::impl::addClassInnerClass ( TStaticMembers &  oOuterStatics,
const char *  iInnerClassName,
const char *  iDocumentation 
) [inline]

Definition at line 297 of file pyobject_plus.inl.

References createStaticMember(), LASS_ASSERT, and staticMemberHelperType().

template<typename In , typename Out >
int lass::python::impl::pyNumericCast ( In  iIn,
Out &  oV 
) [inline]

Definition at line 382 of file pyobject_plus.inl.

Referenced by pyGetFloatObject(), pyGetSignedObject(), and pyGetUnsignedObject().

template<typename Integer >
int lass::python::impl::pyGetSignedObject ( PyObject *  iValue,
Integer &  oV 
) [inline]

template<typename Integer >
int lass::python::impl::pyGetUnsignedObject ( PyObject *  iValue,
Integer &  oV 
) [inline]

template<typename Float >
int lass::python::impl::pyGetFloatObject ( PyObject *  iValue,
Float &  oV 
) [inline]

template<typename CppClass >
std::pair<std::string,PyObject*> lass::python::impl::prepareClassForModuleInjection ( const char *  iModuleName,
const char *  iClassDocumentation 
) [inline]

Definition at line 156 of file pyobject_plus.inl.

References finalizePyType().

bool lass::python::impl::isOfType ( PyObject *  iObject,
PyTypeObject *  iTypeObject 
) [inline]

template<typename ForwardIterator >
TPyObjPtr lass::python::impl::pyBuildTuple ( ForwardIterator  iB,
ForwardIterator  iE 
) [inline]

template<typename ForwardIterator >
TPyObjPtr lass::python::impl::pyBuildList ( ForwardIterator  iB,
ForwardIterator  iE 
) [inline]

template<typename InputIterator >
TPyObjPtr lass::python::impl::pyBuildMap ( InputIterator  iB,
InputIterator  iE 
) [inline]

Definition at line 93 of file util/pyobject_util.h.

References lass::python::pyBuildSimpleObject().

template<typename Sequence >
int lass::python::impl::pyGetSequenceObject ( PyObject *  iValue,
Sequence &  oV 
) [inline]


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