53ShadowBaseCommon::ShadowBaseCommon()
57ShadowBaseCommon::~ShadowBaseCommon()
62TPyObjPtr ShadowBaseCommon::findShadowObject(TShadoweeID shadoweeID, ShadoweeConstness constness)
69 auto i = c.find(TCacheKey(shadoweeID, constness));
78void ShadowBaseCommon::registerShadowee(TShadoweeID shadoweeID, ShadoweeConstness constness)
84 auto r = cache().emplace(TCacheKey(shadoweeID, constness),
this);
85 LASS_ENFORCE(r.second);
89void ShadowBaseCommon::unregisterShadowee(TShadoweeID shadoweeID, ShadoweeConstness constness)
100 auto i = c.find(TCacheKey(shadoweeID, constness));
101 LASS_ENFORCE(i != c.end() && i->second ==
this);
106ShadowBaseCommon::TCache& ShadowBaseCommon::cache()
108 static TCache cache_;
PyObjectPtr< PyObject >::Type TPyObjPtr
PyObjectPtr to a PyObject.
lass::util::SharedPtr< T, PyObjectStorage, PyObjectCounter > fromNakedToSharedPtrCast(PyObject *object)
fromNakedToSharedPtrCast.
Comprehensive C++ to Python binding library.
Library for Assembled Shared Sources.