MeixnerGC
1.0
|
#include <gc_ptr.h>
Public Member Functions | |
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 Types | |
enum | PtrType { ROOT, GC_HEAP } |
Protected Attributes | |
enum gc_base_ptr::PtrType | type |
std::atomic< gc_base_ptr * > | next |
std::atomic< gc_object * > | object |
Friends | |
void | gc_collect () |
base class for gc_ptr containing all shared code
|
protected |
|
explicit |
constructor
|
inline |
copy constructor
gc_base_ptr::gc_base_ptr | ( | gc_base_ptr && | o | ) |
move constructor
gc_base_ptr::~gc_base_ptr | ( | ) |
destructor
void gc_base_ptr::operator= | ( | nullptr_t | ) |
assignment operator
void gc_base_ptr::operator= | ( | const gc_base_ptr & | o | ) |
assignment operator
void gc_base_ptr::operator= | ( | gc_base_ptr && | o | ) |
move assignment operator
void gc_base_ptr::reset | ( | ) |
reset to nullptr
|
friend |
manually trigger garbage collection. Normally this is not required as the collection starts automatically. It may be useful in low-memory situations to force a garbage collection.
|
protected |
pointer to next gc_ptr within the same allocated object
|
protected |
pointer to the object
|
protected |
pointer type