|
CeresEngine 0.2.0
A game development framework
|
#include "Forward.hpp"#include "EntityID.hpp"#include "CeresEngine/Concepts.hpp"#include "CeresEngine/Macros.hpp"#include "CeresEngine/Foundation/Any.hpp"#include "CeresEngine/Foundation/Container/SmallVector.hpp"#include "CeresEngine/Foundation/Container/Tuple.hpp"#include "CeresEngine/Reflection/Type.hpp"#include "CeresEngine/Reflection/Box.hpp"#include "CeresEngine/Reflection/IReflectable.hpp"#include <bitset>#include <type_traits>#include "ComponentStore.hpp"Go to the source code of this file.
Classes | |
| struct | CeresEngine::AbstractComponent |
| A abstract class that provides a trait that allows checking for component implementations. More... | |
| struct | CeresEngine::Component< T > |
| Components serve as the base for data storage for an entity. More... | |
| struct | CeresEngine::Component< T >::Accessor |
| An accessor class that implements high-level access to an entity that has the given component. More... | |
| class | CeresEngine::ComponentMaskSet |
| A object that manages a set of components masks. More... | |
| struct | CeresEngine::ComponentSet< Cs > |
| struct | CeresEngine::ComponentSet<> |
| struct | CeresEngine::AbstractComponentListener |
| An abstract type that represents a generic component listener. More... | |
| struct | CeresEngine::ComponentListener< Cs > |
The ComponentListener is a EntityManager listener type that gets notified whenever an entity matching a given mask() gets added or removed in the entity manager. More... | |
| struct | CeresEngine::ComponentChange |
| A structure that encodes a change to a single component field. More... | |
| struct | CeresEngine::ComponentChangeSet |
| A structure that encodes a set of changes done to a component. More... | |
| class | CeresEngine::ComponentType |
| A type that describes and provides type-erased operations on a component. More... | |
| class | CeresEngine::TComponentType< C > |
An implementation of the ComponentType interface that implements type-erased operations for components. More... | |
Namespaces | |
| namespace | CeresEngine |
Concepts | |
| concept | CeresEngine::CComponent |
Macros | |
| #define | CE_EXTERN_COMPONENT_BASE(T, EXTERN) |
| #define | CE_EXTERN_COMPONENT(T) CE_EXTERN_COMPONENT_BASE(T, extern); |
| #define | CE_EXTERN_COMPONENT_IMPL(T) CE_EXTERN_COMPONENT_BASE(T, ); |
Typedefs | |
| using | CeresEngine::ComponentID = unsigned int |
| A numeric type that represents a component. | |
| using | CeresEngine::ComponentMask = std::bitset< 128 > |
| A bitset that represents a components mask (i.e. a set of components) | |
| template<typename T , typename C > | |
| using | CeresEngine::ifComponent = typename std::enable_if< isComponent< C >, T >::type |
If the type C is a component (as defined by isComponent<C>), this type is aliased to T. | |
| template<typename T , typename... Cs> | |
| using | CeresEngine::ifComponents = typename std::enable_if< areComponents< Cs... >, T >::type |
If the types Cs are all components (as defined by areComponents<Cs>), this type is aliased to T. | |
Functions | |
| template<CComponent C> | |
| constexpr void | CeresEngine::checkComponent () |
A trait that checks if the type C is a valid component type. | |
| template<typename T > | |
| void | CeresEngine::buildComponentMask (ComponentMask &mask) |
| template<typename T , typename T1 , typename... Ts> | |
| void | CeresEngine::buildComponentMask (ComponentMask &mask) |
| template<typename... Ts> | |
| ComponentMask | CeresEngine::buildComponentMask () |
Variables | |
| template<typename C > | |
| constexpr bool | CeresEngine::isComponent = std::is_base_of<AbstractComponent, C>::value |
A trait that checks if the type C is a component. | |
| template<typename... Cs> | |
| constexpr bool | CeresEngine::areComponents = (isComponent<Cs> && ...) |
A trait that checks if the types Cs are all components. | |
| #define CE_EXTERN_COMPONENT | ( | T | ) | CE_EXTERN_COMPONENT_BASE(T, extern); |
| #define CE_EXTERN_COMPONENT_BASE | ( | T, | |
| EXTERN | |||
| ) |
| #define CE_EXTERN_COMPONENT_IMPL | ( | T | ) | CE_EXTERN_COMPONENT_BASE(T, ); |