CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::ParamPackMixIn Class Reference

#include <ClexParamPack.hh>

Detailed Description

ParamPackMixIn is interface class to control ClexParamPack portion of Clexulator printing Used primarily by ClexBasisWriter.

Definition at line 120 of file ClexParamPack.hh.

Public Member Functions

 ParamPackMixIn (std::string const &_name, std::map< std::string, std::string > const &_specializations)
 Constructor Constructed with. More...
 
virtual ~ParamPackMixIn ()
 Abstract class must define virtual destructor. More...
 
std::string const & name () const
 typename of the corresponding ClexParamPack More...
 
std::map< std::string, std::string > const & scalar_specializations () const
 Dictionary of pairs ("EvalMode", "ScalarType") These correspond to the underlying scalar type to be used for each Evaluation mode. More...
 
virtual std::string cpp_includes_string () const
 returns string with include directives for Clexulator. More...
 
virtual std::string cpp_definitions_string (std::string const &_indent) const
 returns string with c++ definitions to be written before Clexulator. More...
 
std::unique_ptr< ParamPackMixInclone () const
 Clone the ParamPackMixIn. More...
 

Static Public Member Functions

static ParamPackMixIn basic_mix_in ()
 static factory function for BasicClexParamPack More...
 
static ParamPackMixIn diff_mix_in ()
 static factory function for DiffClexParamPack More...
 

Private Member Functions

virtual ParamPackMixIn_clone () const
 Clone the ParamPackMixIn (implementation) More...
 

Private Attributes

std::string m_name
 
std::map< std::string, std::string > m_scalar_specializations
 

Constructor & Destructor Documentation

◆ ParamPackMixIn()

CASM::ParamPackMixIn::ParamPackMixIn ( std::string const &  _name,
std::map< std::string, std::string > const &  _specializations 
)
inline

Constructor Constructed with.

Parameters
_name{ _name of derived ClexParamPack specialization }

Definition at line 138 of file ClexParamPack.hh.

◆ ~ParamPackMixIn()

virtual CASM::ParamPackMixIn::~ParamPackMixIn ( )
inlinevirtual

Abstract class must define virtual destructor.

Definition at line 143 of file ClexParamPack.hh.

Member Function Documentation

◆ _clone()

virtual ParamPackMixIn* CASM::ParamPackMixIn::_clone ( ) const
inlineprivatevirtual

Clone the ParamPackMixIn (implementation)

Definition at line 173 of file ClexParamPack.hh.

◆ basic_mix_in()

static ParamPackMixIn CASM::ParamPackMixIn::basic_mix_in ( )
inlinestatic

static factory function for BasicClexParamPack

Definition at line 123 of file ClexParamPack.hh.

◆ clone()

std::unique_ptr<ParamPackMixIn> CASM::ParamPackMixIn::clone ( ) const
inline

Clone the ParamPackMixIn.

Definition at line 167 of file ClexParamPack.hh.

◆ cpp_definitions_string()

virtual std::string CASM::ParamPackMixIn::cpp_definitions_string ( std::string const &  _indent) const
inlinevirtual

returns string with c++ definitions to be written before Clexulator.

Definition at line 162 of file ClexParamPack.hh.

◆ cpp_includes_string()

virtual std::string CASM::ParamPackMixIn::cpp_includes_string ( ) const
inlinevirtual

returns string with include directives for Clexulator.

Definition at line 156 of file ClexParamPack.hh.

◆ diff_mix_in()

static ParamPackMixIn CASM::ParamPackMixIn::diff_mix_in ( )
inlinestatic

static factory function for DiffClexParamPack

Definition at line 129 of file ClexParamPack.hh.

◆ name()

std::string const& CASM::ParamPackMixIn::name ( ) const
inline

typename of the corresponding ClexParamPack

Definition at line 146 of file ClexParamPack.hh.

◆ scalar_specializations()

std::map<std::string, std::string> const& CASM::ParamPackMixIn::scalar_specializations ( ) const
inline

Dictionary of pairs ("EvalMode", "ScalarType") These correspond to the underlying scalar type to be used for each Evaluation mode.

Definition at line 151 of file ClexParamPack.hh.

Member Data Documentation

◆ m_name

std::string CASM::ParamPackMixIn::m_name
private

Definition at line 175 of file ClexParamPack.hh.

◆ m_scalar_specializations

std::map<std::string, std::string> CASM::ParamPackMixIn::m_scalar_specializations
private

Definition at line 176 of file ClexParamPack.hh.


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