Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

osgIntrospection Namespace Reference


Classes

class  osgIntrospection::NoDefaultValueAttribute
class  osgIntrospection::DefaultValueAttribute
struct  osgIntrospection::PropertyGetter
class  osgIntrospection::CustomPropertyGetAttribute
struct  osgIntrospection::PropertySetter
class  osgIntrospection::CustomPropertySetAttribute
struct  osgIntrospection::PropertyCounter
class  osgIntrospection::CustomPropertyCountAttribute
struct  osgIntrospection::PropertyAdder
class  osgIntrospection::CustomPropertyAddAttribute
struct  osgIntrospection::PropertyRemover
class  osgIntrospection::CustomPropertyRemoveAttribute
struct  osgIntrospection::IndexInfo
class  osgIntrospection::CustomIndexAttribute
class  osgIntrospection::PropertyTypeAttribute
class  osgIntrospection::IndexTypeAttribute
struct  osgIntrospection::Comparator
struct  osgIntrospection::TotalOrderComparator< T >
struct  osgIntrospection::PartialOrderComparator< T >
class  osgIntrospection::ConstructorInfo
struct  osgIntrospection::Converter
class  osgIntrospection::CompositeConverter
struct  osgIntrospection::StaticConverter< S, D >
struct  osgIntrospection::DynamicConverter< S, D >
struct  osgIntrospection::ReinterpretConverter< S, D >
struct  osgIntrospection::ConverterProxy
class  osgIntrospection::CustomAttribute
class  osgIntrospection::CustomAttributeProvider
class  osgIntrospection::Exception
struct  osgIntrospection::ReflectionException
struct  osgIntrospection::TypeNotDefinedException
struct  osgIntrospection::TypeIsAbstractException
struct  osgIntrospection::ConstructorNotFoundException
struct  osgIntrospection::InvokeNotImplementedException
struct  osgIntrospection::InvalidFunctionPointerException
struct  osgIntrospection::ConstIsConstException
struct  osgIntrospection::EmptyValueException
struct  osgIntrospection::TypeNotFoundException
struct  osgIntrospection::MethodNotFoundException
struct  osgIntrospection::StreamWriteErrorException
struct  osgIntrospection::StreamReadErrorException
class  osgIntrospection::StreamingNotSupportedException
struct  osgIntrospection::TypeConversionException
class  osgIntrospection::PropertyAccessException
struct  osgIntrospection::IndexValuesNotDefinedException
struct  osgIntrospection::ComparisonNotPermittedException
struct  osgIntrospection::ComparisonOperatorNotSupportedException
struct  osgIntrospection::ObjectInstanceCreator< T >
struct  osgIntrospection::ValueInstanceCreator< T >
struct  osgIntrospection::DummyInstanceCreator< T >
class  osgIntrospection::MethodInfo
class  osgIntrospection::ParameterInfo
class  osgIntrospection::PropertyInfo
class  osgIntrospection::ReaderWriter
class  osgIntrospection::ReaderWriter::Options
class  osgIntrospection::StdReaderWriter< T >
class  osgIntrospection::EnumReaderWriter< T >
class  osgIntrospection::PtrReaderWriter< T >
struct  osgIntrospection::TypeInfoCmp
class  osgIntrospection::Reflection
struct  osgIntrospection::Reflection::StaticData
class  osgIntrospection::Reflector< T >
struct  osgIntrospection::Reflector< T >::PtrConstructor
struct  osgIntrospection::Reflector< T >::ConstPtrConstructor
struct  osgIntrospection::ValueReflector< T >
struct  osgIntrospection::AbstractObjectReflector< T >
struct  osgIntrospection::ObjectReflector< T >
struct  osgIntrospection::AtomicValueReflector< T >
struct  osgIntrospection::EnumReflector< T >
struct  osgIntrospection::StdVectorReflector< T, VT >
struct  osgIntrospection::StdVectorReflector< T, VT >::Getter
struct  osgIntrospection::StdVectorReflector< T, VT >::Setter
struct  osgIntrospection::StdVectorReflector< T, VT >::Counter
struct  osgIntrospection::StdVectorReflector< T, VT >::Adder
struct  osgIntrospection::StdVectorReflector< T, VT >::Remover
struct  osgIntrospection::StdSetReflector< T, VT >
struct  osgIntrospection::StdSetReflector< T, VT >::Getter
struct  osgIntrospection::StdSetReflector< T, VT >::Counter
struct  osgIntrospection::StdSetReflector< T, VT >::Adder
struct  osgIntrospection::StdSetReflector< T, VT >::Remover
struct  osgIntrospection::StdListReflector< T, VT >
struct  osgIntrospection::StdListReflector< T, VT >::Getter
struct  osgIntrospection::StdListReflector< T, VT >::Setter
struct  osgIntrospection::StdListReflector< T, VT >::Counter
struct  osgIntrospection::StdListReflector< T, VT >::Adder
struct  osgIntrospection::StdListReflector< T, VT >::Remover
struct  osgIntrospection::StdMapReflector< T, IT, VT >
struct  osgIntrospection::StdMapReflector< T, IT, VT >::Getter
struct  osgIntrospection::StdMapReflector< T, IT, VT >::Setter
struct  osgIntrospection::StdMapReflector< T, IT, VT >::Indexer
struct  osgIntrospection::StdPairReflector< T, PT1, PT2 >
struct  osgIntrospection::StdPairReflector< T, PT1, PT2 >::Accessor
class  osgIntrospection::StaticMethodInfo0< C, R >
class  osgIntrospection::StaticMethodInfo1< C, R, P0 >
class  osgIntrospection::StaticMethodInfo2< C, R, P0, P1 >
class  osgIntrospection::StaticMethodInfo3< C, R, P0, P1, P2 >
class  osgIntrospection::StaticMethodInfo4< C, R, P0, P1, P2, P3 >
class  osgIntrospection::StaticMethodInfo5< C, R, P0, P1, P2, P3, P4 >
class  osgIntrospection::StaticMethodInfo6< C, R, P0, P1, P2, P3, P4, P5 >
class  osgIntrospection::StaticMethodInfo7< C, R, P0, P1, P2, P3, P4, P5, P6 >
class  osgIntrospection::StaticMethodInfo8< C, R, P0, P1, P2, P3, P4, P5, P6, P7 >
class  osgIntrospection::StaticMethodInfo9< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8 >
class  osgIntrospection::StaticMethodInfo10< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9 >
class  osgIntrospection::StaticMethodInfo11< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 >
class  osgIntrospection::StaticMethodInfo12< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 >
class  osgIntrospection::StaticMethodInfo13< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 >
class  osgIntrospection::StaticMethodInfo14< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 >
class  osgIntrospection::StaticMethodInfo15< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 >
class  osgIntrospection::StaticMethodInfo16< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 >
class  osgIntrospection::StaticMethodInfo0< C, void >
class  osgIntrospection::StaticMethodInfo1< C, void, P0 >
class  osgIntrospection::StaticMethodInfo2< C, void, P0, P1 >
class  osgIntrospection::StaticMethodInfo3< C, void, P0, P1, P2 >
class  osgIntrospection::StaticMethodInfo4< C, void, P0, P1, P2, P3 >
class  osgIntrospection::StaticMethodInfo5< C, void, P0, P1, P2, P3, P4 >
class  osgIntrospection::StaticMethodInfo6< C, void, P0, P1, P2, P3, P4, P5 >
class  osgIntrospection::StaticMethodInfo7< C, void, P0, P1, P2, P3, P4, P5, P6 >
class  osgIntrospection::StaticMethodInfo8< C, void, P0, P1, P2, P3, P4, P5, P6, P7 >
class  osgIntrospection::StaticMethodInfo9< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8 >
class  osgIntrospection::StaticMethodInfo10< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9 >
class  osgIntrospection::StaticMethodInfo11< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 >
class  osgIntrospection::StaticMethodInfo12< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 >
class  osgIntrospection::StaticMethodInfo13< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 >
class  osgIntrospection::StaticMethodInfo14< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 >
class  osgIntrospection::StaticMethodInfo15< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 >
class  osgIntrospection::StaticMethodInfo16< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 >
class  osgIntrospection::Type
struct  osgIntrospection::TypedConstructorInfo0< C, IC >
struct  osgIntrospection::TypedConstructorInfo1< C, IC, P0 >
struct  osgIntrospection::TypedConstructorInfo2< C, IC, P0, P1 >
struct  osgIntrospection::TypedConstructorInfo3< C, IC, P0, P1, P2 >
struct  osgIntrospection::TypedConstructorInfo4< C, IC, P0, P1, P2, P3 >
struct  osgIntrospection::TypedConstructorInfo5< C, IC, P0, P1, P2, P3, P4 >
struct  osgIntrospection::TypedConstructorInfo6< C, IC, P0, P1, P2, P3, P4, P5 >
struct  osgIntrospection::TypedConstructorInfo7< C, IC, P0, P1, P2, P3, P4, P5, P6 >
struct  osgIntrospection::TypedConstructorInfo8< C, IC, P0, P1, P2, P3, P4, P5, P6, P7 >
struct  osgIntrospection::TypedConstructorInfo9< C, IC, P0, P1, P2, P3, P4, P5, P6, P7, P8 >
struct  osgIntrospection::TypedConstructorInfo10< C, IC, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9 >
struct  osgIntrospection::TypedConstructorInfo11< C, IC, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 >
struct  osgIntrospection::TypedConstructorInfo12< C, IC, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 >
struct  osgIntrospection::TypedConstructorInfo13< C, IC, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 >
struct  osgIntrospection::TypedConstructorInfo14< C, IC, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 >
struct  osgIntrospection::TypedConstructorInfo15< C, IC, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 >
struct  osgIntrospection::TypedConstructorInfo16< C, IC, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 >
class  osgIntrospection::TypedMethodInfo0< C, R >
class  osgIntrospection::TypedMethodInfo1< C, R, P0 >
class  osgIntrospection::TypedMethodInfo2< C, R, P0, P1 >
class  osgIntrospection::TypedMethodInfo3< C, R, P0, P1, P2 >
class  osgIntrospection::TypedMethodInfo4< C, R, P0, P1, P2, P3 >
class  osgIntrospection::TypedMethodInfo5< C, R, P0, P1, P2, P3, P4 >
class  osgIntrospection::TypedMethodInfo6< C, R, P0, P1, P2, P3, P4, P5 >
class  osgIntrospection::TypedMethodInfo7< C, R, P0, P1, P2, P3, P4, P5, P6 >
class  osgIntrospection::TypedMethodInfo8< C, R, P0, P1, P2, P3, P4, P5, P6, P7 >
class  osgIntrospection::TypedMethodInfo9< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8 >
class  osgIntrospection::TypedMethodInfo10< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9 >
class  osgIntrospection::TypedMethodInfo11< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 >
class  osgIntrospection::TypedMethodInfo12< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 >
class  osgIntrospection::TypedMethodInfo13< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 >
class  osgIntrospection::TypedMethodInfo14< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 >
class  osgIntrospection::TypedMethodInfo15< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 >
class  osgIntrospection::TypedMethodInfo16< C, R, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 >
class  osgIntrospection::TypedMethodInfo0< C, void >
class  osgIntrospection::TypedMethodInfo1< C, void, P0 >
class  osgIntrospection::TypedMethodInfo2< C, void, P0, P1 >
class  osgIntrospection::TypedMethodInfo3< C, void, P0, P1, P2 >
class  osgIntrospection::TypedMethodInfo4< C, void, P0, P1, P2, P3 >
class  osgIntrospection::TypedMethodInfo5< C, void, P0, P1, P2, P3, P4 >
class  osgIntrospection::TypedMethodInfo6< C, void, P0, P1, P2, P3, P4, P5 >
class  osgIntrospection::TypedMethodInfo7< C, void, P0, P1, P2, P3, P4, P5, P6 >
class  osgIntrospection::TypedMethodInfo8< C, void, P0, P1, P2, P3, P4, P5, P6, P7 >
class  osgIntrospection::TypedMethodInfo9< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8 >
class  osgIntrospection::TypedMethodInfo10< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9 >
class  osgIntrospection::TypedMethodInfo11< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 >
class  osgIntrospection::TypedMethodInfo12< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 >
class  osgIntrospection::TypedMethodInfo13< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 >
class  osgIntrospection::TypedMethodInfo14< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 >
class  osgIntrospection::TypedMethodInfo15< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 >
class  osgIntrospection::TypedMethodInfo16< C, void, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 >
struct  osgIntrospection::TypeNameAliasProxy< C >
class  osgIntrospection::Value
struct  osgIntrospection::Value::Instance_base
struct  osgIntrospection::Value::Instance< T >
struct  osgIntrospection::Value::Instance_box_base
struct  osgIntrospection::Value::Instance_box< T >
struct  osgIntrospection::Value::Ptr_instance_box< T >

