Drake
InputOutputRelation Struct Reference

InputOutputRelation. More...

#include <drake/core/Function.h>

Collaboration diagram for InputOutputRelation:

Public Types

enum  Form {
  ARBITRARY, DIFFERENTIABLE, POLYNOMIAL, AFFINE,
  LINEAR, CONSTANT, ZERO
}
 

Public Member Functions

 InputOutputRelation (Form f)
 
bool isA (Form base)
 

Static Public Member Functions

static bool isA (const Form &f, const Form &base)
 
static Form leastCommonAncestor (const Form &f1, const Form &f2)
 
static Form leastCommonAncestor (std::initializer_list< Form > forms)
 
static InputOutputRelation composeWith (const InputOutputRelation &g, const InputOutputRelation &f)
 
static InputOutputRelation combine (const InputOutputRelation &a, const InputOutputRelation &b)
 
static InputOutputRelation combine (std::initializer_list< InputOutputRelation > args)
 

Public Attributes

Form form
 

Detailed Description

InputOutputRelation.

Tags which can be used to inform algorithms about underlying structure in a function e.g., linear, affine, polynomial, analytic, differentiable, continuous, measurable, and – lastly – arbitrary

note: i considered using inheritance to capture the relationship, but passing around types at runtime was more of a pain than simply capturing the inheritance with the helper functions below.

Member Enumeration Documentation

enum Form
strong
Enumerator
ARBITRARY 
DIFFERENTIABLE 
POLYNOMIAL 
AFFINE 
LINEAR 
CONSTANT 
ZERO 

Constructor & Destructor Documentation

InputOutputRelation ( Form  f)
inlineexplicit

Here is the caller graph for this function:

Member Function Documentation

static InputOutputRelation combine ( const InputOutputRelation a,
const InputOutputRelation b 
)
inlinestatic

Here is the call graph for this function:

Here is the caller graph for this function:

static InputOutputRelation combine ( std::initializer_list< InputOutputRelation args)
inlinestatic

Here is the call graph for this function:

static InputOutputRelation composeWith ( const InputOutputRelation g,
const InputOutputRelation f 
)
inlinestatic

Here is the call graph for this function:

static bool isA ( const Form f,
const Form base 
)
inlinestatic

Here is the caller graph for this function:

bool isA ( Form  base)
inline

Here is the call graph for this function:

Here is the caller graph for this function:

static Form leastCommonAncestor ( const Form f1,
const Form f2 
)
inlinestatic

Here is the call graph for this function:

Here is the caller graph for this function:

static Form leastCommonAncestor ( std::initializer_list< Form forms)
inlinestatic

Here is the call graph for this function:

Member Data Documentation

Form form

The documentation for this struct was generated from the following file: