33 #ifndef DART_DYNAMICS_NODEMANAGERJOINER_HPP_ 34 #define DART_DYNAMICS_NODEMANAGERJOINER_HPP_ 38 #include "dart/common/Empty.hpp" 45 template <
class... OtherBases>
52 template <
class Base1>
62 template <
class Base1,
class Base2>
71 template <
typename Base1Arg,
typename... Base2Args>
76 template <
typename Base1Arg>
77 NodeManagerJoinerForBodyNode(Base1Arg&& arg1, common::NoArgTag);
81 template <
typename... Base2Args>
82 NodeManagerJoinerForBodyNode(common::NoArgTag, Base2Args&&... args2);
84 template <
class NodeType>
85 std::size_t getNumNodes()
const;
87 template <
class NodeType>
88 NodeType* getNode(std::size_t index);
90 template <
class NodeType>
91 const NodeType* getNode(std::size_t index)
const;
93 template <
class NodeType>
94 static constexpr
bool isSpecializedForNode();
100 template <
class Base1,
class Base2,
class... OtherBases>
104 NodeManagerJoinerForBodyNode<Base2, OtherBases...> >
109 template <
typename... Args>
115 template <
class... OtherBases>
122 template <
class Base1>
128 template <
class Base1,
class Base2>
135 using Base::getNumNodes;
136 using Base::isSpecializedForNode;
142 template <
typename... Args>
147 template <
class NodeType>
148 std::size_t getNumNodes(std::size_t treeIndex)
const;
152 template <
class NodeType>
153 NodeType* getNode(std::size_t treeIndex, std::size_t nodeIndex);
157 template <
class NodeType>
158 const NodeType* getNode(std::size_t treeIndex, std::size_t nodeIndex)
const;
161 template <
class NodeType>
162 NodeType* getNode(
const std::string& name);
165 template <
class NodeType>
166 const NodeType* getNode(
const std::string& name)
const;
172 template <
class Base1,
class Base2,
class... OtherBases>
176 NodeManagerJoinerForSkeleton<Base2, OtherBases...> >
181 template <
typename... Args>
188 #include "dart/dynamics/detail/NodeManagerJoiner.hpp" 190 #endif // DART_DYNAMICS_NODEMANAGERJOINER_HPP_ Declaration of the variadic template.
Definition: NodeManagerJoiner.hpp:46
Declaration of variadic template.
Definition: NodeManagerJoiner.hpp:116
Definition: Aspect.cpp:40
NodeManagerJoiner allows classes that inherit from various SpecializedNodeManager types to be inherit...
Definition: NodeManagerJoiner.hpp:63