CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::simpleformatter::BaseDatumEvaluator< ObjectType > Class Template Referenceabstract

#include <SimpleFormatter.hh>

+ Inheritance diagram for CASM::simpleformatter::BaseDatumEvaluator< ObjectType >:

Detailed Description

template<typename ObjectType>
class CASM::simpleformatter::BaseDatumEvaluator< ObjectType >

Abstract base type to allow containers of DatumEvaluator<ObjectType, ValuesType>

Definition at line 21 of file SimpleFormatter.hh.

Public Member Functions

virtual std::string const & name () const =0
 Name of the evaluated value. More...
 
virtual void format_value (DataFormatter< ObjectType > &formatter, ObjectType const &object) const =0
 Format each value generated by this evaluator for the object More...
 
virtual bool is_vector () const =0
 Return true if value may be vectorized. More...
 
virtual bool is_fixed_size () const =0
 
virtual std::vector< std::string > const & component_names () const =0
 
virtual void format_vectorized_value (DataFormatter< ObjectType > &formatter, ObjectType const &object) const =0
 Format each value generated by this evaluator for the object More...
 
virtual bool is_map () const =0
 Return true if value may be mapped. More...
 
virtual void format_mapped_value (DataFormatter< ObjectType > &formatter, ObjectType const &object) const =0
 Format each value generated by this evaluator for the object More...
 

Member Function Documentation

◆ component_names()

template<typename ObjectType >
virtual std::vector<std::string> const& CASM::simpleformatter::BaseDatumEvaluator< ObjectType >::component_names ( ) const
pure virtual

Return strings describing the values evaluated. May be used for csv column headers, json attribute names, etc. depending on DataFormatter<ObjectType> derived implementation

Implemented in CASM::simpleformatter::VectorizedDatumEvaluator< ObjectType, VectorizedValueType >, and CASM::simpleformatter::DatumEvaluator< ObjectType, ValueType >.

◆ format_mapped_value()

template<typename ObjectType >
virtual void CASM::simpleformatter::BaseDatumEvaluator< ObjectType >::format_mapped_value ( DataFormatter< ObjectType > &  formatter,
ObjectType const &  object 
) const
pure virtual

Format each value generated by this evaluator for the object

◆ format_value()

template<typename ObjectType >
virtual void CASM::simpleformatter::BaseDatumEvaluator< ObjectType >::format_value ( DataFormatter< ObjectType > &  formatter,
ObjectType const &  object 
) const
pure virtual

Format each value generated by this evaluator for the object

Implemented in CASM::simpleformatter::DatumEvaluator< ObjectType, ValueType >.

◆ format_vectorized_value()

template<typename ObjectType >
virtual void CASM::simpleformatter::BaseDatumEvaluator< ObjectType >::format_vectorized_value ( DataFormatter< ObjectType > &  formatter,
ObjectType const &  object 
) const
pure virtual

◆ is_fixed_size()

template<typename ObjectType >
virtual bool CASM::simpleformatter::BaseDatumEvaluator< ObjectType >::is_fixed_size ( ) const
pure virtual

Return true if vectorized value is a fixed size, no matter what object is being evaluated. If true, component_names().size() must be equal to the vector size.

Implemented in CASM::simpleformatter::VectorizedDatumEvaluator< ObjectType, VectorizedValueType >, and CASM::simpleformatter::DatumEvaluator< ObjectType, ValueType >.

◆ is_map()

template<typename ObjectType >
virtual bool CASM::simpleformatter::BaseDatumEvaluator< ObjectType >::is_map ( ) const
pure virtual

Return true if value may be mapped.

◆ is_vector()

template<typename ObjectType >
virtual bool CASM::simpleformatter::BaseDatumEvaluator< ObjectType >::is_vector ( ) const
pure virtual

Return true if value may be vectorized.

◆ name()

template<typename ObjectType >
virtual std::string const& CASM::simpleformatter::BaseDatumEvaluator< ObjectType >::name ( ) const
pure virtual

Name of the evaluated value.

Implemented in CASM::simpleformatter::DatumEvaluator< ObjectType, ValueType >.


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