Drake
NaryFormulaCell Class Reference

Represents the base class for N-ary logic operators (∧ and ∨). More...

#include <drake/common/symbolic_formula_cell.h>

Public Member Functions

 NaryFormulaCell ()=delete
 Default constructor (deleted). More...
 
 NaryFormulaCell (NaryFormulaCell &&f)=default
 Move-construct a formula from an rvalue. More...
 
 NaryFormulaCell (const NaryFormulaCell &f)=default
 Copy-construct a formula from an lvalue. More...
 
NaryFormulaCelloperator= (NaryFormulaCell &&f)=delete
 Move-assign (DELETED). More...
 
NaryFormulaCelloperator= (const NaryFormulaCell &f)=delete
 Copy-assign (DELETED). More...
 
 NaryFormulaCell (FormulaKind k, const std::set< Formula > &formulas)
 Construct NaryFormulaCell of kind k with formulas. More...
 
void HashAppendDetail (DelegatingHasher *) const override
 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...
 
Variables GetFreeVariables () const override
 Returns set of free variables in formula. More...
 
bool EqualTo (const FormulaCell &f) const override
 Checks structural equality. More...
 
bool Less (const FormulaCell &f) const override
 Checks ordering. More...
 
const std::set< Formula > & get_operands () const
 Returns the formulas. More...
 
- Public Member Functions inherited from FormulaCell
FormulaKind get_kind () const
 Returns kind of formula. 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

std::ostream & DisplayWithOp (std::ostream &os, const std::string &op) const
 
- Protected Member Functions inherited from FormulaCell
 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 the base class for N-ary logic operators (∧ and ∨).

Note
Internally this class maintains a set of symbolic formulas to avoid duplicated elements (i.e. f1 ∧ ... ∧ f1).

Constructor & Destructor Documentation

◆ NaryFormulaCell() [1/4]

NaryFormulaCell ( )
delete

Default constructor (deleted).

◆ NaryFormulaCell() [2/4]

NaryFormulaCell ( NaryFormulaCell &&  f)
default

Move-construct a formula from an rvalue.

◆ NaryFormulaCell() [3/4]

NaryFormulaCell ( const NaryFormulaCell f)
default

Copy-construct a formula from an lvalue.

◆ NaryFormulaCell() [4/4]

NaryFormulaCell ( FormulaKind  k,
const std::set< Formula > &  formulas 
)

Construct NaryFormulaCell of kind k with formulas.

Member Function Documentation

◆ DisplayWithOp()

ostream & DisplayWithOp ( std::ostream &  os,
const std::string &  op 
) const
protected

◆ EqualTo()

bool EqualTo ( const FormulaCell c) const
overridevirtual

Checks structural equality.

Implements FormulaCell.

◆ get_operands()

const std::set<Formula>& get_operands ( ) const
inline

Returns the formulas.

◆ GetFreeVariables()

Variables GetFreeVariables ( ) const
overridevirtual

Returns set of free variables in formula.

Implements FormulaCell.

◆ HashAppendDetail()

void HashAppendDetail ( DelegatingHasher ) const
overridevirtual

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.

Implements FormulaCell.

◆ Less()

bool Less ( const FormulaCell c) const
overridevirtual

Checks ordering.

Implements FormulaCell.

◆ operator=() [1/2]

NaryFormulaCell& operator= ( NaryFormulaCell &&  f)
delete

Move-assign (DELETED).

◆ operator=() [2/2]

NaryFormulaCell& operator= ( const NaryFormulaCell f)
delete

Copy-assign (DELETED).


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