19 #ifndef INCLUDED_TypeKeyedTuple_h_GUID_04E79266_BD2F_458D_B7AC_DF5F35CC6EC4 20 #define INCLUDED_TypeKeyedTuple_h_GUID_04E79266_BD2F_458D_B7AC_DF5F35CC6EC4 25 #include "Transform.h" 47 template <
typename KeyList,
typename ComputeValueTypes>
49 :
public TypeKeyedBase<TypeKeyedTuple<KeyList, ComputeValueTypes>> {
53 using key_types = KeyList;
58 template <
typename,
typename>
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 ComputeValueTypes,
typename Key>
82 #endif // INCLUDED_TypeKeyedTuple_h_GUID_04E79266_BD2F_458D_B7AC_DF5F35CC6EC4
Class with static members performing the actual access.
Definition: TypeKeyed.h:102
CRTP base for type-keyed data types, providing a unified interface (compile-time polymorphism) and sh...
Definition: TypeKeyed.h:37
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
Provides a data structure where a value of heterogeneous data types may be stored at runtime for each...
Definition: TypeKeyedTuple.h:48
traits class that MUST be specialized for each type-keyed container: should contain a using type = de...
Definition: TypeKeyed.h:44
typename F::template apply< Args... > apply
Apply an alias class.
Definition: Apply.h:44
t_< detail::transform_< List, Fun >> transform
Given a list and an alias class, apply the alias class to each element in the list and return the res...
Definition: Transform.h:54
apply< detail::apply_list_< F, Args >> apply_list
Apply an alias class, exploding the list of args.
Definition: ApplyList.h:56