Changeset 9660 in orxonox.OLD for trunk/src/lib/lang/new_class_id.h
- Timestamp:
- Aug 20, 2006, 11:50:41 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lib/lang/new_class_id.h
r9659 r9660 12 12 #include <string> 13 13 14 #define DeclareClass(ClassName) \15 ClassIDDeclaration ClassID_##ClassName(ClassName)16 17 class ClassIDDeclaration18 {19 friend class NewClassID;20 public:21 ClassIDDeclaration(const std::string& name);22 ~ClassIDDeclaration();23 24 int id() const { return _id; };25 const std::string& name() const { return _name; };26 27 private:28 //! the copy constructor will be hidden.29 ClassIDDeclaration(const ClassIDDeclaration& definer) {};30 31 private:32 int _id;33 std::string _name;34 };35 36 37 14 //! A class to dynamically allocate ClassID's and support a isA operator 38 15 class NewClassID … … 42 19 ~NewClassID(); 43 20 44 45 46 static int classCount() { return _idCounter; };47 static void registerClass(ClassIDDeclaration* namer);48 static void unregisterClass(ClassIDDeclaration* namer);49 50 21 private: 51 std::set<ClassIDDeclaration> _types;52 22 std::string _className; 53 23 54 static int _idCounter; //!< A counter, that gives all classes a Unique ClassID. Access to this Variable is to be Thread-Safe.55 24 }; 56 25
Note: See TracChangeset
for help on using the changeset viewer.