cpython_ref.h File Reference

Classes

class  CPyInterface
 
class  CPyTypeInterface
 
class  CPyFrameInterface
 
class  CPyTracebackInterface
 
class  CPyCodeInterface
 
class  MPyClassInterface
 
class  MPyMemberInterface
 
class  MPyFunctionInterface
 
class  MPyHashMapInterface
 
class  MPyDataTypeInterface
 
class  MPyDataInterface
 
class  MPyCallerContextInterface
 
class  CPyCompare< T >
 
class  CPyRef
 
class  CPyTypeRef
 
class  CPyFrameRef
 
class  CPyTracebackRef
 
class  CPyCodeRef
 
class  MPyClassRef
 
class  MPyMemberRef
 
class  MPyFunctionRef
 
class  MPyHashMapRef
 
class  MPyDataTypeRef
 
class  MPyDataRef
 
class  MPyCallerContextRef
 
class  CPyConstRef
 
class  CPyTypeConstRef
 
class  CPyTempRef
 

Namespaces

 maxon
 
 maxon::py
 
 maxon::py::CPyReferences3
 

Enumerations

enum class  REFTYPE {
  DECREF ,
  BORROWED ,
  PRIVATE_SHORTTERM_BORROWED ,
  PRIVATE_MUST_NOT_BE_USED_ANYMORE
}
 

Functions

enum maxon::py::REFTYPE MAXON_ENUM_LIST (REFTYPE)
 
template<typename T >
std::enable_if< STD_IS_REPLACEMENT(same, T, py::CPyRef), T >::type CPyCast (const CPyRef &o)
 
template<typename T >
std::enable_if< STD_IS_REPLACEMENT(same, T, py::CPyTypeRef), T >::type CPyCast (const CPyRef &o)
 
template<typename T >
std::enable_if< STD_IS_REPLACEMENT(same, T, py::CPyFrameRef), T >::type CPyCast (const CPyRef &o)
 
template<typename T >
std::enable_if< STD_IS_REPLACEMENT(same, T, py::CPyTracebackRef), T >::type CPyCast (const CPyRef &o)
 
template<typename T >
std::enable_if< STD_IS_REPLACEMENT(same, T, py::CPyCodeRef), T >::type CPyCast (const CPyRef &o)
 
template<typename T >
std::enable_if< STD_IS_REPLACEMENT(same, T, py::MPyClassRef), T >::type CPyCast (const CPyRef &o)
 
template<typename T >
std::enable_if< STD_IS_REPLACEMENT(same, T, py::MPyMemberRef), T >::type CPyCast (const CPyRef &o)
 
template<typename T >
std::enable_if< STD_IS_REPLACEMENT(same, T, py::MPyFunctionRef), T >::type CPyCast (const CPyRef &o)
 
template<typename T >
std::enable_if< STD_IS_REPLACEMENT(same, T, py::MPyHashMapRef), T >::type CPyCast (const CPyRef &o)
 
template<typename T >
std::enable_if< STD_IS_REPLACEMENT(same, T, py::MPyDataTypeRef), T >::type CPyCast (const CPyRef &o)
 
template<typename T >
std::enable_if< STD_IS_REPLACEMENT(same, T, py::MPyDataRef), T >::type CPyCast (const CPyRef &o)
 
template<typename T >
std::enable_if< STD_IS_REPLACEMENT(same, T, py::MPyCallerContextRef), T >::type CPyCast (const CPyRef &o)
 
 MAXON_REGISTRY (Class< CPyRef >, CPyReferences3, "net.maxon.python.registry.pyreferences3")
 
 MAXON_DECLARATION (Class< CPyRef >, CPy, "net.maxon.python.pyreference3.cpy")
 
 MAXON_DECLARATION (Class< CPyTypeRef >, CPyType, "net.maxon.python.pyreference3.cpytype")
 
 MAXON_DECLARATION (Class< CPyFrameRef >, CPyFrame, "net.maxon.python.pyreference3.cpyframe")
 
 MAXON_DECLARATION (Class< CPyTracebackRef >, CPyTraceback, "net.maxon.python.pyreference3.cpytraceback")
 
 MAXON_DECLARATION (Class< CPyCodeRef >, CPyCode, "net.maxon.python.pyreference3.cpycode")
 
 MAXON_DECLARATION (Class< MPyClassRef >, MPyClass, "net.maxon.python.pyreference3.mpyclass")
 
 MAXON_DECLARATION (Class< MPyMemberRef >, MPyMember, "net.maxon.python.pyreference3.mpymember")
 
 MAXON_DECLARATION (Class< MPyFunctionRef >, MPyFunction, "net.maxon.python.pyreference3.mpyfunction")
 
 MAXON_DECLARATION (Class< MPyHashMapRef >, MPyHashMap, "net.maxon.python.pyreference3.mpyhashmap")
 
 MAXON_DECLARATION (Class< MPyDataTypeRef >, MPyDataType, "net.maxon.python.pyreference3.mpydatatype")
 
 MAXON_DECLARATION (Class< MPyDataRef >, MPyData, "net.maxon.python.pyreference3.mpydata")
 
 MAXON_DECLARATION (Class< MPyCallerContextRef >, MPyCallerContext, "net.maxon.python.pyreference3.mpycallercontext")
 

Variables

 DECREF
 
 BORROWED
 
 PRIVATE_SHORTTERM_BORROWED
 
 PRIVATE_MUST_NOT_BE_USED_ANYMORE
 

Variable Documentation

◆ DECREF

DECREF

The NativePyObject is new and just needs to be decrefed after the CPyRef instance is destructed.

◆ BORROWED

BORROWED

The NativePyObject is borrowed and the CPyRef needs to incref it internally, and decref it after the CPyRef instance is destructed.

◆ PRIVATE_SHORTTERM_BORROWED

PRIVATE_SHORTTERM_BORROWED

No refcount handling is performed on the passed NativePyObject.

◆ PRIVATE_MUST_NOT_BE_USED_ANYMORE

PRIVATE_MUST_NOT_BE_USED_ANYMORE

Indicates that the CPyRef is not supposed to be used anymore and should be destructed as soon as possible.