7 using namespace shogun;
46 if (m_refcount == NULL)
52 SG_SGCDEBUG(
"ref_count(): refcount %d, data %p\n", c,
this)
60 m_refcount = orig.m_refcount;
69 if (m_refcount == NULL)
74 int32_t c = m_refcount->
ref();
77 SG_SGCDEBUG(
"ref() refcount %ld data %p increased\n", c,
this)
89 if (m_refcount == NULL)
96 int32_t c = m_refcount->
unref();
100 #ifdef DEBUG_SGVECTOR
101 SG_SGCDEBUG(
"unref() refcount %d data %p destroying\n", c,
this)
110 #ifdef DEBUG_SGVECTOR
111 SG_SGCDEBUG(
"unref() refcount %d data %p decreased\n", c,
this)
virtual void init_data()=0
virtual void copy_data(const SGReferencedData &orig)=0
virtual ~SGReferencedData()
SGReferencedData(bool ref_counting=true)
void copy_refcount(const SGReferencedData &orig)
virtual void free_data()=0
shogun reference count managed data
SGReferencedData & operator=(const SGReferencedData &orig)