|
Classes |
class | NoDefaultValueAttribute |
| By adding this attribute to a PropertyInfo you specify that there is no default value for that property. More...
|
class | DefaultValueAttribute |
| By adding this attribute to a PropertyInfo you specify a custom default value for that property. More...
|
struct | PropertyGetter |
| Base struct for custom property getters. More...
|
class | CustomPropertyGetAttribute |
| By setting an attribute of this class you can specify a custom object that will be used to retrieve the value of a property instead of the default getter method. More...
|
struct | PropertySetter |
| Base struct for custom property setters. More...
|
class | CustomPropertySetAttribute |
| By setting an attribute of this class you can specify a custom object that will be used to set the value of a property instead of the default setter method. More...
|
struct | PropertyCounter |
| Base struct for custom array property counters. More...
|
class | CustomPropertyCountAttribute |
| By setting an attribute of this class you can specify a custom object that will be used to count the number of items in an array property. More...
|
struct | PropertyAdder |
| Base struct for custom array property adders. More...
|
class | CustomPropertyAddAttribute |
| By setting an attribute of this class you can specify a custom object that will be used to add a new item to an array property. More...
|
struct | PropertyInserter |
| Base struct for custom array property inserters. More...
|
class | CustomPropertyInsertAttribute |
| By setting an attribute of this class you can specify a custom object that will be used to insert a new item to an array property. More...
|
struct | PropertyRemover |
| Base struct for custom array property removers. More...
|
class | CustomPropertyRemoveAttribute |
| By setting an attribute of this class you can specify a custom object that will be used to remove an item from an array property. More...
|
struct | IndexInfo |
| This struct allows customization of an indexed property's index set. More...
|
class | CustomIndexAttribute |
| By default each index in an indexed property is assumed to be an enumeration. More...
|
class | PropertyTypeAttribute |
| Attribute for overriding the type of a property with a custom type. More...
|
class | IndexTypeAttribute |
| Attribute for overriding the type of an index (of an indexed property) with a custom type. More...
|
struct | Comparator |
struct | TotalOrderComparator |
struct | PartialOrderComparator |
class | ConstructorInfo |
struct | Converter |
class | CompositeConverter |
struct | StaticConverter |
struct | DynamicConverter |
struct | ReinterpretConverter |
struct | ConverterProxy |
class | CustomAttribute |
| The base class for custom attributes. More...
|
class | CustomAttributeProvider |
| This is the base class for custom attribute providers, that is objects that can be assigned a list of custom attributes. More...
|
class | Exception |
struct | ReflectionException |
struct | TypeNotDefinedException |
struct | TypeIsAbstractException |
struct | ConstructorNotFoundException |
struct | ProtectedConstructorInvocationException |
struct | InvokeNotImplementedException |
struct | InvalidFunctionPointerException |
struct | ConstIsConstException |
struct | ProtectedMethodInvocationException |
struct | EmptyValueException |
struct | TypeNotFoundException |
struct | MethodNotFoundException |
struct | StreamWriteErrorException |
struct | StreamReadErrorException |
class | StreamingNotSupportedException |
struct | TypeConversionException |
class | PropertyAccessException |
struct | IndexValuesNotDefinedException |
struct | ComparisonNotPermittedException |
struct | ComparisonOperatorNotSupportedException |
class | ExtendedTypeInfo |
| This class is a wrapper for std::type_info that also records whether a type is a reference or const reference. More...
|
struct | ObjectInstanceCreator |
| The ObjectInstanceCreator struct template is a collection of static methods that provide the means for creating instances of object types dynamically. More...
|
struct | ValueInstanceCreator |
struct | DummyInstanceCreator |
struct | ProtectedConstructorInstanceCreator |
class | MethodInfo |
| Class MethodInfo stores information about a class method. More...
|
class | ParameterInfo |
| This class stores information about a function parameter. More...
|
class | PropertyInfo |
| This class keeps information about a class' property. More...
|
struct | PublicMemberAccessor |
class | ReaderWriter |
| This is the base class for reader/writer objects. More...
|
class | StdReaderWriter |
| This class template provides basic default streaming capabilities for all types that define streaming operators (<< and >>). More...
|
class | StdWReaderWriter |
class | EnumReaderWriter |
| This ReaderWriter can be used to read and write enumeration values. More...
|
class | PtrReaderWriter |
| This is a ReaderWriter class that can be used to read and write pointer values. More...
|
class | Reflection |
| This class provides basic reflection services such as registration of new types and queries on the global type map. More...
|
struct | is_polymorphic |
| Compile-time polymorphism detector. More...
|
class | Reflector |
| A Reflector is a proxy class that is used to create a new description of a given type. More...
|
struct | ValueReflector |
| This reflector ought to be used to describe types that can be created on the stack. More...
|
struct | AbstractObjectReflector |
| This reflector is to be used to describe abstract types that can't be instantiated. More...
|
struct | ObjectReflector |
| This reflector is to be used to describe types that ought to be created on the heap. More...
|
struct | AtomicValueReflector |
| This reflector is a ValueReflector that should be used to define types that can be read and written from/to streams using the << and >> operators. More...
|
struct | WAtomicValueReflector |
struct | EnumReflector |
| This reflector is a ValueReflector that should be used to define enumerations. More...
|
struct | StdVectorReflector |
| This class allows to define the means for reflecting STL containers such as std::deque and std::vector. More...
|
struct | StdSetReflector |
| This class allows to define the means for reflecting STL containers such as std::set and std::multiset. More...
|
struct | StdListReflector |
| This class allows to define the means for reflecting STL containers that cannot be indexed directly, such as std::list. More...
|
struct | StdMapReflector |
| This class allows to define the means for reflecting STL associative containers which hold pairs of key+value, such as std::map. More...
|
struct | StdPairReflector |
class | StaticMethodInfo0 |
| Class templates StaticMethodInfoN (where 0 <= N <= 16) are concrete implementations of MethodInfo. More...
|
class | StaticMethodInfo1 |
class | StaticMethodInfo2 |
class | StaticMethodInfo3 |
class | StaticMethodInfo4 |
class | StaticMethodInfo5 |
class | StaticMethodInfo6 |
class | StaticMethodInfo7 |
class | StaticMethodInfo8 |
class | StaticMethodInfo9 |
class | StaticMethodInfo10 |
class | StaticMethodInfo11 |
class | StaticMethodInfo12 |
class | StaticMethodInfo13 |
class | StaticMethodInfo14 |
class | StaticMethodInfo15 |
class | StaticMethodInfo16 |
class | StaticMethodInfo0< C, void > |
class | StaticMethodInfo1< C, void, P0 > |
class | StaticMethodInfo2< C, void, P0, P1 > |
class | StaticMethodInfo3< C, void, P0, P1, P2 > |
class | StaticMethodInfo4< C, void, P0, P1, P2, P3 > |
class | StaticMethodInfo5< C, void, P0, P1, P2, P3, P4 > |
class | StaticMethodInfo6< C, void, P0, P1, P2, P3, P4, P5 > |
class | StaticMethodInfo7< C, void, P0, P1, P2, P3, P4, P5, P6 > |
class | StaticMethodInfo8< C, void, P0, P1, P2, P3, P4, P5, P6, P7 > |
class | StaticMethodInfo9< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8 > |
class | StaticMethodInfo10< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9 > |
class | StaticMethodInfo11< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 > |
class | StaticMethodInfo12< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 > |
class | StaticMethodInfo13< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 > |
class | StaticMethodInfo14< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 > |
class | StaticMethodInfo15< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 > |
class | StaticMethodInfo16< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 > |
class | StaticProtectedMethodInfo0 |
class | StaticProtectedMethodInfo1 |
class | StaticProtectedMethodInfo2 |
class | StaticProtectedMethodInfo3 |
class | StaticProtectedMethodInfo4 |
class | StaticProtectedMethodInfo5 |
class | StaticProtectedMethodInfo6 |
class | StaticProtectedMethodInfo7 |
class | StaticProtectedMethodInfo8 |
class | StaticProtectedMethodInfo9 |
class | StaticProtectedMethodInfo10 |
class | StaticProtectedMethodInfo11 |
class | StaticProtectedMethodInfo12 |
class | StaticProtectedMethodInfo13 |
class | StaticProtectedMethodInfo14 |
class | StaticProtectedMethodInfo15 |
class | StaticProtectedMethodInfo16 |
class | StaticProtectedMethodInfo0< C, void > |
class | StaticProtectedMethodInfo1< C, void, P0 > |
class | StaticProtectedMethodInfo2< C, void, P0, P1 > |
class | StaticProtectedMethodInfo3< C, void, P0, P1, P2 > |
class | StaticProtectedMethodInfo4< C, void, P0, P1, P2, P3 > |
class | StaticProtectedMethodInfo5< C, void, P0, P1, P2, P3, P4 > |
class | StaticProtectedMethodInfo6< C, void, P0, P1, P2, P3, P4, P5 > |
class | StaticProtectedMethodInfo7< C, void, P0, P1, P2, P3, P4, P5, P6 > |
class | StaticProtectedMethodInfo8< C, void, P0, P1, P2, P3, P4, P5, P6, P7 > |
class | StaticProtectedMethodInfo9< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8 > |
class | StaticProtectedMethodInfo10< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9 > |
class | StaticProtectedMethodInfo11< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 > |
class | StaticProtectedMethodInfo12< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 > |
class | StaticProtectedMethodInfo13< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 > |
class | StaticProtectedMethodInfo14< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 > |
class | StaticProtectedMethodInfo15< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 > |
class | StaticProtectedMethodInfo16< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 > |
class | Type |
| Objects of class Type are used to maintain information about reflected types. More...
|
struct | TypedConstructorInfo0 |
struct | TypedConstructorInfo1 |
struct | TypedConstructorInfo2 |
struct | TypedConstructorInfo3 |
struct | TypedConstructorInfo4 |
struct | TypedConstructorInfo5 |
struct | TypedConstructorInfo6 |
struct | TypedConstructorInfo7 |
struct | TypedConstructorInfo8 |
struct | TypedConstructorInfo9 |
struct | TypedConstructorInfo10 |
struct | TypedConstructorInfo11 |
struct | TypedConstructorInfo12 |
struct | TypedConstructorInfo13 |
struct | TypedConstructorInfo14 |
struct | TypedConstructorInfo15 |
struct | TypedConstructorInfo16 |
class | TypedMethodInfo0 |
| Class templates TypedMethodInfoN (where 0 <= N <= 16) are concrete implementations of MethodInfo. More...
|
class | TypedMethodInfo1 |
class | TypedMethodInfo2 |
class | TypedMethodInfo3 |
class | TypedMethodInfo4 |
class | TypedMethodInfo5 |
class | TypedMethodInfo6 |
class | TypedMethodInfo7 |
class | TypedMethodInfo8 |
class | TypedMethodInfo9 |
class | TypedMethodInfo10 |
class | TypedMethodInfo11 |
class | TypedMethodInfo12 |
class | TypedMethodInfo13 |
class | TypedMethodInfo14 |
class | TypedMethodInfo15 |
class | TypedMethodInfo16 |
class | TypedMethodInfo0< C, void > |
class | TypedMethodInfo1< C, void, P0 > |
class | TypedMethodInfo2< C, void, P0, P1 > |
class | TypedMethodInfo3< C, void, P0, P1, P2 > |
class | TypedMethodInfo4< C, void, P0, P1, P2, P3 > |
class | TypedMethodInfo5< C, void, P0, P1, P2, P3, P4 > |
class | TypedMethodInfo6< C, void, P0, P1, P2, P3, P4, P5 > |
class | TypedMethodInfo7< C, void, P0, P1, P2, P3, P4, P5, P6 > |
class | TypedMethodInfo8< C, void, P0, P1, P2, P3, P4, P5, P6, P7 > |
class | TypedMethodInfo9< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8 > |
class | TypedMethodInfo10< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9 > |
class | TypedMethodInfo11< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 > |
class | TypedMethodInfo12< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 > |
class | TypedMethodInfo13< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 > |
class | TypedMethodInfo14< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 > |
class | TypedMethodInfo15< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 > |
class | TypedMethodInfo16< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 > |
class | TypedProtectedMethodInfo0 |
class | TypedProtectedMethodInfo1 |
class | TypedProtectedMethodInfo2 |
class | TypedProtectedMethodInfo3 |
class | TypedProtectedMethodInfo4 |
class | TypedProtectedMethodInfo5 |
class | TypedProtectedMethodInfo6 |
class | TypedProtectedMethodInfo7 |
class | TypedProtectedMethodInfo8 |
class | TypedProtectedMethodInfo9 |
class | TypedProtectedMethodInfo10 |
class | TypedProtectedMethodInfo11 |
class | TypedProtectedMethodInfo12 |
class | TypedProtectedMethodInfo13 |
class | TypedProtectedMethodInfo14 |
class | TypedProtectedMethodInfo15 |
class | TypedProtectedMethodInfo16 |
class | TypedProtectedMethodInfo0< C, void > |
class | TypedProtectedMethodInfo1< C, void, P0 > |
class | TypedProtectedMethodInfo2< C, void, P0, P1 > |
class | TypedProtectedMethodInfo3< C, void, P0, P1, P2 > |
class | TypedProtectedMethodInfo4< C, void, P0, P1, P2, P3 > |
class | TypedProtectedMethodInfo5< C, void, P0, P1, P2, P3, P4 > |
class | TypedProtectedMethodInfo6< C, void, P0, P1, P2, P3, P4, P5 > |
class | TypedProtectedMethodInfo7< C, void, P0, P1, P2, P3, P4, P5, P6 > |
class | TypedProtectedMethodInfo8< C, void, P0, P1, P2, P3, P4, P5, P6, P7 > |
class | TypedProtectedMethodInfo9< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8 > |
class | TypedProtectedMethodInfo10< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9 > |
class | TypedProtectedMethodInfo11< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 > |
class | TypedProtectedMethodInfo12< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 > |
class | TypedProtectedMethodInfo13< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 > |
class | TypedProtectedMethodInfo14< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 > |
class | TypedProtectedMethodInfo15< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 > |
class | TypedProtectedMethodInfo16< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 > |
struct | TypeNameAliasProxy |
class | Value |
Typedefs |
typedef std::list
< const Converter * > | ConverterList |
typedef std::vector
< const
CustomAttribute * > | CustomAttributeList |
typedef std::vector
< const
CustomAttributeProvider * > | CustomAttributeProviderList |
typedef std::list
< const Converter * > | ConverterList |
typedef std::map
< ExtendedTypeInfo,
Type * > | TypeMap |
| A map of types, indexed by their associated ExtendedTypeInfo structure.
|
typedef std::vector
< const MethodInfo * > | MethodInfoList |
typedef std::vector
< const PropertyInfo * > | PropertyInfoList |
typedef std::vector
< const
ParameterInfo * > | ParameterInfoList |
typedef std::vector
< const
ConstructorInfo * > | ConstructorInfoList |
typedef std::map
< const Type *,
PropertyInfoList > | PropertyInfoMap |
typedef std::map
< const Type *,
MethodInfoList > | MethodInfoMap |
typedef std::map
< int, std::string > | EnumLabelMap |
typedef std::vector
< const Type * > | TypeList |
typedef std::vector
< Value > | ValueList |
| A vector of values.
|
Enumerations |
enum | CastType { STATIC_CAST,
DYNAMIC_CAST,
REINTERPRET_CAST,
COMPOSITE_CAST
} |
Functions |
bool | operator== (const Type &t1, const Type &t2) |
| Equality test operator.
|
bool | operator!= (const Type &t1, const Type &t2) |
| Inequality test operator.
|
bool | operator< (const Type &t1, const Type &t2) |
| Less than operator.
|
bool | operator>= (const Type &t1, const Type &t2) |
| Greater than or equal to operator. Returns !operator<().
|
bool
OSGINTROSPECTION_EXPORT | areParametersCompatible (const ParameterInfoList &pl1, const ParameterInfoList &pl2) |
bool
OSGINTROSPECTION_EXPORT | areArgumentsCompatible (const ValueList &vl, const ParameterInfoList &pl, float &match) |
template<typename T> |
void | convertArgument (ValueList &src, ValueList &dest, const ParameterInfoList &pl, int index) |
template<typename T> |
const T & | getInstance (const Value &instance) |
| Return a const reference on the reflected value given on the instance.
|
template<typename T> |
T & | getInstance (Value &instance) |
| Return a reference on the reflected value given on the instance.
|
template<typename T> |
T | variant_cast (const Value &v) |
| Tries to convert an instance of Value to an object of type T.
|
template<typename T> |
bool | requires_conversion (const Value &v) |
| Returns true if the Value passed as parameter can't be casted to the specified type without a (potentially slow) conversion.
|
template<typename T> |
T * | extract_raw_data (Value &v) |
| Returns a typed pointer to the data contained in a Value instance.
|
template<typename T> |
const T * | extract_raw_data (const Value &v) |
| Returns a typed pointer to the data contained in a const Value instance.
|