Binary Ninja API C++: RefCount
◆ BinaryNinja::RefCountObject
class BinaryNinja::RefCountObject
Public Member Functions | |
| RefCountObject () | |
| virtual | ~RefCountObject () |
| RefCountObject * | GetObject () |
| void | AddRef () |
| void | Release () |
Static Public Member Functions | |
| static RefCountObject * | GetObject (RefCountObject *obj) |
Public Attributes | |
| std::atomic< int > | m_refs |
◆ RefCountObject()
|
inline |
◆ ~RefCountObject()
|
inlinevirtual |
◆ GetObject() [1/2]
|
inline |
◆ GetObject() [2/2]
|
inlinestatic |
◆ AddRef()
|
inline |
◆ Release()
|
inline |
◆ m_refs
std::atomic<int> BinaryNinja::RefCountObject::m_refs
◆ BinaryNinja::CoreRefCountObject
class BinaryNinja::CoreRefCountObject
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
class BinaryNinja::CoreRefCountObject< T, AddObjectReference, FreeObjectReference >
Public Member Functions | |
| CoreRefCountObject () | |
| virtual | ~CoreRefCountObject () |
| T * | GetObject () const |
| void | AddRef () |
| void | Release () |
| void | AddRefForRegistration () |
| void | ReleaseForRegistration () |
| void | AddRefForCallback () |
| void | ReleaseForCallback () |
Static Public Member Functions | |
| static T * | GetObject (CoreRefCountObject *obj) |
| static T * | GetObject (const CoreRefCountObject *obj) |
Public Attributes | |
| std::atomic< int > | m_refs |
| bool | m_registeredRef = false |
| T * | m_object |
◆ CoreRefCountObject()
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
|
inline |
◆ ~CoreRefCountObject()
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
|
inlinevirtual |
◆ GetObject() [1/3]
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
|
inline |
◆ GetObject() [2/3]
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
|
inlinestatic |
◆ GetObject() [3/3]
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
|
inlinestatic |
◆ AddRef()
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
|
inline |
◆ Release()
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
|
inline |
◆ AddRefForRegistration()
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
|
inline |
◆ ReleaseForRegistration()
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
|
inline |
◆ AddRefForCallback()
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
|
inline |
◆ ReleaseForCallback()
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
|
inline |
◆ m_refs
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
std::atomic<int> BinaryNinja::CoreRefCountObject< T, AddObjectReference, FreeObjectReference >::m_refs
◆ m_registeredRef
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
bool BinaryNinja::CoreRefCountObject< T, AddObjectReference, FreeObjectReference >::m_registeredRef = false
◆ m_object
template<class T, T *(*)(T *) AddObjectReference, void(*)(T *) FreeObjectReference>
T* BinaryNinja::CoreRefCountObject< T, AddObjectReference, FreeObjectReference >::m_object
◆ BinaryNinja::StaticCoreRefCountObject
class BinaryNinja::StaticCoreRefCountObject
template<class T>
class BinaryNinja::StaticCoreRefCountObject< T >
Public Member Functions | |
| StaticCoreRefCountObject () | |
| virtual | ~StaticCoreRefCountObject () |
| T * | GetObject () const |
| void | AddRef () |
| void | Release () |
| void | AddRefForRegistration () |
| void | AddRefForCallback () |
| void | ReleaseForCallback () |
Static Public Member Functions | |
| static T * | GetObject (const StaticCoreRefCountObject *obj) |
Public Attributes | |
| std::atomic< int > | m_refs |
| T * | m_object |
◆ StaticCoreRefCountObject()
template<class T>
|
inline |
◆ ~StaticCoreRefCountObject()
template<class T>
|
inlinevirtual |
◆ GetObject() [1/2]
template<class T>
|
inline |
◆ GetObject() [2/2]
template<class T>
|
inlinestatic |
◆ AddRef()
template<class T>
|
inline |
◆ Release()
template<class T>
|
inline |
◆ AddRefForRegistration()
template<class T>
|
inline |
◆ AddRefForCallback()
template<class T>
|
inline |
◆ ReleaseForCallback()
template<class T>
|
inline |
◆ m_refs
template<class T>
std::atomic<int> BinaryNinja::StaticCoreRefCountObject< T >::m_refs
◆ m_object
◆ BinaryNinja::Ref
template<class T>
class BinaryNinja::Ref< T >
Public Member Functions | |
| Ref () | |
| Ref (T *obj) | |
| Ref (const Ref< T > &obj) | |
| Ref (Ref< T > &&other) | |
| ~Ref () | |
| Ref< T > & | operator= (const Ref< T > &obj) |
| Ref< T > & | operator= (Ref< T > &&other) |
| Ref< T > & | operator= (T *obj) |
| operator T* () const | |
| T * | operator-> () const |
| T & | operator* () const |
| bool | operator! () const |
| bool | operator== (T *obj) const |
| bool | operator== (const Ref< T > &obj) const |
| bool | operator!= (T *obj) const |
| bool | operator!= (const Ref< T > &obj) const |
| bool | operator< (T *obj) const |
| bool | operator< (const Ref< T > &obj) const |
| bool | operator> (T *obj) const |
| bool | operator> (const Ref< T > &obj) const |
| T * | GetPtr () const |
◆ Ref() [1/4]
template<class T>
|
inline |
◆ Ref() [2/4]
template<class T>
|
inline |
◆ Ref() [3/4]
template<class T>
|
inline |
◆ Ref() [4/4]
template<class T>
|
inline |
◆ ~Ref()
template<class T>
|
inline |
◆ operator=() [1/3]
template<class T>
|
inline |
◆ operator=() [2/3]
template<class T>
|
inline |
◆ operator=() [3/3]
template<class T>
|
inline |
◆ operator T*()
template<class T>
|
inline |
◆ operator->()
template<class T>
|
inline |
◆ operator*()
template<class T>
|
inline |
◆ operator!()
template<class T>
|
inline |
◆ operator==() [1/2]
template<class T>
|
inline |
◆ operator==() [2/2]
template<class T>
|
inline |
◆ operator!=() [1/2]
template<class T>
|
inline |
◆ operator!=() [2/2]
template<class T>
|
inline |
◆ operator<() [1/2]
template<class T>
|
inline |
◆ operator<() [2/2]
template<class T>
|
inline |
◆ operator>() [1/2]
template<class T>
|
inline |
◆ operator>() [2/2]
template<class T>
|
inline |
◆ GetPtr()
template<class T>
|
inline |
◆ BinaryNinja::CallbackRef
class BinaryNinja::CallbackRef
template<class T>
class BinaryNinja::CallbackRef< T >
Public Member Functions | |
| CallbackRef (void *obj) | |
| ~CallbackRef () | |
| operator T* () const | |
| T * | operator-> () const |
| T & | operator* () const |
| bool | operator== (T *obj) const |
| bool | operator== (const Ref< T > &obj) const |
| bool | operator!= (T *obj) const |
| bool | operator!= (const Ref< T > &obj) const |
| bool | operator< (T *obj) const |
| bool | operator< (const Ref< T > &obj) const |
| T * | GetPtr () const |
◆ CallbackRef()
template<class T>
|
inline |
◆ ~CallbackRef()
template<class T>
|
inline |
◆ operator T*()
template<class T>
|
inline |
◆ operator->()
template<class T>
|
inline |
◆ operator*()
template<class T>
|
inline |
◆ operator==() [1/2]
template<class T>
|
inline |
◆ operator==() [2/2]
template<class T>
|
inline |
◆ operator!=() [1/2]
template<class T>
|
inline |
◆ operator!=() [2/2]
template<class T>
|
inline |
◆ operator<() [1/2]
template<class T>
|
inline |
◆ operator<() [2/2]
template<class T>
|
inline |
◆ GetPtr()
template<class T>
|
inline |