Drake
FormulaCell Class Referenceabstract

Represents an abstract class which is the base of concrete symbolic-formula classes (i.e. More...

#include <drake/common/symbolic_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...
 

Protected Member Functions

 FormulaCell ()=delete
 Default constructor (deleted). More...
 
 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...
 
FormulaCelloperator= (FormulaCell &&f)=delete
 Move-assign (DELETED). More...
 
FormulaCelloperator= (const FormulaCell &f)=delete
 Copy-assign (DELETED). More...
 
 FormulaCell (FormulaKind k)
 Construct FormulaCell of kind k. More...
 
virtual ~FormulaCell ()=default
 Default destructor. More...
 

Detailed Description

Represents an abstract class which is the base of concrete symbolic-formula classes (i.e.

symbolic::FormulaAnd, symbolic::FormulaEq).

Note
It provides virtual function, FormulaCell::Display, because operator<< is not allowed to be a virtual function.

Constructor & Destructor Documentation

◆ FormulaCell() [1/4]

FormulaCell ( )
protecteddelete

Default constructor (deleted).

◆ FormulaCell() [2/4]

FormulaCell ( FormulaCell &&  f)
protecteddefault

Move-construct a formula from an rvalue.

◆ FormulaCell() [3/4]

FormulaCell ( const FormulaCell f)
protecteddefault

Copy-construct a formula from an lvalue.

◆ FormulaCell() [4/4]

FormulaCell ( FormulaKind  k)
explicitprotected

Construct FormulaCell of kind k.

◆ ~FormulaCell()

virtual ~FormulaCell ( )
protectedvirtualdefault

Default destructor.

Member Function Documentation

◆ Display()

virtual std::ostream& Display ( std::ostream &  os) const
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.

◆ EqualTo()

virtual bool EqualTo ( const FormulaCell c) const
pure virtual

◆ Evaluate()

virtual bool Evaluate ( const Environment env) const
pure virtual

◆ get_kind()

FormulaKind get_kind ( ) const
inline

Returns kind of formula.

◆ GetFreeVariables()

virtual Variables GetFreeVariables ( ) const
pure virtual

◆ HashAppendDetail()

virtual void HashAppendDetail ( DelegatingHasher ) const
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.

◆ Less()

virtual bool Less ( const FormulaCell c) const
pure virtual

◆ operator=() [1/2]

FormulaCell& operator= ( FormulaCell &&  f)
protecteddelete

Move-assign (DELETED).

◆ operator=() [2/2]

FormulaCell& operator= ( const FormulaCell f)
protecteddelete

Copy-assign (DELETED).

◆ Substitute()

virtual Formula Substitute ( const Substitution s) const
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.


The documentation for this class was generated from the following files: