siplasplas
|
Stores dynamic reflection information of a member object. More...
#include <field.hpp>
Public Member Functions | |
const cpp::typeerasure::Field32 & | getField () const |
Returns the pointer to the member object. | |
template<typename Object > | |
decltype(auto) | get (Object &&object) const |
Returns a reference to the member object of the given object. More... | |
template<typename T , typename Object > | |
decltype(auto) | get (Object &&object) const |
Returns a reference to the member object of the given object. More... | |
![]() | |
Entity & | parent () |
Returns a reference to the parent entity The behavior is undefined if the entity has no parent entity (See orphan()) | |
Runtime & | runtime () |
Returns a reference to the runtime where the entity is registered. More... | |
const SourceInfo & | sourceInfo () const |
Returns source information about the entity. | |
const std::string & | name () const |
Returns the name of the entity. | |
const std::string & | fullName () const |
Returns the full qualifies name of the entity. | |
const SourceInfo::Kind & | kind () const |
Returns the kind (Namespace, class, enum, member function, etc) of the entity. | |
bool | detached () const |
Checks whether the entity is not registered (attached) into a dynamic reflection runtime. More... | |
bool | orphan () const |
Checks if the entity has no parent entity. More... | |
void | attach (Runtime &runtime) |
Attaches the entity to a given runtime. More... | |
void | attach (const std::weak_ptr< Entity > &parent) |
Attaches the entity to the runtime of a given entity and links that enity as parent. More... | |
void | addChild (const std::shared_ptr< Entity > &entity) |
Links the given entity as child of the entity. More... | |
bool | isChild (const std::shared_ptr< Entity > &entity) const |
Checks if the given entity is a child entity of this entity. More... | |
bool | isChild (const Entity &entity) const |
Checks if the given entity is a child entity of this entity. More... | |
bool | isChildByName (const std::string &name) const |
Checks if the entity has a child entity with the given name. More... | |
bool | isChildByFullName (const std::string &fullName) const |
Checks if the entity has a child entity with the given name. More... | |
Entity & | getChildByFullName (const std::string &fullName) |
Returns a child entity given its full name. More... | |
Entity & | getChildByName (const std::string &name) |
Returns a child entity given its name. More... | |
std::vector< std::string > | getChildrenNamesByKind (const SourceInfo::Kind &kind) |
Returns the names of the child entities with a given kind. More... | |
std::shared_ptr< Entity > | pointer () |
Returns the shared pointer holding the entity object. | |
Static Public Member Functions | |
static std::shared_ptr< Field > | create (const SourceInfo &sourceInfo, const cpp::typeerasure::Field32 &field) |
Instances a field entity given its source information and a member object pointer. More... | |
static Field & | fromEntity (const std::shared_ptr< Entity > &entity) |
Returns a reference to a field entity from a pointer to an entity. More... | |
Additional Inherited Members | |
![]() | |
Entity (const SourceInfo &sourceInfo) | |
Stores dynamic reflection information of a member object.
|
static |
Returns a reference to a field entity from a pointer to an entity.
This function performs an entity cast from a generic entity pointer to a field entity. The behavior is undefined if the entity is not a field (See Entity::kind())
entity | A shared pointer to an entity |
|
inline |
Returns a reference to the member object of the given object.
Equivakent to getField().get(object)
|
inline |
Returns a reference to the member object of the given object.
Equivakent to getField().getAs<T>(object)
T | Value type of the member object. The behavior is undefined if T is not the same type of the member object |