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> class Factory,
44  template <class> class Pointer,
45  class BaseParameter,
46  class TypeList>
48 {
49 };
50 
55 template <class Pointee>
57 
62 template <class Pointee>
64 
65 } // namespace common
66 } // namespace aikido
67 
69 
70 #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:47
aikido::common::DynamicCastFactory_raw_ptr
Helper template class necessary to use raw pointers as the pointer type in DynamicCastFactory.
Definition: metaprogramming-impl.hpp:19