Represents a parameter list passed to a Function.
class ReflectExport( reflect ) Parameters
Builds a parameter list for a function.
Parameters( const Function * fun )
Returns the type of parameter at index.
const Type *ParameterType( int index ) const
Returns the parameters as an array of Variant.
Variant *Params() const
Gets the parent (base class) of this Type.
Type *Parent() const
The base class of all objects that can be saved and loaded.
class ReflectExport( reflect ) Persistent : public Dynamic
This class enables serialization and stores property maps.
class ReflectExport( reflect ) PersistentClass : public Class
Helper class for Persistent reflection definitions.
template<typename T> class PersistentClass::DescriptionHelper : public Class::DescriptionHelper<T>
class ReflectExport( reflect ) PersistentClass::PropertyIterator
The context that was active when the current context was constructed.
Type *PreviousContext() const
Used to help register properties in a reflection definition.
PropertyCollector Properties
Properties represent data in a reflected type, and can be used to Serialize that data through a Reflector.
class ReflectExport( reflect ) Property : public Dynamic
Returns a PropertyPath which can be used to access the named property.
PropertyPath Property( string:: Fragment property_path )
A map of properties for the class by name.
typedef std::map<string::SharedString, const Property *> PropertyMap
A PropertyPath is a generic proxy for a data in an object.
class ReflectExport( reflect ) PropertyPath
default constructor.
PropertyPath()
Deserialize text using a StandardSerializer.
FunctionParameter read( const string:: Fragment & text, int index = 0 )
Reads binary data.
virtual size_type Read( void * buffer, size_type bufmax ) = 0
string::String Read() const
bool Read( string::MutableString ) const
void Read( Reflector & reflector ) const
bool Read( string::String& ) const
Reads the array and stores the value into the Variant.
virtual bool ReadData( const void * , unsigned item_index, Variant & ) const = 0
Reads this property with the Variant value.
virtual bool ReadData( const void * , Variant & ) const = 0
Reads the value for key.
virtual bool ReadData( const void * in, const Variant & key, Variant & value ) const = 0
int ReadEnum( const void * )
Reads a property using a StandardSerializer to format the data.
bool ReadProperty( const Persistent * , string:: Fragment path, string:: String & value ) const
Reads a reference property (a property representing a Dynamic *).
bool ReadRefProperty( const Persistent * , string:: Fragment path, Dynamic *& value ) const
bool ReadStringProperty( const Persistent * , string:: Fragment path, string:: String & value ) const
Easy way to read data templated on data type.
template<typename T> bool ReadValue( T & data ) const
Reads this variant as typeof(value).
template<typename T> bool ReadValue( T & value ) const
Assign (mutable) params (held in a variant) to parameter, using a chainable method.
FunctionParameter ref( Variant & value, int index = 0 )
Assigns a reference to the variant.
bool Ref( const Variant & value )
Refs the Variant to the array index.
virtual bool RefData( const void * in, void * out, unsigned item_index, Variant & ) const = 0
Refs this property into the Variant value.
virtual bool RefData( const void * , void * , Variant & ) const = 0
References a Dynamic *.
virtual bool Reference( Dynamic * object ) = 0
Adds the object to the list of objects known to this serializer.
virtual bool Reference( const Dynamic * object ) = 0
Writes “@<<count>>” where count is the number of references made so far.
bool Reference( const Dynamic * object )
This function is available in the reflection definition.
inline void ReflectConstructor() const
Reflectors provides an easy and uniform interface for using Serializers, and Deserializers, and maintain a bool for error detection/handling.
class ReflectExport( reflect ) Reflector
Builds a serializing reflector
Reflector( Serializer & )
A utitlity class which makes it easier to sequence reads and writes of multiple member variables.
template<typename T> class Reflector::BoundReflector
Template version of Ref.
template<typename T> bool RefValue( T & value )
Registers a cast from type from to this type.
void RegisterConversion( const Type * from, void (*)(void *, const void *) )
Registers a function in this context.
bool RegisterFunction( string:: ConstString name, const function:: Function * function, bool take_ownership = false )
Adds the function to the function map.
void RegisterFunction( const char * name, const function:: Function * )
Like RegisterFunction, but takes a regular C function pointer, creates the function::Function object wrapper and marks it for deletion.
template<typename FunctionType> bool RegisterFunction( string:: ConstString name, FunctionType function )
Checks if the array/vector represented by this property is resizable.
virtual bool Resizable( const void * ) const = 0
Resizes the array/vector in the object.
virtual bool Resize( void * , unsigned size ) const = 0
static bool ResolvePropertyPath( PropertyPath & result, const Persistent * , string:: Fragment path )
Finds a string in the string, in reverse.
size_type rfind( const char * s, size_type pos = npos, size_type length = npos ) const
virtual int Run( int argc, char * argv[] ) = 0