dart
|
NodeManagerJoiner allows classes that inherit from various SpecializedNodeManager types to be inherited by a single derived class. More...
#include <NodeManagerJoiner.hpp>
Public Member Functions | |
NodeManagerJoinerForBodyNode ()=default | |
Default constructor. | |
template<typename Base1Arg , typename... Base2Args> | |
NodeManagerJoinerForBodyNode (Base1Arg &&arg1, Base2Args &&... args2) | |
This constructor allows one argument to be passed to the Base1 constructor and arbitrarily many arguments to be passed to the Base2 constructor. More... | |
template<typename Base1Arg > | |
NodeManagerJoinerForBodyNode (Base1Arg &&arg1, common::NoArgTag) | |
This constructor passes one argument to the Base1 constructor and no arguments to the Base2 constructor. More... | |
template<typename... Base2Args> | |
NodeManagerJoinerForBodyNode (common::NoArgTag, Base2Args &&... args2) | |
This constructor passes no arguments to the Base1 constructor and arbitrarily many arguments to the Base2 constructor. More... | |
template<class NodeType > | |
std::size_t | getNumNodes () const |
template<class NodeType > | |
NodeType * | getNode (std::size_t index) |
template<class NodeType > | |
const NodeType * | getNode (std::size_t index) const |
Static Public Member Functions | |
template<class NodeType > | |
static constexpr bool | isSpecializedForNode () |
NodeManagerJoiner allows classes that inherit from various SpecializedNodeManager types to be inherited by a single derived class.
This class solved the diamond-of-death problem for multiple SpecializedNodeManager inheritance.
dart::dynamics::NodeManagerJoinerForBodyNode< Base1, Base2 >::NodeManagerJoinerForBodyNode | ( | Base1Arg && | arg1, |
Base2Args &&... | args2 | ||
) |
This constructor allows one argument to be passed to the Base1 constructor and arbitrarily many arguments to be passed to the Base2 constructor.
dart::dynamics::NodeManagerJoinerForBodyNode< Base1, Base2 >::NodeManagerJoinerForBodyNode | ( | Base1Arg && | arg1, |
common::NoArgTag | |||
) |
This constructor passes one argument to the Base1 constructor and no arguments to the Base2 constructor.
dart::dynamics::NodeManagerJoinerForBodyNode< Base1, Base2 >::NodeManagerJoinerForBodyNode | ( | common::NoArgTag | , |
Base2Args &&... | args2 | ||
) |
This constructor passes no arguments to the Base1 constructor and arbitrarily many arguments to the Base2 constructor.