CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::EnumInterfaceBase Class Referenceabstract

#include <EnumInterface.hh>

+ Inheritance diagram for CASM::EnumInterfaceBase:

Detailed Description

Interface for casm enum methods

Notes:

  • See the interfaces implemented in casm/app/enum/methods for examples

Definition at line 23 of file EnumInterface.hh.

Public Member Functions

virtual std::string desc () const =0
 
virtual std::string name () const =0
 Enumeration method name (i.e. "ConfigEnumAllOccupations") More...
 
virtual void run (PrimClex &primclex, jsonParser const &json_options, jsonParser const &cli_options_as_json) const =0
 
std::unique_ptr< Cloneable > clone () const
 
std::unique_ptr< Cloneable > move ()
 

Private Member Functions

virtual Cloneable * _clone () const =0
 
virtual Cloneable * _move ()=0
 

Member Function Documentation

◆ _clone()

virtual Cloneable* notstd::Cloneable::_clone ( ) const
privatepure virtualinherited

◆ _move()

virtual Cloneable* notstd::Cloneable::_move ( )
privatepure virtualinherited

◆ clone()

std::unique_ptr<Cloneable> notstd::Cloneable::clone ( ) const
inlineinherited

Definition at line 92 of file cloneable_ptr.hh.

◆ desc()

virtual std::string CASM::EnumInterfaceBase::desc ( ) const
pure virtual

◆ move()

std::unique_ptr<Cloneable> notstd::Cloneable::move ( )
inlineinherited

Definition at line 95 of file cloneable_ptr.hh.

◆ name()

virtual std::string CASM::EnumInterfaceBase::name ( ) const
pure virtual

◆ run()

virtual void CASM::EnumInterfaceBase::run ( PrimClex primclex,
jsonParser const &  json_options,
jsonParser const &  cli_options_as_json 
) const
pure virtual

Enumeration method implementation

Parameters
primclexPrimClex gives access to project resources
json_optionsJSON input, as by –input or –settings CLI options
cli_options_as_jsonCLI options converted to JSON. Includes: –desc as "desc": array of string (method names to print help for) –help as "help": bool (print/return help, including list of available methods) –method as "method": string (name of enumeration method) –settings as "settings": string (path to settings JSON file) –input as "input": string (a JSON string) –min as "min": int (meaning depends on method, if any) –max as "max": int (meaning depends on method, if any) –all as "all": bool (meaning depends on method, if any) –scelnames as "scelnames": array of string (meaning depends on method, if any) –confignames as "confignames": array of string (meaning depends on method, if any) –verbosity as "verbosity": string (requested verbosity level) –filter as "filter": array of string (query expression used filter results) –dry-run as "dry_run": bool (if true, do not commit database upon completion)

Notes:

  • It is up to the individual method to determine how to combine and use json_options and cli_options_as_json, but by convention prefer using CLI input in case of collisions.

Implemented in CASM::SuperConfigEnumInterface, CASM::ScelEnumInterface, CASM::ConfigEnumStrainInterface, CASM::ConfigEnumSiteDoFsInterface, CASM::ConfigEnumRandomOccupationsInterface, CASM::ConfigEnumRandomLocalInterface, and CASM::ConfigEnumAllOccupationsInterface.


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