Public Types | |
typedef T | reflected_type |
typedef Reflector< T > | inherited |
Public Member Functions | |
virtual | ~Reflector () |
Virtual destructor. | |
template<> | |
void | init_reference_types () |
template<> | |
void | init_void_converter () |
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. | |
MethodInfo * | addProtectedMethod (MethodInfo *mi) |
Adds a protected 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. | |
ConstructorInfo * | addProtectedConstructor (ConstructorInfo *ci) |
Adds a protected 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. | |
void | setDeclaringFile (const std::string &file) const |
Sets the current type's declaring file. | |
Classes | |
struct | ConstPtrConstructor |
struct | PtrConstructor |
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*, const T*, T&, and const T&. You should NEVER create reflectors for pointer or reference types explicitly.
typedef T osgIntrospection::Reflector< T >::reflected_type |
typedef Reflector<T> osgIntrospection::Reflector< T >::inherited |
virtual osgIntrospection::Reflector< T >::~Reflector | ( | ) | [inline, virtual] |
Virtual destructor.
osgIntrospection::Reflector< T >::Reflector | ( | const std::string & | name, | |
const std::string & | ns, | |||
bool | abstract = false | |||
) | [inline, protected] |
Direct initialization constructor.
Parameter 'name' is the name of the type being reflected and 'ns' is its namespace.
osgIntrospection::Reflector< T >::Reflector | ( | const std::string & | qname, | |
bool | abstract = false | |||
) | [inline, protected] |
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 "::").
Type* osgIntrospection::Reflector< T >::getType | ( | ) | [inline, protected] |
Returns the Type object being described.
void osgIntrospection::Reflector< T >::addBaseType | ( | const Type & | type | ) | [inline, protected] |
Declares a new base type for the current type.
void osgIntrospection::Reflector< T >::setComparator | ( | const Comparator * | cmp | ) | [inline, protected] |
Sets the comparator object for the current type.
PropertyInfo * osgIntrospection::Reflector< T >::addProperty | ( | PropertyInfo * | pi | ) | [inline, protected] |
Adds a property description to the current type.
MethodInfo * osgIntrospection::Reflector< T >::addMethod | ( | MethodInfo * | mi | ) | [inline, protected] |
Adds a method description to the current type.
MethodInfo * osgIntrospection::Reflector< T >::addProtectedMethod | ( | MethodInfo * | mi | ) | [inline, protected] |
Adds a protected method description to the current type.
void osgIntrospection::Reflector< T >::addEnumLabel | ( | int | v, | |
const std::string & | label, | |||
bool | strip_namespace = true | |||
) | [inline, protected] |
Adds an enumeration label to the current type.
ConstructorInfo * osgIntrospection::Reflector< T >::addConstructor | ( | ConstructorInfo * | ci | ) | [inline, protected] |
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.
ConstructorInfo * osgIntrospection::Reflector< T >::addProtectedConstructor | ( | ConstructorInfo * | ci | ) | [inline, protected] |
Adds a protected constructor description to the current type.
std::string osgIntrospection::Reflector< T >::qualifyName | ( | const std::string & | name | ) | const [inline, protected] |
Returns a string containing the qualified version of 'name'.
CustomAttributeProvider * osgIntrospection::Reflector< T >::addAttribute | ( | const CustomAttribute * | attrib | ) | [inline, protected] |
Adds a custom attribute to the type being described.
void osgIntrospection::Reflector< T >::setReaderWriter | ( | const ReaderWriter * | rw | ) | [inline, protected] |
Sets the current type's ReaderWriter object.
void osgIntrospection::Reflector< T >::setDeclaringFile | ( | const std::string & | file | ) | const [inline, protected] |
Sets the current type's declaring file.
void osgIntrospection::Reflector< void >::init_reference_types | ( | ) | [inline] |
void osgIntrospection::Reflector< void >::init_void_converter | ( | ) | [inline] |