Template Class applicator
Defined in File applicator.hpp
Class Documentation
-
template<class TBaseController, template<class TDerivedController, class...> class TInteractor, class ...Args>
class applicator Wrapping functor to apply interactions between a robot and the arena each timestep.
Note
This is not part of the arena or the controller namespace, because it encompasses applying operations to BOTH the arena and controller, so does not fit in either, and gets its own namespace.
- Template Parameters:
TBaseController – The type of the base controller class which all controllers processed by this class are derived from.
TInteractor – The type of the robot-arena interaction_applicatorion class. It must (1) take the derived controller type as a template argument, (2) define operator(), which takes two arguments: the derived controller type as a reference, and the current timestep as a constant reference.
Public Functions
-
applicator(applicator&&) = delete
-
applicator(const applicator&) = delete
-
inline applicator(TBaseController *const controller, const rtypes::timestep &t)
-
template<typename TDerivedController>
inline auto operator()(TInteractor<TDerivedController, Args...> &interactor) const -> decltype(interactor(std::declval<TDerivedController&>(), std::declval<const rtypes::timestep&>()))
-
applicator &operator=(applicator&&) = delete
-
const applicator &operator=(const applicator&) = delete