Typedefs

typedef std::vector< const
Converter * > 
ConverterList
typedef std::vector< const
CustomAttribute * > 
CustomAttributeList
typedef std::vector< const
CustomAttributeProvider * > 
CustomAttributeProviderList
typedef std::map< const std::type_info *,
Type *, TypeInfoCmp
TypeMap
 A map of types, indexed by their associated type_info 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< int, std::string > EnumLabelMap
typedef std::vector< ValueValueList
 A vector of values.

Functions

bool operator== (const Type &t1, const Type &t2)
bool operator!= (const Type &t1, const Type &t2)
bool operator< (const Type &t1, const Type &t2)
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>
variant_cast (const Value &v)
template<typename T>
bool requires_conversion (const Value &v)
template<typename T>
T * extract_raw_data (Value &v)
template<typename T>
const T * extract_raw_data (const Value &v)


Detailed Description

The osgIntrospection library provides the an introspection/reflection framework for non intrusive run-time querying and calling of class properties and methods.

osgIntrospection is ideal for providing non native language binding to the OpenSceneGraph, convenient means for editing properties in a generic way, such as required in scene graph editors, and also facilitates the automatic serealization of objects.

osgIntrospection can be used to provide introspection support to 3rd Party libraries without the need to modify them to add this support, the wrappers providing the actual binding can be automatically generated by parsing header files via gen_wrapper utility. All the core OpenSceneGraph libraries have pre built wrappers available for you use.


