TVM  0.9.2
TaskDynamics.h File Reference
#include <tvm/defs.h>
#include <tvm/graph/abstract/Node.h>
#include <tvm/task_dynamics/abstract/TaskDynamicsImpl.h>
#include <tvm/task_dynamics/enums.h>
#include <Eigen/Core>
Include dependency graph for TaskDynamics.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tvm::task_dynamics::abstract::TaskDynamics
 

Namespaces

 tvm
 
 tvm::task_dynamics
 
 tvm::task_dynamics::abstract
 

Macros

#define TASK_DYNAMICS_DERIVED_FACTORY(...)
 
#define TASK_DYNAMICS_DERIVED_FACTORY_Z()
 
#define COMPOSABLE_TASK_DYNAMICS_DERIVED_FACTORY(T, ...)
 

Macro Definition Documentation

◆ COMPOSABLE_TASK_DYNAMICS_DERIVED_FACTORY

#define COMPOSABLE_TASK_DYNAMICS_DERIVED_FACTORY (   T,
  ... 
)
Value:
template<typename Derived, typename... Args> \
std::unique_ptr<tvm::task_dynamics::abstract::TaskDynamicsImpl> impl_( \
tvm::FunctionPtr f, tvm::constraint::Type t, const Eigen::VectorXd & rhs, Args &&... args) const \
{ \
return T::template impl_<Derived>(f, t, rhs, std::forward<Args>(args)..., __VA_ARGS__); \
}

This macro can be used to define the derived factory required in composable TaskDynamics implementation, Args are the arguments required by the derived class, the macro variadic arguments are members of the class passed to the derived constructor, the first argument is the template argument representing the encapsulated TaskDynamic type

◆ TASK_DYNAMICS_DERIVED_FACTORY

#define TASK_DYNAMICS_DERIVED_FACTORY (   ...)
Value:
template<typename Derived, typename... Args> \
std::unique_ptr<tvm::task_dynamics::abstract::TaskDynamicsImpl> impl_( \
tvm::FunctionPtr f, tvm::constraint::Type t, const Eigen::VectorXd & rhs, Args &&... args) const \
{ \
return std::make_unique<Derived>(f, t, rhs, std::forward<Args>(args)..., __VA_ARGS__); \
}

This macro can be used to define the derived factory required in TaskDynamics implementation, Args are the arguments required by the derived class, the macro arguments are members of the class passed to the derived constructor

◆ TASK_DYNAMICS_DERIVED_FACTORY_Z

#define TASK_DYNAMICS_DERIVED_FACTORY_Z ( )
Value:
template<typename Derived, typename... Args> \
std::unique_ptr<tvm::task_dynamics::abstract::TaskDynamicsImpl> impl_( \
tvm::FunctionPtr f, tvm::constraint::Type t, const Eigen::VectorXd & rhs, Args &&... args) const \
{ \
return std::make_unique<Derived>(f, t, rhs, std::forward<Args>(args)...); \
}

This macro can be used to define the derived factory required in TaskDynamics implementation, Args are the arguments required by the derived class, this macro should be used when the class' constructor does not require parameters

tvm::FunctionPtr
std::shared_ptr< function::abstract::Function > FunctionPtr
Definition: defs.h:57
tvm::constraint::Type
Type
Definition: enums.h:14