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. | |
| 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. | |
| virtual Variables | GetFreeVariables () const =0 |
| Returns set of free variables in formula. | |
| virtual bool | EqualTo (const FormulaCell &c) const =0 |
| Checks structural equality. | |
| virtual bool | Less (const FormulaCell &c) const =0 |
| Checks ordering. | |
| virtual bool | Evaluate (const Environment &env) const =0 |
| Evaluates under a given environment. | |
| 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. | |
| virtual std::ostream & | Display (std::ostream &os) const =0 |
Outputs string representation of formula into output stream os. | |
| FormulaCell ()=delete | |
| Default constructor (deleted). | |
| FormulaCell & | operator= (FormulaCell &&f)=delete |
| Move-assign (deleted). | |
| FormulaCell & | operator= (const FormulaCell &f)=delete |
| Copy-assign (deleted). | |
Protected Member Functions | |
| FormulaCell (FormulaCell &&f)=default | |
| Move-construct a formula from an rvalue. | |
| FormulaCell (const FormulaCell &f)=default | |
| Copy-construct a formula from an lvalue. | |
| FormulaCell (FormulaKind k) | |
Construct FormulaCell of kind k. | |
| virtual | ~FormulaCell () |
| Default destructor. | |
|
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 FormulaAnd, FormulaEq, FormulaFalse, FormulaForall, FormulaGeq, FormulaGt, FormulaIsnan, FormulaLeq, FormulaLt, FormulaNeq, FormulaNot, FormulaOr, FormulaPositiveSemidefinite, FormulaTrue, and FormulaVar.
|
nodiscardpure virtual |
Checks structural equality.
Implemented in FormulaFalse, FormulaForall, FormulaIsnan, FormulaNot, FormulaPositiveSemidefinite, FormulaTrue, FormulaVar, NaryFormulaCell, and RelationalFormulaCell.
|
nodiscardpure virtual |
Evaluates under a given environment.
Implemented in FormulaAnd, FormulaEq, FormulaFalse, FormulaForall, FormulaGeq, FormulaGt, FormulaIsnan, FormulaLeq, FormulaLt, FormulaNeq, FormulaNot, FormulaOr, FormulaPositiveSemidefinite, FormulaTrue, and FormulaVar.
|
nodiscard |
Returns kind of formula.
|
nodiscardpure virtual |
Returns set of free variables in formula.
Implemented in FormulaFalse, FormulaForall, FormulaIsnan, FormulaNot, FormulaPositiveSemidefinite, FormulaTrue, FormulaVar, 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 FormulaFalse, FormulaForall, FormulaIsnan, FormulaNot, FormulaPositiveSemidefinite, FormulaTrue, FormulaVar, NaryFormulaCell, and RelationalFormulaCell.
|
nodiscardpure virtual |
Checks ordering.
Implemented in FormulaFalse, FormulaForall, FormulaIsnan, FormulaNot, FormulaPositiveSemidefinite, FormulaTrue, FormulaVar, NaryFormulaCell, and RelationalFormulaCell.
|
delete |
Copy-assign (deleted).
|
delete |
Move-assign (deleted).
|
nodiscardpure 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 FormulaAnd, FormulaEq, FormulaFalse, FormulaForall, FormulaGeq, FormulaGt, FormulaIsnan, FormulaLeq, FormulaLt, FormulaNeq, FormulaNot, FormulaOr, FormulaPositiveSemidefinite, FormulaTrue, and FormulaVar.