A | |
A Note on Properties | |
Abstract, Type | |
AccessorAccessProperty | |
AccessorDirectProperty | |
AccessorIndirectProperty | |
AccessorProperty | |
AddMember, StructType | |
AddProperty, PersistentClass | |
AddString, StringBlock | |
AddValue, EnumType | |
Alias, Variant | |
Alignment, Type | |
Annotation, PropertyPath | |
AnnotationAs, PropertyPath | |
AnnotationMap, ObjectType | |
Annotations | |
AnyRootType, Type | |
Application | |
ApplicationClass | |
ApplicationClass:: | |
arg, Parameters | |
Array, PropertyPath | |
ArrayItem, PropertyPath | |
ArrayProperty | |
ArrayResize, PropertyPath | |
ArraySize, PropertyPath | |
AsConstRef, Variant | |
AsRef, Variant | |
ASSOCIATE | |
AsValue, Variant | |
AttributeTag, SerializationTag | |
Author | |
autocast | |
B | |
BaseClassProperty | |
m | BaseJumper, BaseClassProperty |
begin, MutableString | |
Begin | |
BindType, Variant | |
BlockString | |
bool |
Checks if the class is Abstract.
bool Abstract() const
An implemetation of DataProperty using a pair of callbacks to access a reference (const and non-const).
template<typename ObjectType, typename Type> class AccessorAccessProperty : public DataProperty
An implemetation of DataProperty using a pair of callbacks to read and write a reference.
template<typename ObjectType, typename MemberType> class AccessorDirectProperty : public DataProperty
An implemetation of DataProperty using a pair of callbacks to read and write an indirect reference.
template<typename ObjectType, typename MemberType> class AccessorIndirectProperty : public DataProperty
Constructs an AccessorIndirectProperty
AccessorIndirectProperty( void (ObjectType::*)(MemberType &) const, void (ObjectType::*)(const MemberType &) )
An implemetation of DataProperty using a pair of callbacks to read and write a direct reference.
template<typename ObjectType, typename MemberType> class AccessorProperty : public DataProperty
void AddMember( Property * )
BlockString AddString( const Fragment & )
void AddValue( int value, const char * name )
This is a special function, for reflected parameters to reflected function calls.
bool Alias( Variant & value )
The minimum required alignment of the object represented by this class.
unsigned Alignment() const
Returns the annotation by name for the current property.
Variant Annotation( string:: Fragment name ) const
Returns the annotation by name for the current property.
template<typename T> T AnnotationAs( string:: Fragment name ) const
A map of annotations for the class by name.
typedef std::map<string::SharedString, Annotations *> AnnotationMap
typedef std::map<string::SharedString, Variant> Annotations
Returns the annotations for the current property.
const PersistentClass::Annotations *Annotations() const
Retrieves a root (any root) of the type hierarchy.
static Type *AnyRootType()
Base class of “runnable” classes.
class ReflectExport( reflect ) Application : public Dynamic
A class which reflects “runnable” classes.
class ReflectExport( reflect ) ApplicationClass : public Class
Helper class for Application reflection definitions.
template<typename ApplicationType> struct ApplicationClass::DescriptionHelper : public Class::DescriptionHelper<ApplicationType>
gets an array item as a property path, requires IsArray() to be true.
PropertyPath ArrayItem( unsigned index ) const
ArrayProperties represent numerically indexed data.
class ReflectExport( reflect ) ArrayProperty : public Property
sets the array size, requires IsArray() to be true, and the property should be ArrayProperty.Resizable.
bool ArrayResize( unsigned newsize ) const
get the array size, requires IsArray() to be true.
unsigned ArraySize() const
Returns the value of this variant as the requested type.
template<typename T> const T &AsConstRef() const
Returns the value of this variant as the requested type.
template<typename T> T &AsRef() const
Returns the value of this variant as the requested type.
template<typename T> T AsValue() const
Provides an easy way to downcast Dynamics without having to specify the downcast target type, and with minimal interruption to the legible program flow.
static const struct autocast_token { autocast_token(){} } autocast
An implemetation of Property which serializes a base class of another class.
template<typename BaseObjectType> class BaseClassProperty : public DataProperty
BaseClassProperty( BaseObjectType * (*base_jumper)(void *) )
BaseObjectType *( * mBaseJumper )(void *)
the const_iterator at the begining of the string.
const_iterator begin() const
Deserializes an opening tag in the stream.
virtual bool Begin( SerializationTag & , SerializationTag::TagType = SerializationTag::UnknownTag ) = 0
Starts a group, annotated by the tag’s type and text.
virtual bool Begin( const SerializationTag & ) = 0
Writes a serialization start tag.
bool Begin( const SerializationTag & )
Sets the class type for this variant.
void BindType( const Type * type )
BlockStrings are good for serializing strings when read/write order is not guarenteed.
class BlockString
Constructs an empty block string.
BlockString()
false if the string is not set.
operator bool() const
false if the string is not set.
operator bool() const