MeixnerGC
1.0
|
#include <gc_ptr.h>
Public Member Functions | |
gc_ptr () | |
gc_ptr (nullptr_t) | |
gc_ptr (const gc_ptr &o) | |
gc_ptr (gc_ptr &&o) | |
gc_ptr (const gc_base_ptr &o, T *p) | |
template<class U > | |
gc_ptr (const gc_ptr< U > &o) | |
gc_ptr & | operator= (const gc_ptr &o) |
gc_ptr & | operator= (gc_ptr &&o) |
gc_ptr & | operator= (nullptr_t) |
T * | get () const noexcept |
operator T * () const noexcept | |
T & | operator* () const noexcept |
T * | operator-> () const noexcept |
T & | operator[] (int idx) const noexcept |
void | reset () |
gc_ptr< T > & | operator++ () noexcept |
gc_ptr< T > & | operator-- () noexcept |
gc_ptr< T > | operator++ (int) noexcept |
gc_ptr< T > | operator-- (int) noexcept |
template<class U > | |
gc_ptr< T > & | operator+= (const U &z) noexcept |
template<class U > | |
gc_ptr< T > & | operator-= (const U &z) noexcept |
Public Member Functions inherited from gc_base_ptr | |
gc_base_ptr (gc_object *c=nullptr) | |
gc_base_ptr (const gc_base_ptr &o) | |
gc_base_ptr (gc_base_ptr &&o) | |
void | operator= (nullptr_t) |
void | operator= (const gc_base_ptr &o) |
void | operator= (gc_base_ptr &&o) |
void | reset () |
~gc_base_ptr () | |
Protected Attributes | |
T * | ptr |
Protected Attributes inherited from gc_base_ptr | |
enum gc_base_ptr::PtrType | type |
std::atomic< gc_base_ptr * > | next |
std::atomic< gc_object * > | object |
Friends | |
template<class U > | |
class | gc_ptr |
Additional Inherited Members | |
Protected Types inherited from gc_base_ptr | |
enum | PtrType { ROOT, GC_HEAP } |
garbage collected pointer
copy constructor
[in] | o | pointer to be copied |
move constructor
[in] | o | pointer to be moved |
|
inline |
aliasing constructor, the pointer p is stored, but references to o are set up. This is useful, when the pointer points to an inner element of o
[in] | o | referenced object, used for garbage collection |
[in] | p | pointer |
cast constructor
[in] | o | pointer to be copied |
|
inlinenoexcept |
get pointer
|
inlinenoexcept |
get pointer
|
inlinenoexcept |
dereference pointer
|
inlinenoexcept |
+= operator
|
inlinenoexcept |
-= operator
|
inlinenoexcept |
access via pointer
assignment operator, emulates standard C++ casting rules
[in] | o | pointer to be assigned. |
move operator, emulates standard C++ casting rules
[in] | o | pointer to be assigned. |
|
inlinenoexcept |
array access
|
inline |
reset pointer to null
|
protected |
managed pointer