Inheritance diagram for osgIntrospection::Reflector< T >:
Public Types | |
typedef T | reflected_type |
typedef Reflector< T > | inherited |
Public Member Functions | |
virtual | ~Reflector () |
Virtual destructor. | |
Protected Member Functions | |
Reflector (const std::string &name, const std::string &ns, bool abstract=false) | |
Direct initialization constructor. | |
Reflector (const std::string &qname, bool abstract=false) | |
Direct initialization constructor. | |
Type * | getType () |
Returns the Type object being described. | |
void | addBaseType (const Type &type) |
Declares a new base type for the current type. | |
void | setComparator (const Comparator *cmp) |
Sets the comparator object for the current type. | |
PropertyInfo * | addProperty (PropertyInfo *pi) |
Adds a property description to the current type. | |
MethodInfo * | addMethod (MethodInfo *mi) |
Adds a method description to the current type. | |
void | addEnumLabel (int v, const std::string &label, bool strip_namespace=true) |
Adds an enumeration label to the current type. | |
ConstructorInfo * | addConstructor (ConstructorInfo *ci) |
Adds a constructor description to the current type. | |
std::string | qualifyName (const std::string &name) const |
Returns a string containing the qualified version of 'name'. | |
CustomAttributeProvider * | addAttribute (const CustomAttribute *attrib) |
Adds a custom attribute to the type being described. | |
void | setReaderWriter (const ReaderWriter *rw) |
Sets the current type's ReaderWriter object. |
If the type to be described is simple and doesn't require additional details such as properties and methods, it can be reflected by simply creating a global instance of one of the classes derived from Reflector, for example ValueReflector. Other types may need further information and therefore it could be necessary to create a new subclass of Reflector or extend one of the existing subclasses. The reflected type can be set by calling Reflector's protected methods.
NOTE: when you create a Reflector for type T, it will automatically create descriptions for types T* and const T*. You should NEVER create reflectors for pointer types explicitely.
|
Reimplemented in osgIntrospection::ValueReflector< T >, osgIntrospection::AbstractObjectReflector< T >, osgIntrospection::ObjectReflector< T >, and osgIntrospection::EnumReflector< T >. |
|
|
|
Virtual destructor.
|
|
Direct initialization constructor. Parameter 'name' is the name of the type being reflected and 'ns' is its namespace. |
|
Direct initialization constructor. Parameter 'qname' is the fully-qualified name of the type being reflected, i.e. containing both the namespace and the name (separated by "::"). |
|
Adds a custom attribute to the type being described.
|
|
Declares a new base type for the current type.
|
|
Adds a constructor description to the current type. As soon as a constructor is added through this method, the automatically-generated default constructor is removed. |
|
Adds an enumeration label to the current type.
|
|
Adds a method description to the current type.
|
|
Adds a property description to the current type.
|
|
Returns the Type object being described.
|
|
Returns a string containing the qualified version of 'name'.
|
|
Sets the comparator object for the current type.
|
|
Sets the current type's ReaderWriter object.
|