|
ponder
3.2
C++ reflection library
|
Root namespace that encapsulates all of Ponder. More...
Namespaces | |
| lua | |
| Contains Ponder Lua support public API. | |
| policy | |
| Ponder policy options. | |
| runtime | |
| Contains Ponder runtime support public API. | |
| uses | |
| Uses for Ponder. Code within this namespace uses the types registered with Ponder for various purposes. | |
Classes | |
| class | Args |
| Wrapper for packing an arbitrary number of arguments into a single object. More... | |
| class | ArrayProperty |
| Specialized type of property for arrays. More... | |
| class | BadArgument |
| Error thrown when providing a function argument which is incompatible with what the function expects. More... | |
| class | BadType |
| Error thrown when providing a metavalue whose type is incompatible with what's expected. More... | |
| class | Class |
| ponder::Class represents a metaclass composed of properties and functions More... | |
| class | ClassAlreadyCreated |
| Error thrown when a declaring a metaclass that already exists. More... | |
| class | ClassBuilder |
| Proxy class which fills a metaclass with its members. More... | |
| class | ClassNotFound |
| Error thrown when a metaclass couldn't be found (either by its name or its id) More... | |
| class | ClassUnrelated |
| Error thrown when trying to convert an object to a class that is not a base nor a derived. More... | |
| class | ClassVisitor |
| Base class for writing custom Class visitors. More... | |
| class | Constructor |
| Represents a metaconstructor which is used to create objects instances from metaclasses. More... | |
| class | Enum |
| ponder::Enum represents a metaenum composed of <name, value> pairs More... | |
| class | EnumAlreadyCreated |
| Error thrown when a declaring a metaenum that already exists. More... | |
| class | EnumBuilder |
| Proxy class which fills a metaenum with its members. More... | |
| class | EnumNameNotFound |
| Error thrown when the value of a metaenum couldn't be found by its name. More... | |
| class | EnumNotFound |
| Error thrown when a metaenum couldn't be found (either by its name or its id) More... | |
| class | EnumObject |
| Wrapper to manipulate enumerated values in the Ponder system. More... | |
| class | EnumProperty |
| Specialized type of property for enums. More... | |
| class | EnumValueNotFound |
| Error thrown when a value in a metaenum couldn't be found. More... | |
| class | Error |
| Base class for every exception thrown in Ponder. More... | |
| class | ForbiddenCall |
| Error thrown when calling a function that is not callable. More... | |
| class | ForbiddenRead |
| Error thrown when trying to read a property that is not readable. More... | |
| class | ForbiddenWrite |
| Error thrown when trying to write a function that is not writable. More... | |
| class | Function |
| Abstract representation of a function. More... | |
| class | FunctionNotFound |
| Error thrown when a function can't be found in a metaclass (by its name) More... | |
| class | IUserDataStore |
| Interface to UserData store. More... | |
| class | NotEnoughArguments |
| Error thrown when a declaring a metaclass that already exists. More... | |
| struct | NoType |
Special empty type associated to noType. More... | |
| class | NullObject |
| Error thrown when trying to use an empty metaobject. More... | |
| class | Observer |
| Receives notification about creation / destruction of metaclasses and metaenums. More... | |
| class | OutOfRange |
| Error thrown when using an index which is out of bounds. More... | |
| class | Property |
| Abstract representation of a property. More... | |
| class | PropertyNotFound |
| Error thrown when a property can't be found in a metaclass (by its name) More... | |
| class | SimpleProperty |
| Base class for all simple types of properties. More... | |
| class | Type |
| Base class for all supported types. More... | |
| class | TypeAmbiguity |
| Error thrown when cannot distinguish between multiple type instance. More... | |
| class | UserData |
| Name-value user data. More... | |
| class | UserObject |
| Wrapper to manipulate user objects in the Ponder system. More... | |
| class | UserProperty |
| Specialized type of property for user types. More... | |
| class | Value |
| Variant class which is used to wrap values in the Ponder system. More... | |
| class | ValueVisitor |
| Base class for writing custom Value visitors. More... | |
| class | View |
| class | ViewIterator |
Typedefs | |
| typedef std::type_index | TypeId |
Enumerations | |
| enum | ValueKind { ValueKind::None, ValueKind::Boolean, ValueKind::Integer, ValueKind::Real, ValueKind::String, ValueKind::Enum, ValueKind::Array, ValueKind::Reference, ValueKind::User } |
| Enumeration of abstract value types supported by Ponder Values. More... | |
| enum | ReferenceKind { ReferenceKind::None, ReferenceKind::Instance, ReferenceKind::Pointer, ReferenceKind::Reference, ReferenceKind::SmartPointer, ReferenceKind::BuiltinArray } |
| Enumeration of ways to reference an object. More... | |
| enum | FunctionKind { FunctionKind::None, FunctionKind::Function, FunctionKind::MemberFunction, FunctionKind::FunctionWrapper, FunctionKind::BindExpression, FunctionKind::Lambda } |
| Enumeration of the kinds of function recognised. More... | |
| enum | PropertyKind { PropertyKind::Function, PropertyKind::MemberObject } |
| Enumeration of the kinds of property exposed. More... | |
| enum | PropertyAccessKind { Simple, Enum, Container, User } |
| Enumeration of the kinds of Property accessors use. More... | |
Functions | |
| void * | classCast (void *pointer, const Class &sourceClass, const Class &targetClass) |
| Convert a pointer from a source metaclass to a related target metaclass. More... | |
| void | addObserver (Observer *observer) |
| Register an observer. More... | |
| void | removeObserver (Observer *observer) |
| Unregister an observer. More... | |
| IUserDataStore * | userDataStore () |
| std::istream & | operator>> (std::istream &stream, Value &value) |
| Overload of operator >> to extract a ponder::Value from a standard stream. More... | |
| std::ostream & | operator<< (std::ostream &stream, const Value &value) |
| Overload of operator << to print a ponder::Value into a standard stream. More... | |
| template<typename T > | |
| ValueKind | mapType () |
| Map a C++ type to a Ponder type. More... | |
Root namespace that encapsulates all of Ponder.
NoDocumentation
|
strong |
Enumeration of the kinds of function recognised.
| Enumerator | |
|---|---|
| None | not a function |
| Function | a function |
| MemberFunction | function in a class or struct |
| FunctionWrapper |
|
| BindExpression |
|
| Lambda | lambda function |
|
strong |
|
strong |
|
strong |
Enumeration of ways to reference an object.
|
strong |
Enumeration of abstract value types supported by Ponder Values.
| void ponder::addObserver | ( | Observer * | observer | ) |
Register an observer.
| observer | Pointer to the observer instance to register |
Convert a pointer from a source metaclass to a related target metaclass.
| pointer | Source pointer to convert |
| sourceClass | Source metaclass to convert from |
| targetClass | Target metaclass to convert to |
| ClassUnrelated | sourceClass is not a base nor a derived of targetClass |
|
inline |
Map a C++ type to a Ponder type.
This function simply returns the mapping defined by ValueMapper (i.e. ValueMapper<T>::type).
| std::ostream& ponder::operator<< | ( | std::ostream & | stream, |
| const Value & | value | ||
| ) |
Overload of operator << to print a ponder::Value into a standard stream.
| stream | Target output stream |
| value | Value to print |
| std::istream& ponder::operator>> | ( | std::istream & | stream, |
| Value & | value | ||
| ) |
Overload of operator >> to extract a ponder::Value from a standard stream.
| stream | Source input stream |
| value | Value to fill |
| void ponder::removeObserver | ( | Observer * | observer | ) |
Unregister an observer.
| observer | Pointer to the observer instance to unregister |