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>
80 template <
typename Base1Arg,
typename... Base2Args>
85 template <
typename Base1Arg>
90 template <
typename... Base2Args>
103 const T* get()
const;
107 void set(
const T* aspect);
111 void set(std::unique_ptr<T>&& aspect);
114 template <
class T,
typename ...Args>
115 T* createAspect(Args&&... args);
123 std::unique_ptr<T> releaseAspect();
127 static constexpr
bool isSpecializedFor();
133 template <
class Base1,
class Base2,
class... OtherBases>
152 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:45
Definition: BulletCollisionDetector.cpp:63