|
CeresEngine 0.2.0
A game development framework
|
#include "Forward.hpp"#include "CeresEngine/Macros.hpp"#include "CeresEngine/Foundation/Event.hpp"#include <type_traits>Go to the source code of this file.
Classes | |
| struct | CeresEngine::AbstractEntityEvent |
| A abstract class that provides a trait that allows checking for event implementations. More... | |
| struct | CeresEngine::EntityEvent< T > |
| A template class that wraps a event. More... | |
| struct | CeresEngine::EntityEventSet< Es > |
| struct | CeresEngine::EntityEventSet<> |
| class | CeresEngine::EntityEventType |
| A type that describes and provides type-erased operations on a entity event. More... | |
| class | CeresEngine::TEntityEventType< E > |
An implementation of the EntityEventType interface that implements type-erased operations for events. More... | |
Namespaces | |
| namespace | CeresEngine |
Concepts | |
| concept | CeresEngine::CEntityEvent |
Macros | |
| #define | CE_EXTERN_ENTITY_EVENT_BASE(T, EXTERN) |
| #define | CE_EXTERN_ENTITY_EVENT(T) CE_EXTERN_ENTITY_EVENT_BASE(T, extern) |
| #define | CE_EXTERN_ENTITY_EVENT_IMPL(T) CE_EXTERN_ENTITY_EVENT_BASE(T, ) |
Typedefs | |
| using | CeresEngine::EntityEventID = unsigned int |
| A numeric type that represents a event. | |
| template<typename T , typename E > | |
| using | CeresEngine::ifEntityEvent = typename std::enable_if< isEntityEvent< E >, T >::type |
If the type E is a event (as defined by isEntityEvent<E>), this type is aliased to T. | |
Functions | |
| template<CEntityEvent E> | |
| constexpr void | CeresEngine::checkEvent () |
A trait that checks if the type E is a valid event type. | |
Variables | |
| template<typename E > | |
| constexpr bool | CeresEngine::isEntityEvent = std::is_base_of<AbstractEntityEvent, E>::value |
A trait that checks if the type E is a event. | |
| template<typename... Es> | |
| constexpr bool | CeresEngine::areEntityEvents = (isEntityEvent<Es> && ...) |
A trait that checks if the types Es are all events. | |
| #define CE_EXTERN_ENTITY_EVENT | ( | T | ) | CE_EXTERN_ENTITY_EVENT_BASE(T, extern) |
| #define CE_EXTERN_ENTITY_EVENT_BASE | ( | T, | |
| EXTERN | |||
| ) |
| #define CE_EXTERN_ENTITY_EVENT_IMPL | ( | T | ) | CE_EXTERN_ENTITY_EVENT_BASE(T, ) |