|
REFUREKU_API | NamespaceFragment (char const *name, std::size_t id=0u) noexcept |
|
| NamespaceFragment (NamespaceFragment &&)=delete |
|
REFUREKU_API void | addNestedEntity (Entity const &nestedEntity) noexcept |
| Add a nested entity to the namespace. More...
|
|
REFUREKU_API void | setNestedEntitiesCapacity (std::size_t capacity) noexcept |
| Set the number of nested entities for this entity. Useful to avoid reallocations when adding a lot of entities. If the number of entities is already >= to the provided count, this method has no effect. More...
|
|
REFUREKU_API bool | addProperty (Property const &property) noexcept |
| Add a property to this namespace fragment. The property is immediately added to the merged namespace. More...
|
|
REFUREKU_API Namespace const & | getMergedNamespace () const noexcept |
| Get the namespace this fragment is merged to. More...
|
|
REFUREKU_INTERNAL bool | foreachNestedEntity (Visitor< Entity > visitor, void *userData) const |
| Execute the given visitor on all nested entities. More...
|
|
REFUREKU_INTERNAL void | unmergeFragment () const noexcept |
| Unmerge the fragment from the merged namespace.
|
|
| Entity (Entity const &)=delete |
|
RFK_NODISCARD REFUREKU_API Property const * | getPropertyAt (std::size_t propertyIndex) const noexcept |
| Retrieve the property at the given index. If propertyIndex is greater or equal to the properties count, the behaviour is undefined. More...
|
|
template<typename PropertyType , typename = std::enable_if_t<std::is_base_of_v<Property, PropertyType> && !std::is_same_v<PropertyType, Property>>> |
RFK_NODISCARD PropertyType const * | getProperty (bool isChildClassValid=true) const noexcept |
| Retrieve a property of a given type from this entity. More...
|
|
RFK_NODISCARD REFUREKU_API Property const * | getProperty (Struct const &archetype, bool isChildClassValid=true) const noexcept |
| Retrieve the first property matching with the provided archetype. More...
|
|
RFK_NODISCARD REFUREKU_API Property const * | getPropertyByName (char const *name) const noexcept |
| Retrieve the first property named with the provided name. More...
|
|
RFK_NODISCARD REFUREKU_API Property const * | getPropertyByPredicate (Predicate< Property > predicate, void *userData) const |
| Retrieve a property matching with a predicate. More...
|
|
template<typename PropertyType , typename = std::enable_if_t<std::is_base_of_v<Property, PropertyType> && !std::is_same_v<PropertyType, Property>>> |
RFK_NODISCARD Vector< PropertyType const * > | getProperties (bool isChildClassValid=true) const noexcept |
| Retrieve all properties matching with the provided archetype. If PropertyType uses multiple inheritance, its first inherited type must be rfk::Property or derived. More...
|
|
RFK_NODISCARD REFUREKU_API Vector< Property const * > | getProperties (Struct const &archetype, bool isChildClassValid=true) const noexcept |
| Retrieve all properties matching with the provided archetype. More...
|
|
RFK_NODISCARD REFUREKU_API Vector< Property const * > | getPropertiesByName (char const *name) const noexcept |
| Retrieve all properties named with the provided name. More...
|
|
RFK_NODISCARD REFUREKU_API Vector< Property const * > | getPropertiesByPredicate (Predicate< Property > predicate, void *userData) const |
| Retrieve all properties matching with a predicate in this entity. More...
|
|
RFK_NODISCARD REFUREKU_API std::size_t | getPropertiesCount () const noexcept |
| Get the number of properties attached to this entity. More...
|
|
REFUREKU_API bool | foreachProperty (Visitor< Property > visitor, void *userData) const |
| Execute the given visitor on all properties attached to this entity. More...
|
|
RFK_NODISCARD REFUREKU_API char const * | getName () const noexcept |
| Get the name of the entity. More...
|
|
RFK_NODISCARD REFUREKU_API bool | hasSameName (char const *name) const noexcept |
| Check that this entity has the same name as the provided string. More...
|
|
RFK_NODISCARD REFUREKU_API std::size_t | getId () const noexcept |
| Get the program-unique id of the entity. More...
|
|
RFK_NODISCARD REFUREKU_API EEntityKind | getKind () const noexcept |
| Get the kind of the entity. Knowing the kind allows to safely cast to child classes. Check the EEntityKind documentation for more information. More...
|
|
RFK_NODISCARD REFUREKU_API Entity const * | getOuterEntity () const noexcept |
| Get the outer entity of the entity. It basically corresponds to the entity this entity was declared in from a source-code point of view. A nullptr outer entity means the entity was declared at file level. More...
|
|
REFUREKU_API bool | addProperty (Property const &property) noexcept |
| Add a property to this entity. More...
|
|
REFUREKU_API void | setOuterEntity (Entity const *outerEntity) noexcept |
| Setter for the field _outerEntity. More...
|
|
REFUREKU_API void | setPropertiesCapacity (std::size_t capacity) noexcept |
| Set the number of properties for this entity. Useful to avoid reallocations when adding a lot of properties. If the number of properties is already >= to the provided capacity, this method has no effect. More...
|
|
Entity & | operator= (Entity const &)=delete |
|
Entity & | operator= (Entity &&)=delete |
|
RFK_NODISCARD REFUREKU_API bool | operator== (Entity const &other) const noexcept |
|
RFK_NODISCARD REFUREKU_API bool | operator!= (Entity const &other) const noexcept |
|