33 #ifndef DART_COMMON_COMPOSITEJOINER_HPP_
34 #define DART_COMMON_COMPOSITEJOINER_HPP_
43 template <
class... OtherBases>
51 template <
class Base1>
62 template <
class Base1,
class Base2>
79 template <
typename Base1Arg,
typename... Base2Args>
84 template <
typename Base1Arg>
89 template <
typename... Base2Args>
102 const T* get()
const;
106 void set(
const T* aspect);
110 void set(std::unique_ptr<T>&& aspect);
113 template <
class T,
typename... Args>
114 T* createAspect(Args&&... args);
122 std::unique_ptr<T> releaseAspect();
126 static constexpr
bool isSpecializedFor();
131 template <
class Base1,
class Base2,
class... OtherBases>
133 :
public CompositeJoiner<Base1, CompositeJoiner<Base2, OtherBases...> >
149 template <
typename... Args>
CompositeJoiner()=default
Default constructor.
virtual ~CompositeJoiner()=default
CompositeJoiner()=default
Default constructor.
virtual ~CompositeJoiner()=default
virtual ~CompositeJoiner()=default
Terminator for the variadic template.
Definition: CompositeJoiner.hpp:45
virtual ~CompositeJoiner()=default
NoArgTag
Used to tag arguments as blank for in variadic joiner classes such as common::CompositeJoiner and dyn...
Definition: Empty.hpp:48
Definition: BulletCollisionDetector.cpp:65