CASM
1.1.0
A Clusters Approach to Statistical Mechanics
InfoInterface.hh
Go to the documentation of this file.
1
#ifndef CASM_InfoInterface
2
#define CASM_InfoInterface
3
4
#include <string>
5
6
#include "
casm/misc/cloneable_ptr.hh
"
7
8
namespace
CASM
{
9
10
class
PrimClex;
11
class
jsonParser;
12
17
class
InfoInterfaceBase
:
public
notstd::Cloneable
{
18
ABSTRACT_CLONEABLE
(
InfoInterfaceBase
)
19
public
:
22
virtual
std::string
desc
()
const
= 0;
23
25
virtual
std::string
name
()
const
= 0;
26
53
virtual
void
run
(
jsonParser
const
&json_options,
54
PrimClex
const
*
primclex
=
nullptr
)
const
= 0;
55
};
56
57
}
// namespace CASM
58
59
#endif
CASM::InfoInterfaceBase
Definition:
InfoInterface.hh:17
CASM::InfoInterfaceBase::name
virtual std::string name() const =0
Enumeration method name (i.e. "prim", "supercell", "dof_space", etc.)
CASM::InfoInterfaceBase::desc
virtual std::string desc() const =0
CASM::InfoInterfaceBase::run
virtual void run(jsonParser const &json_options, PrimClex const *primclex=nullptr) const =0
CASM::PrimClex
PrimClex is the top-level data structure for a CASM project.
Definition:
PrimClex.hh:55
CASM::jsonParser
Definition:
jsonParser.hh:85
notstd::Cloneable
Base class for cloning.
Definition:
cloneable_ptr.hh:88
cloneable_ptr.hh
ABSTRACT_CLONEABLE
#define ABSTRACT_CLONEABLE(T)
Definition:
cloneable_ptr.hh:12
CASM
Main CASM namespace.
Definition:
APICommand.hh:8
primclex
PrimClex * primclex
Definition:
settings.cc:135
include
casm
app
info
InfoInterface.hh
Generated on Tue Mar 23 2021 14:16:35 for CASM by
1.9.1