Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 5804


Ignore:
Timestamp:
Sep 26, 2009, 11:16:49 PM (15 years ago)
Author:
landauf
Message:

added SmartPtr class

Location:
code/branches/core5/src/libraries/core
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • code/branches/core5/src/libraries/core/CorePrereqs.h

    r5779 r5804  
    155155    class ShellListener;
    156156    template <class T>
     157    class SmartPtr;
     158    template <class T>
    157159    class SubclassIdentifier;
    158160    class TclBind;
     
    162164    class TclThreadManager;
    163165    class Template;
     166    template <class T>
     167    class WeakPtr;
    164168    class WindowEventListener;
    165169    class XMLFile;
  • code/branches/core5/src/libraries/core/OrxonoxClass.cc

    r5791 r5804  
    5252    OrxonoxClass::~OrxonoxClass()
    5353    {
     54//        if (!this->requestedDestruction_)
     55//            COUT(2) << "Warning: Destroyed object without destroy() (" << this->getIdentifier()->getName() << ")" << std::endl;
     56
     57        assert(this->referenceCount_ == 0);
     58
    5459        delete this->metaList_;
    5560
     
    6267    void OrxonoxClass::destroy()
    6368    {
    64         if (this->referenceCount_ > 0)
    65             this->requestedDestruction_ = true;
    66         else
     69        this->requestedDestruction_ = true;
     70        if (this->referenceCount_ == 0)
    6771            delete this;
    6872    }
  • code/branches/core5/src/libraries/core/OrxonoxClass.h

    r5791 r5804  
    5454        template <class T>
    5555        friend class ClassIdentifier;
     56
     57        template <class T>
     58        friend class SmartPtr;
    5659
    5760        public:
Note: See TracChangeset for help on using the changeset viewer.