Public Types | |
enum | FunctionCategory { PUBLIC_FUNCTIONS, PROTECTED_FUNCTIONS } |
Public Member Functions | |
~Type () | |
Destructor. Note that this class is not meant to be subclassed. | |
const std::type_info & | getStdTypeInfo () const |
ExtendedTypeInfo | getExtendedTypeInfo () const |
bool | isDefined () const |
const std::string & | getName () const |
Returns the name of the reflected type. | |
const std::string & | getNamespace () const |
Returns the namespace of the reflected type. | |
std::string | getQualifiedName () const |
bool | matchesName (const std::string &name) const |
virtual const std::string & | getBriefHelp () const |
Returns the brief help of the reflected type. | |
virtual const std::string & | getDetailedHelp () const |
Returns the detailed help of the reflected type. | |
int | getNumBaseTypes () const |
const Type & | getBaseType (int i) const |
Returns the i-th base type. | |
const TypeList & | getBaseTypeList () const |
Returns the base type list. | |
int | getNumAliases () const |
Returns the number of type name aliases. | |
const std::string & | getAlias (int i) const |
Returns the i-th name alias. | |
bool | isAbstract () const |
Returns whether the reflected type is abstract. | |
bool | isAtomic () const |
bool | isEnum () const |
Returns whether the reflected type is an enumeration. | |
bool | isVoid () const |
Returns whether the reflected type is the type void. | |
bool | isPointer () const |
Returns true if the reflected type is a pointer, false otherwise. | |
bool | isConstPointer () const |
bool | isNonConstPointer () const |
const Type & | getPointedType () const |
bool | isReference () const |
Returns true if the reflected type is a reference, false otherwise. | |
bool | isConstReference () const |
bool | isNonConstReference () const |
const Type & | getReferencedType () const |
const PropertyInfoList & | getProperties () const |
void | getAllProperties (PropertyInfoList &props) const |
void | getPropertiesMap (PropertyInfoMap &props) const |
const ConstructorInfoList & | getConstructors (FunctionCategory category=PUBLIC_FUNCTIONS) const |
Returns the list of constructors defined for this type. | |
const MethodInfoList & | getMethods (FunctionCategory category=PUBLIC_FUNCTIONS) const |
void | getAllMethods (MethodInfoList &methods, FunctionCategory category=PUBLIC_FUNCTIONS) const |
void | getMethodsMap (MethodInfoMap &methods, FunctionCategory category=PUBLIC_FUNCTIONS) const |
const EnumLabelMap & | getEnumLabels () const |
const ConstructorInfo * | getCompatibleConstructor (const ValueList &values) const |
const ConstructorInfo * | getConstructor (const ParameterInfoList ¶ms) const |
const MethodInfo * | getCompatibleMethod (const std::string &name, const ValueList &values, bool inherit) const |
const MethodInfo * | getMethod (const std::string &name, const ParameterInfoList ¶ms, bool inherit) const |
const PropertyInfo * | getProperty (const std::string &name, const Type &ptype, const ParameterInfoList &indices, bool inherit) const |
Value | invokeMethod (const std::string &name, const Value &instance, ValueList &args, bool inherit) const |
Value | invokeMethod (const std::string &name, Value &instance, ValueList &args, bool inherit) const |
bool | isSubclassOf (const Type &type) const |
Returns whether the reflected type is derived from another type. | |
const ReaderWriter * | getReaderWriter () const |
const Comparator * | getComparator () const |
const std::string & | getDeclaringFile () const |
Value | createInstance (ValueList &args) const |
Value | createInstance () const |
void | reset () |
Protected Member Functions | |
Type (const ExtendedTypeInfo &ti) | |
void | check_defined () const |
virtual void | getInheritedProviders (CustomAttributeProviderList &providers) const |
Friends | |
class | Reflector |
struct | TypeNameAliasProxy |
class | Reflection |
osgIntrospection::Type::~Type | ( | ) |
Destructor. Note that this class is not meant to be subclassed.
osgIntrospection::Type::Type | ( | const ExtendedTypeInfo & | ti | ) | [inline, protected] |
const std::type_info & osgIntrospection::Type::getStdTypeInfo | ( | ) | const [inline] |
Returns a reference to the std::type_info instance associated to this Type.
References osgIntrospection::ExtendedTypeInfo::getStdTypeInfo().
Referenced by osgIntrospection::operator!=(), osgIntrospection::operator<(), and osgIntrospection::operator==().
ExtendedTypeInfo osgIntrospection::Type::getExtendedTypeInfo | ( | ) | const [inline] |
Returns a reference to the ExtendedTypeInfo associated to this Type.
Referenced by osgIntrospection::ReaderWriter::readBinaryValue(), osgIntrospection::ReaderWriter::readTextValue(), osgIntrospection::ReaderWriter::writeBinaryValue(), and osgIntrospection::ReaderWriter::writeTextValue().
bool osgIntrospection::Type::isDefined | ( | ) | const [inline] |
const std::string & osgIntrospection::Type::getName | ( | ) | const [inline] |
const std::string & osgIntrospection::Type::getNamespace | ( | ) | const [inline] |
std::string osgIntrospection::Type::getQualifiedName | ( | ) | const [inline] |
Returns the qualified name of the reflected type. The qualified name is formed by the namespace, if present, plus other modifiers like 'const' and/or '*' (pointer) where applicable.
References check_defined().
Referenced by matchesName().
bool osgIntrospection::Type::matchesName | ( | const std::string & | name | ) | const [inline] |
Returns true if either the fully-qualified name or one of the name aliases match the given argument
References getQualifiedName().
const std::string & osgIntrospection::Type::getBriefHelp | ( | ) | const [inline, virtual] |
Returns the brief help of the reflected type.
const std::string & osgIntrospection::Type::getDetailedHelp | ( | ) | const [inline, virtual] |
Returns the detailed help of the reflected type.
int osgIntrospection::Type::getNumBaseTypes | ( | ) | const [inline] |
Returns the number of base types. This number is zero if the type is not derived from any other type.
References check_defined().
const Type & osgIntrospection::Type::getBaseType | ( | int | i | ) | const [inline] |
const TypeList & osgIntrospection::Type::getBaseTypeList | ( | ) | const [inline] |
int osgIntrospection::Type::getNumAliases | ( | ) | const [inline] |
Returns the number of type name aliases.
const std::string & osgIntrospection::Type::getAlias | ( | int | i | ) | const [inline] |
Returns the i-th name alias.
bool osgIntrospection::Type::isAbstract | ( | ) | const [inline] |
bool osgIntrospection::Type::isAtomic | ( | ) | const [inline] |
Returns whether the reflected type is "atomic", that is it can be rendered to and decoded from a stream directly.
References check_defined().
bool osgIntrospection::Type::isEnum | ( | ) | const [inline] |
bool osgIntrospection::Type::isVoid | ( | ) | const [inline] |
Returns whether the reflected type is the type void.
bool osgIntrospection::Type::isPointer | ( | ) | const [inline] |
Returns true if the reflected type is a pointer, false otherwise.
References check_defined().
Referenced by osgIntrospection::TypedMethodInfo0< C, void >::invoke(), and osgIntrospection::TypedMethodInfo0< C, R >::invoke().
bool osgIntrospection::Type::isConstPointer | ( | ) | const [inline] |
Returns true if the reflected type is a pointer AND it is const, false otherwise.
References check_defined().
Referenced by osgIntrospection::TypedMethodInfo0< C, void >::invoke(), and osgIntrospection::TypedMethodInfo0< C, R >::invoke().
bool osgIntrospection::Type::isNonConstPointer | ( | ) | const [inline] |
Returns true if the reflected type is a pointer AND it is not const, false otherwise.
References check_defined().
const Type & osgIntrospection::Type::getPointedType | ( | ) | const [inline] |
Returns the pointed type. If the reflected type is not a pointer, the object returned is typeof(void).
References check_defined(), and osgIntrospection::Reflection::type_void().
bool osgIntrospection::Type::isReference | ( | ) | const [inline] |
bool osgIntrospection::Type::isConstReference | ( | ) | const [inline] |
Returns true if the reflected type is a reference AND it is const, false otherwise.
References check_defined().
bool osgIntrospection::Type::isNonConstReference | ( | ) | const [inline] |
Returns true if the reflected type is a reference AND it is not const, false otherwise.
References check_defined().
const Type & osgIntrospection::Type::getReferencedType | ( | ) | const [inline] |
Returns the referenced type. If the reflected type is not a reference, the object returned is typeof(void).
References check_defined(), and osgIntrospection::Reflection::type_void().
const PropertyInfoList & osgIntrospection::Type::getProperties | ( | ) | const [inline] |
Returns the list of properties defined for this type. The list does not include properties inherited from base types.
References check_defined().
void osgIntrospection::Type::getAllProperties | ( | PropertyInfoList & | props | ) | const |
Fills a list of properties that are either defined in this Type or in inherited types.
void osgIntrospection::Type::getPropertiesMap | ( | PropertyInfoMap & | props | ) | const |
Fills a map of "type <-> propertyInfoList" that are either defined in this Type or in inherited types.
const ConstructorInfoList & osgIntrospection::Type::getConstructors | ( | FunctionCategory | category = PUBLIC_FUNCTIONS |
) | const [inline] |
Returns the list of constructors defined for this type.
References check_defined(), and PUBLIC_FUNCTIONS.
const MethodInfoList & osgIntrospection::Type::getMethods | ( | FunctionCategory | category = PUBLIC_FUNCTIONS |
) | const [inline] |
Returns the list of methods defined for this type. The list does not include methods inherited from base types.
References check_defined(), and PUBLIC_FUNCTIONS.
void osgIntrospection::Type::getAllMethods | ( | MethodInfoList & | methods, | |
FunctionCategory | category = PUBLIC_FUNCTIONS | |||
) | const |
Fills a list of methods that are either defined in this Type or in inherited types.
void osgIntrospection::Type::getMethodsMap | ( | MethodInfoMap & | methods, | |
FunctionCategory | category = PUBLIC_FUNCTIONS | |||
) | const |
Fills a map of "type <-> MethodInfoList" that are either defined in this Type or in inherited types.
const EnumLabelMap & osgIntrospection::Type::getEnumLabels | ( | ) | const [inline] |
Returns the map of enumeration labels. If the type is not an enumeration, an empty map is returned.
References check_defined().
const ConstructorInfo* osgIntrospection::Type::getCompatibleConstructor | ( | const ValueList & | values | ) | const |
Searches for a constructor that can be called with the given list of arguments without raising type conversion errors. If more than one constructors are suitable for calling, the best match is returned.
const ConstructorInfo* osgIntrospection::Type::getConstructor | ( | const ParameterInfoList & | params | ) | const |
Searches for a constructor whose parameters match exactly the given list of parameter descriptions.
const MethodInfo* osgIntrospection::Type::getCompatibleMethod | ( | const std::string & | name, | |
const ValueList & | values, | |||
bool | inherit | |||
) | const |
Searches for a method that can be called with the given list of arguments without raising type conversion errors. If more than one method are suitable for calling, the best match is returned.
const MethodInfo* osgIntrospection::Type::getMethod | ( | const std::string & | name, | |
const ParameterInfoList & | params, | |||
bool | inherit | |||
) | const |
Searches for a method whose parameters match exactly the given list of parameter descriptions.
const PropertyInfo* osgIntrospection::Type::getProperty | ( | const std::string & | name, | |
const Type & | ptype, | |||
const ParameterInfoList & | indices, | |||
bool | inherit | |||
) | const |
Searches for a property given its name, type and list of indices. Only exact matches are returned.
Value osgIntrospection::Type::invokeMethod | ( | const std::string & | name, | |
const Value & | instance, | |||
ValueList & | args, | |||
bool | inherit | |||
) | const |
Searches for a suitable method and invokes it with the given list of arguments (const instance).
Value osgIntrospection::Type::invokeMethod | ( | const std::string & | name, | |
Value & | instance, | |||
ValueList & | args, | |||
bool | inherit | |||
) | const |
Searches for a suitable method and invokes it with the given list of arguments.
bool osgIntrospection::Type::isSubclassOf | ( | const Type & | type | ) | const |
Returns whether the reflected type is derived from another type.
const ReaderWriter * osgIntrospection::Type::getReaderWriter | ( | ) | const [inline] |
Returns the instance of the reader/writer object assigned to this type, if any. Otherwise it returns the null pointer.
References check_defined().
const Comparator * osgIntrospection::Type::getComparator | ( | ) | const [inline] |
Returns the instance of the comparator object assigned to this type, if any. Otherwise it returns the null pointer.
References check_defined().
const std::string & osgIntrospection::Type::getDeclaringFile | ( | ) | const [inline] |
Returns the path to the file where this type is declared, relative the the OpenSceneGraph include directory. Returns the empty string if no path information is available.
Creates an instance of the reflected type. The returned Value can be casted to T*, where T is the reflected type. If the type is abstract, an exception is thrown.
Value osgIntrospection::Type::createInstance | ( | ) | const [inline] |
void osgIntrospection::Type::reset | ( | ) |
void osgIntrospection::Type::check_defined | ( | ) | const [inline, protected] |
Referenced by getBaseType(), getBaseTypeList(), getComparator(), getConstructors(), getEnumLabels(), getMethods(), getName(), getNamespace(), getNumBaseTypes(), getPointedType(), getProperties(), getQualifiedName(), getReaderWriter(), getReferencedType(), isAbstract(), isAtomic(), isConstPointer(), isConstReference(), isEnum(), isNonConstPointer(), isNonConstReference(), isPointer(), and isReference().
virtual void osgIntrospection::Type::getInheritedProviders | ( | CustomAttributeProviderList & | providers | ) | const [protected, virtual] |
Implements osgIntrospection::CustomAttributeProvider.
friend class Reflector [friend] |
friend struct TypeNameAliasProxy [friend] |
friend class Reflection [friend] |