Represents an abstract class which is the base of concrete symbolic-formula classes (i.e.
symbolic::FormulaAnd, symbolic::FormulaEq).
#include <drake/common/symbolic/expression/formula_cell.h>
Public Member Functions | |
FormulaKind | get_kind () const |
Returns kind of formula. More... | |
virtual void | HashAppendDetail (DelegatingHasher *) const =0 |
Sends all hash-relevant bytes for this FormulaCell type into the given hasher, per the hash_append generic hashing concept – except for get_kind(), because Formula already sends that. More... | |
virtual Variables | GetFreeVariables () const =0 |
Returns set of free variables in formula. More... | |
virtual bool | EqualTo (const FormulaCell &c) const =0 |
Checks structural equality. More... | |
virtual bool | Less (const FormulaCell &c) const =0 |
Checks ordering. More... | |
virtual bool | Evaluate (const Environment &env) const =0 |
Evaluates under a given environment. More... | |
virtual Formula | Substitute (const Substitution &s) const =0 |
Returns a Formula obtained by replacing all occurrences of the variables in s in the current formula cell with the corresponding expressions in s . More... | |
virtual std::ostream & | Display (std::ostream &os) const =0 |
Outputs string representation of formula into output stream os . More... | |
FormulaCell ()=delete | |
Default constructor (deleted). More... | |
FormulaCell & | operator= (FormulaCell &&f)=delete |
Move-assign (deleted). More... | |
FormulaCell & | operator= (const FormulaCell &f)=delete |
Copy-assign (deleted). More... | |
Protected Member Functions | |
FormulaCell (FormulaCell &&f)=default | |
Move-construct a formula from an rvalue. More... | |
FormulaCell (const FormulaCell &f)=default | |
Copy-construct a formula from an lvalue. More... | |
FormulaCell (FormulaKind k) | |
Construct FormulaCell of kind k . More... | |
virtual | ~FormulaCell () |
Default destructor. More... | |
|
delete |
Default constructor (deleted).
|
protecteddefault |
Move-construct a formula from an rvalue.
|
protecteddefault |
Copy-construct a formula from an lvalue.
|
explicitprotected |
Construct FormulaCell of kind k
.
|
protectedvirtual |
Default destructor.
|
pure virtual |
Outputs string representation of formula into output stream os
.
Implemented in FormulaPositiveSemidefinite, FormulaIsnan, FormulaForall, FormulaNot, FormulaOr, FormulaAnd, FormulaLeq, FormulaLt, FormulaGeq, FormulaGt, FormulaNeq, FormulaEq, FormulaVar, FormulaFalse, and FormulaTrue.
|
pure virtual |
Checks structural equality.
Implemented in FormulaPositiveSemidefinite, FormulaIsnan, FormulaForall, FormulaNot, FormulaVar, FormulaFalse, FormulaTrue, NaryFormulaCell, and RelationalFormulaCell.
|
pure virtual |
Evaluates under a given environment.
Implemented in FormulaPositiveSemidefinite, FormulaIsnan, FormulaForall, FormulaNot, FormulaOr, FormulaAnd, FormulaLeq, FormulaLt, FormulaGeq, FormulaGt, FormulaNeq, FormulaEq, FormulaVar, FormulaFalse, and FormulaTrue.
FormulaKind get_kind | ( | ) | const |
Returns kind of formula.
|
pure virtual |
Returns set of free variables in formula.
Implemented in FormulaPositiveSemidefinite, FormulaIsnan, FormulaForall, FormulaNot, FormulaVar, FormulaFalse, FormulaTrue, NaryFormulaCell, and RelationalFormulaCell.
|
pure virtual |
Sends all hash-relevant bytes for this FormulaCell type into the given hasher, per the hash_append generic hashing concept – except for get_kind(), because Formula already sends that.
Implemented in FormulaPositiveSemidefinite, FormulaIsnan, FormulaForall, FormulaNot, FormulaVar, FormulaFalse, FormulaTrue, NaryFormulaCell, and RelationalFormulaCell.
|
pure virtual |
Checks ordering.
Implemented in FormulaPositiveSemidefinite, FormulaIsnan, FormulaForall, FormulaNot, FormulaVar, FormulaFalse, FormulaTrue, NaryFormulaCell, and RelationalFormulaCell.
|
delete |
Move-assign (deleted).
|
delete |
Copy-assign (deleted).
|
pure virtual |
Returns a Formula obtained by replacing all occurrences of the variables in s
in the current formula cell with the corresponding expressions in s
.
Implemented in FormulaPositiveSemidefinite, FormulaIsnan, FormulaForall, FormulaNot, FormulaOr, FormulaAnd, FormulaLeq, FormulaLt, FormulaGeq, FormulaGt, FormulaNeq, FormulaEq, FormulaVar, FormulaFalse, and FormulaTrue.