Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changes between Initial Version and Version 1 of code/doc/ClassIdentifier


Ignore:
Timestamp:
Feb 24, 2008, 11:51:55 PM (16 years ago)
Author:
landauf
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • code/doc/ClassIdentifier

    v1 v1  
     1= !ClassIdentifier =
     2
     3== Description ==
     4
     5The ClassIdentifier is a template, inherited from [wiki:Identifier], containing all class specific functions for the class represented by the [wiki:Identifier]. In fact this is only the [wiki:ObjectList].
     6
     7The constructor of ClassIdentifier is private. Only [wiki:IdentifierDistributor] is allowed to create and distribute new instances. (In fact only '''one''' instance per template-class. This is '''very''' important.)
     8
     9You can't access the ClassIdentifier of a class directly. Use [wiki:ClassManager]<ClassName>::getIdentifier() instead. The macro Class(classname) (include [wiki:CoreIncludes CoreIncludes.h] to use it) returns the ClassIdentifier of the given class. In fact this is only an abbreviation of ClassManager<ClassName>::getIdentifier().
     10
     11Every class that uses the !RegisterObject(classname) or !RegisterRootObject(interfacename) macro (see [wiki:CoreIncludes]) is represented by an [wiki:Identifier], that stores all objects of this class (and of all inherited classes) in a [wiki:ObjectList]. The object gets removed from the list if it gets deleted. This is handled by the destructor of [wiki:OrxonoxClass] and the [wiki:MetaObjectList].
     12
     13You can iterate through all objects in a [wiki:ObjectList] by using an [wiki:Iterator]. Read the related Wiki-page to get more informations.