next up previous index
Next: The RTTI_DEF and Up: Automatic Creation of Previous: Automatic Creation of

The TYPE_DATA Macro

The TYPE_DATA macro expands into a set of declarations of static and virtual methods and members which have to be added to an application C++ class that wishes to use RTTI. More precisely, the following members are added:

        protected:                                               
           static  const  Type_info RTTI_obj;                    
           static  void*  RTTI_new(const Type_info*);             
        public:                                                   
           static  typeid RTTI_sinfo();
           virtual void*  RTTI_cast(typeid);                      
           virtual typeid RTTI_vinfo() const;

The member is the static Type_info which represents this class. has been described in the previous section. It creates a new object of this type and returns it as a pointer cast to the Type_info parameter. Both and return the member of this (the static method is used for the STATIC_TYPE_INFO operation while the other one by the TYPE_INFO operation). The last method, , returns a pointer to an object of this class cast to the typeid parameter and is used by the PTR_CAST operation.



Alexandru Telea