22 #ifndef INCLUDED_TypeKeyedMap_h_GUID_29C6B905_4493_43AF_A811_71589CFD6FBC
23 #define INCLUDED_TypeKeyedMap_h_GUID_29C6B905_4493_43AF_A811_71589CFD6FBC
48 template <
typename KeyList,
typename ValueType>
54 using key_types = KeyList;
55 using value_type = ValueType;
58 template <
typename,
typename>
60 using container_type = std::array<value_type, size_constant::value>;
62 container_type &nested_container() {
return container_; }
64 container_type
const &nested_container()
const {
return container_; }
67 container_type container_;
71 namespace typekeyed_detail {
72 template <
typename KeyList,
typename ValueType,
typename Key>
73 struct ValueTypeAtKeyTraits<
TypeKeyedMap<KeyList, ValueType>, Key> {
74 using type = ValueType;
81 #endif // INCLUDED_TypeKeyedMap_h_GUID_29C6B905_4493_43AF_A811_71589CFD6FBC
The main namespace for all C++ elements of the framework, internal and external.
size< coerce_list< Ts...>> length
Synonym for typepack::size.
A class that uses types as an index into a container with uniform-typed contents, somewhat like a map...