10 #ifdef CV_TRACK_ALIVE_SHARED_OBJECTS
14 #pragma warning(disable : 4530)
21 static std::vector<CCShareable*> s_aliveSharedObjects;
23 unsigned CCShareable::GetAliveCount() {
return s_aliveSharedObjects.size(); }
28 #ifdef CV_TRACK_ALIVE_SHARED_OBJECTS
29 s_aliveSharedObjects.push_back(
this);
43 #ifdef CV_TRACK_ALIVE_SHARED_OBJECTS
44 std::vector<CCShareable*>::iterator it;
45 for (it = s_aliveSharedObjects.begin(); it != s_aliveSharedObjects.end();
48 std::swap(*it, s_aliveSharedObjects.back());
49 s_aliveSharedObjects.pop_back();
virtual void link()
Increase counter.
virtual void release()
Decrease counter and deletes object when 0.
virtual ~CCShareable()
Destructor.
unsigned m_linkCount
Links counter.
CCShareable()
Default constructor.
void swap(cloudViewer::core::SmallVectorImpl< T > &LHS, cloudViewer::core::SmallVectorImpl< T > &RHS)
Implement std::swap in terms of SmallVector swap.