Typedef Documentation

typedef std::vector<const ConstructorInfo* > osgIntrospection::ConstructorInfoList
 

typedef std::vector< const Converter * > osgIntrospection::ConverterList
 

typedef std::vector<const CustomAttribute* > osgIntrospection::CustomAttributeList
 

typedef std::vector<const CustomAttributeProvider *> osgIntrospection::CustomAttributeProviderList
 

typedef std::map<int, std::string> osgIntrospection::EnumLabelMap
 

typedef std::vector<const MethodInfo* > osgIntrospection::MethodInfoList
 

typedef std::vector<const ParameterInfo* > osgIntrospection::ParameterInfoList
 

typedef std::vector<const PropertyInfo* > osgIntrospection::PropertyInfoList
 

typedef std::map<const std::type_info* , Type* , TypeInfoCmp> osgIntrospection::TypeMap
 

A map of types, indexed by their associated type_info structure.

typedef std::vector<Value> osgIntrospection::ValueList
 

A vector of values.


Function Documentation

bool OSGINTROSPECTION_EXPORT areArgumentsCompatible const ValueList vl,
const ParameterInfoList pl,
float &  match
 

bool OSGINTROSPECTION_EXPORT areParametersCompatible const ParameterInfoList pl1,
const ParameterInfoList pl2
 

