SHOGUN
4.2.0
|
shogun reference count managed data
Definition at line 21 of file SGReferencedData.h.
Public Member Functions | |
SGReferencedData (bool ref_counting=true) | |
SGReferencedData (const SGReferencedData &orig) | |
SGReferencedData & | operator= (const SGReferencedData &orig) |
virtual | ~SGReferencedData () |
int32_t | ref_count () |
Protected Member Functions | |
void | copy_refcount (const SGReferencedData &orig) |
int32_t | ref () |
int32_t | unref () |
virtual void | copy_data (const SGReferencedData &orig)=0 |
virtual void | init_data ()=0 |
virtual void | free_data ()=0 |
SGReferencedData | ( | bool | ref_counting = true | ) |
default constructor
Definition at line 8 of file SGReferencedData.cpp.
SGReferencedData | ( | const SGReferencedData & | orig | ) |
copy constructor
Definition at line 18 of file SGReferencedData.cpp.
|
virtual |
empty destructor
NOTE: unref() has to be called in derived classes to avoid memory leaks.
Definition at line 36 of file SGReferencedData.cpp.
|
protectedpure virtual |
needs to be overridden to copy data
Implemented in SGVector< T >, SGVector< uint32_t >, SGVector< float64_t >, SGVector< float32_t >, SGVector< int32_t >, SGVector< complex128_t >, SGVector< char >, SGVector< index_t >, SGVector< bool >, SGVector< uint64_t >, SGMatrix< T >, SGMatrix< uint32_t >, SGMatrix< double >, SGMatrix< ST >, SGMatrix< float64_t >, SGMatrix< int >, SGMatrix< float32_t >, SGMatrix< int32_t >, SGMatrix< uint16_t >, SGMatrix< index_t >, SGMatrix< bool >, SGSparseMatrix< T >, SGSparseVector< T >, SGSparseMatrix< ST >, SGSparseMatrix< float64_t >, SGSparseVector< ST >, SGSparseVector< float64_t >, SGNDArray< T >, SGNDArray< float64_t >, SGMatrixList< T >, SGMatrixList< float64_t >, SGMatrixList< ST >, and SGStringList< T >.
|
protected |
copy refcount
Definition at line 55 of file SGReferencedData.cpp.
|
protectedpure virtual |
needs to be overridden to free data
Implemented in SGVector< T >, SGVector< uint32_t >, SGVector< float64_t >, SGVector< float32_t >, SGVector< int32_t >, SGVector< complex128_t >, SGVector< char >, SGVector< index_t >, SGVector< bool >, SGVector< uint64_t >, SGMatrix< T >, SGMatrix< uint32_t >, SGMatrix< double >, SGMatrix< ST >, SGMatrix< float64_t >, SGMatrix< int >, SGMatrix< float32_t >, SGMatrix< int32_t >, SGMatrix< uint16_t >, SGMatrix< index_t >, SGMatrix< bool >, SGSparseMatrix< T >, SGSparseMatrix< ST >, SGSparseMatrix< float64_t >, SGSparseVector< T >, SGSparseVector< ST >, SGSparseVector< float64_t >, SGNDArray< T >, SGNDArray< float64_t >, SGMatrixList< T >, SGMatrixList< float64_t >, SGMatrixList< ST >, and SGStringList< T >.
|
protectedpure virtual |
needs to be overridden to initialize empty data
Implemented in SGVector< T >, SGVector< uint32_t >, SGVector< float64_t >, SGVector< float32_t >, SGVector< int32_t >, SGVector< complex128_t >, SGVector< char >, SGVector< index_t >, SGVector< bool >, SGVector< uint64_t >, SGMatrix< T >, SGMatrix< uint32_t >, SGMatrix< double >, SGMatrix< ST >, SGMatrix< float64_t >, SGMatrix< int >, SGMatrix< float32_t >, SGMatrix< int32_t >, SGMatrix< uint16_t >, SGMatrix< index_t >, SGMatrix< bool >, SGSparseMatrix< T >, SGSparseMatrix< ST >, SGSparseMatrix< float64_t >, SGSparseVector< T >, SGSparseVector< ST >, SGSparseVector< float64_t >, SGNDArray< T >, SGNDArray< float64_t >, SGMatrixList< T >, SGMatrixList< float64_t >, SGMatrixList< ST >, and SGStringList< T >.
SGReferencedData & operator= | ( | const SGReferencedData & | orig | ) |
override assignment operator to increase refcount on assignments
Definition at line 24 of file SGReferencedData.cpp.
|
protected |
increase reference counter
Definition at line 64 of file SGReferencedData.cpp.
int32_t ref_count | ( | ) |
display reference counter
Definition at line 41 of file SGReferencedData.cpp.
|
protected |
decrement reference counter and deallocate object if refcount is zero before or after decrementing it
Definition at line 84 of file SGReferencedData.cpp.