ECSTASY
All in the name
Loading...
Searching...
No Matches
component_type.hpp
Go to the documentation of this file.
1
11
12#ifndef ECSTASY_REGISTRY_CONCEPTS_GETCOMPONENTTYPE_HPP_
13#define ECSTASY_REGISTRY_CONCEPTS_GETCOMPONENTTYPE_HPP_
14
15#include "RegistryModifier.hpp"
18
19namespace ecstasy
20{
31 template <typename T>
33
36 template <typename T>
37 struct component_type {
38 using type = T;
39 };
41
44 template <RegistryModifier Q>
45 struct component_type<Q> {
46 using type = typename Q::QueryData;
47 };
49
52 template <IsStorage S>
53 struct component_type<S> {
54 using type = typename S::Component;
55 };
57
66 template <typename T>
68} // namespace ecstasy
69
70#endif /* !ECSTASY_REGISTRY_CONCEPTS_GETCOMPONENTTYPE_HPP_ */
Abstract class for all components storage.
Defines a RegistryModifier concept.
Storage concepts and utilities.
Namespace containing all symbols specific to ecstasy.
Definition ecstasy.hpp:30
typename component_type< T >::type component_type_t
Helper for component_type<T>::type.
Get the component type of the given type.