template<typename T>
void convertArgument ValueList src,
ValueList dest,
const ParameterInfoList pl,
int  index
 

template<typename T>
const T* extract_raw_data const Value &  v  ) 
 

Returns a typed pointer to the data contained in a const Value instance. If the value's type is not identical to type T, a null pointer is returned.

template<typename T>
T* extract_raw_data Value &  v  ) 
 

Returns a typed pointer to the data contained in a Value instance. If the value's type is not identical to type T, a null pointer is returned.

bool operator!= const Type &  t1,
const Type &  t2
[inline]
 

Inequality test operator. Returns false if the two instances of Type describe the same type, true otherwise.

bool operator< const Type &  t1,
const Type &  t2
[inline]
 

Less than operator. Returns true if the first type comes before the second one. The actual ordering is implementation-dependent.

bool operator== const Type &  t1,
const Type &  t2
[inline]
 

Equality test operator. Returns true if the two instances of Type describe the same type, false otherwise.

bool operator>= const Type &  t1,
const Type &  t2
[inline]
 

Greater than or equal to operator. Returns !operator<().

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. Returns false otherwise.

template<typename T>
T variant_cast const Value &  v  ) 
 

Tries to convert an instance of Value to an object of type T. If T is a plain type or a pointer type (either const or non-const), and it matches the type of the value contained in v, then the actual value of type T is returned. If T is a [const] reference type, and its base (non reference) type matches the internal value's type, then a [const] reference to the internal value is returned. If none of the above conditions are met, a conversion is attempted as described in Value::convert() and then variant_cast is called again with the converted value as parameter. If the conversion can't be completed, an exception is thrown. Conversions that attempt to make a const pointer non-const will fail.


Generated on Thu Sep 8 04:58:16 2005 for OpenSceneGraph by  doxygen 1.3.9.1