Object() { mMutex = NULL; mReferenceCount = 0; mAutomaticDelete = true; #ifndef NDEBUG mName = "Object"; #endif #if VL_DEBUG_LIVING_OBJECTS && !defined(NDEBUG) debug_living_objects()->insert(this); // mDebug_LivingObjects.insert(this); #endif }
Object(const Object& other) { // copy the name only mName = other.mName; // mMutex, mReferenceCount and mAutomaticDelete are not copiable. mMutex = NULL; mReferenceCount = 0; mAutomaticDelete = true; // debug living object #if VL_DEBUG_LIVING_OBJECTS && !defined(NDEBUG) debug_living_objects()->insert(this); // mDebug_LivingObjects.insert(this); #endif }
//! Constructor. Object() { VL_DEBUG_SET_OBJECT_NAME() mRefCountMutex = NULL; mReferenceCount = 0; mAutomaticDelete = true; // user data #ifdef VL_USER_DATA_OBJECT mUserData = NULL; #endif #if VL_DEBUG_LIVING_OBJECTS debug_living_objects()->insert(this); // mDebug_LivingObjects.insert(this); #endif }
//! Copy constructor: copies the name, ref count mutex and user data. Object(const Object& other) { // copy the name, the ref count mutex and the user data. mObjectName = other.mObjectName; mRefCountMutex = other.mRefCountMutex; #ifdef VL_USER_DATA_OBJECT mUserData = other.mUserData; #endif // mReferenceCount and mAutomaticDelete are not copiable. mReferenceCount = 0; mAutomaticDelete = true; // debug living object #if VL_DEBUG_LIVING_OBJECTS debug_living_objects()->insert(this); #endif }