Aikido
metaprogramming.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_COMMON_METAPROGRAMMING_HPP_
2 #define AIKIDO_COMMON_METAPROGRAMMING_HPP_
3 
4 #include <memory>
5 
6 namespace aikido {
7 namespace common {
8 
12 template <class... Types>
13 class type_list
14 {
15 };
16 
42 template <
43  template <class>
44  class Factory,
45  template <class>
46  class Pointer,
47  class BaseParameter,
48  class TypeList>
50 {
51 };
52 
57 template <class Pointee>
59 
64 template <class Pointee>
66 
67 } // namespace common
68 } // namespace aikido
69 
71 
72 #endif // AIKIDO_COMMON_METAPROGRAMMING_HPP_
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
aikido::common::DynamicCastFactory_shared_ptr
Helper template class necessary to use std::shared_ptr as the pointer type in DynamicCastFactory.
Definition: metaprogramming-impl.hpp:6
metaprogramming-impl.hpp
aikido::common::type_list
Wrapper for a variadic template parameter pack of types.
Definition: metaprogramming.hpp:13
aikido::common::DynamicCastFactory
Call a template factory function based on runtime type of the first argument to a function.
Definition: metaprogramming.hpp:49
aikido::common::DynamicCastFactory_raw_ptr
Helper template class necessary to use raw pointers as the pointer type in DynamicCastFactory.
Definition: metaprogramming-impl.hpp:19