CASM
AClustersApproachtoStatisticalMechanics
|
#include <FunctionVisitor.hh>
Defines visitor pattern for abstract Function objects. FunctionVisitor has virtual methods for each type of derived Function object, which by default do nothing. Classes that derive from FunctionVisitor implement specific visitation behavior by overloading the virtual visit() methods, as needed. An abstract FunctionVisitor object operates on a Function tree by being passed to the Function::accept(FunctionVisitor*) method of the root of the tree.
Definition at line 24 of file FunctionVisitor.hh.
Public Member Functions | |
virtual | ~FunctionVisitor () |
virtual std::string | type_name () const =0 |
virtual bool | visit (Variable &host, BasisSet const *bset_ptr) const |
virtual bool | visit (OccupantFunction &host, BasisSet const *bset_ptr) const |
virtual bool | visit (PolynomialFunction &host, BasisSet const *bset_ptr) const |
Private Member Functions | |
virtual bool | _visit (const Array< Function * > &host_list, BasisSet const *bset_ptr) const |
|
inlinevirtual |
Definition at line 27 of file FunctionVisitor.hh.
|
inlineprivatevirtual |
Definition at line 42 of file FunctionVisitor.hh.
|
pure virtual |
Implemented in CASM::SubExpressionLabeler, CASM::VariableLabeler, CASM::OccFuncBasisIndexer, and CASM::OccFuncLabeler.
|
inlinevirtual |
Reimplemented in CASM::SubExpressionLabeler, and CASM::VariableLabeler.
Definition at line 31 of file FunctionVisitor.hh.
|
inlinevirtual |
Reimplemented in CASM::SubExpressionLabeler, CASM::OccFuncBasisIndexer, and CASM::OccFuncLabeler.
Definition at line 35 of file FunctionVisitor.hh.
|
inlinevirtual |
Reimplemented in CASM::SubExpressionLabeler.
Definition at line 38 of file FunctionVisitor.hh.