Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jul 9, 2009, 8:27:59 PM (15 years ago)
Author:
rgrieder
Message:

Modifying some strange template function declarations to avoid forward declaring a non-existent type (like class B).

Location:
code/branches/core4/src/core
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/branches/core4/src/core/OrxonoxClass.cc

    r3196 r3271  
    7878
    7979    /** @brief Returns true if the objects class is of the given type or a derivative. */
    80     bool OrxonoxClass::isA(const SubclassIdentifier<class B>* identifier)
     80    template <class B> bool OrxonoxClass::isA(const SubclassIdentifier<B>* identifier)
    8181        { return this->getIdentifier()->isA(identifier->getIdentifier()); }
    8282    /** @brief Returns true if the objects class is exactly of the given type. */
    83     bool OrxonoxClass::isExactlyA(const SubclassIdentifier<class B>* identifier)
     83    template <class B> bool OrxonoxClass::isExactlyA(const SubclassIdentifier<B>* identifier)
    8484        { return this->getIdentifier()->isExactlyA(identifier->getIdentifier()); }
    8585    /** @brief Returns true if the objects class is a child of the given type. */
    86     bool OrxonoxClass::isChildOf(const SubclassIdentifier<class B>* identifier)
     86    template <class B> bool OrxonoxClass::isChildOf(const SubclassIdentifier<B>* identifier)
    8787        { return this->getIdentifier()->isChildOf(identifier->getIdentifier()); }
    8888    /** @brief Returns true if the objects class is a direct child of the given type. */
    89     bool OrxonoxClass::isDirectChildOf(const SubclassIdentifier<class B>* identifier)
     89    template <class B> bool OrxonoxClass::isDirectChildOf(const SubclassIdentifier<B>* identifier)
    9090        { return this->getIdentifier()->isDirectChildOf(identifier->getIdentifier()); }
    9191    /** @brief Returns true if the objects class is a parent of the given type. */
    92     bool OrxonoxClass::isParentOf(const SubclassIdentifier<class B>* identifier)
     92    template <class B> bool OrxonoxClass::isParentOf(const SubclassIdentifier<B>* identifier)
    9393        { return this->getIdentifier()->isParentOf(identifier->getIdentifier()); }
    9494    /** @brief Returns true if the objects class is a direct parent of the given type. */
    95     bool OrxonoxClass::isDirectParentOf(const SubclassIdentifier<class B>* identifier)
     95    template <class B> bool OrxonoxClass::isDirectParentOf(const SubclassIdentifier<B>* identifier)
    9696        { return this->getIdentifier()->isDirectParentOf(identifier->getIdentifier()); }
    9797
    9898
    9999    /** @brief Returns true if the objects class is of the given type or a derivative. */
    100     bool OrxonoxClass::isA(const SubclassIdentifier<class B> identifier)
     100    template <class B> bool OrxonoxClass::isA(const SubclassIdentifier<B> identifier)
    101101        { return this->getIdentifier()->isA(identifier.getIdentifier()); }
    102102    /** @brief Returns true if the objects class is exactly of the given type. */
    103     bool OrxonoxClass::isExactlyA(const SubclassIdentifier<class B> identifier)
     103    template <class B> bool OrxonoxClass::isExactlyA(const SubclassIdentifier<B> identifier)
    104104        { return this->getIdentifier()->isExactlyA(identifier.getIdentifier()); }
    105105    /** @brief Returns true if the objects class is a child of the given type. */
    106     bool OrxonoxClass::isChildOf(const SubclassIdentifier<class B> identifier)
     106    template <class B> bool OrxonoxClass::isChildOf(const SubclassIdentifier<B> identifier)
    107107        { return this->getIdentifier()->isChildOf(identifier.getIdentifier()); }
    108108    /** @brief Returns true if the objects class is a direct child of the given type. */
    109     bool OrxonoxClass::isDirectChildOf(const SubclassIdentifier<class B> identifier)
     109    template <class B> bool OrxonoxClass::isDirectChildOf(const SubclassIdentifier<B> identifier)
    110110        { return this->getIdentifier()->isDirectChildOf(identifier.getIdentifier()); }
    111111    /** @brief Returns true if the objects class is a parent of the given type. */
    112     bool OrxonoxClass::isParentOf(const SubclassIdentifier<class B> identifier)
     112    template <class B> bool OrxonoxClass::isParentOf(const SubclassIdentifier<B> identifier)
    113113        { return this->getIdentifier()->isParentOf(identifier.getIdentifier()); }
    114114    /** @brief Returns true if the objects class is a direct parent of the given type. */
    115     bool OrxonoxClass::isDirectParentOf(const SubclassIdentifier<class B> identifier)
     115    template <class B> bool OrxonoxClass::isDirectParentOf(const SubclassIdentifier<B> identifier)
    116116        { return this->getIdentifier()->isDirectParentOf(identifier.getIdentifier()); }
    117117
  • code/branches/core4/src/core/OrxonoxClass.h

    r3224 r3271  
    7070            bool isDirectParentOf(const Identifier* identifier);
    7171
    72             bool isA(const SubclassIdentifier<class B>* identifier);
    73             bool isExactlyA(const SubclassIdentifier<class B>* identifier);
    74             bool isChildOf(const SubclassIdentifier<class B>* identifier);
    75             bool isDirectChildOf(const SubclassIdentifier<class B>* identifier);
    76             bool isParentOf(const SubclassIdentifier<class B>* identifier);
    77             bool isDirectParentOf(const SubclassIdentifier<class B>* identifier);
     72            template <class B> bool isA(const SubclassIdentifier<B>* identifier);
     73            template <class B> bool isExactlyA(const SubclassIdentifier<B>* identifier);
     74            template <class B> bool isChildOf(const SubclassIdentifier<B>* identifier);
     75            template <class B> bool isDirectChildOf(const SubclassIdentifier<B>* identifier);
     76            template <class B> bool isParentOf(const SubclassIdentifier<B>* identifier);
     77            template <class B> bool isDirectParentOf(const SubclassIdentifier<B>* identifier);
    7878
    79             bool isA(const SubclassIdentifier<class B> identifier);
    80             bool isExactlyA(const SubclassIdentifier<class B> identifier);
    81             bool isChildOf(const SubclassIdentifier<class B> identifier);
    82             bool isDirectChildOf(const SubclassIdentifier<class B> identifier);
    83             bool isParentOf(const SubclassIdentifier<class B> identifier);
    84             bool isDirectParentOf(const SubclassIdentifier<class B> identifier);
     79            template <class B> bool isA(const SubclassIdentifier<B> identifier);
     80            template <class B> bool isExactlyA(const SubclassIdentifier<B> identifier);
     81            template <class B> bool isChildOf(const SubclassIdentifier<B> identifier);
     82            template <class B> bool isDirectChildOf(const SubclassIdentifier<B> identifier);
     83            template <class B> bool isParentOf(const SubclassIdentifier<B> identifier);
     84            template <class B> bool isDirectParentOf(const SubclassIdentifier<B> identifier);
    8585
    8686            bool isA(const OrxonoxClass* object);
Note: See TracChangeset for help on using the changeset viewer.