CASM  1.1.0
A Clusters Approach to Statistical Mechanics
DataFormatterTools.hh File Reference
#include <boost/algorithm/string.hpp>
#include <boost/regex.hpp>
#include <iterator>
#include <numeric>
#include "casm/casm_io/container/json_io.hh"
#include "casm/casm_io/dataformatter/DataFormatter.hh"
#include "casm/container/ContainerTraits.hh"
#include "casm/misc/CASM_TMP.hh"

Go to the source code of this file.

Classes

class  CASM::DataFormatterOperator< ValueType, ArgType, DataObject >
 DataFormatters that operate on the results of other DataFormatters. More...
 
class  CASM::DatumFormatterAlias< DataObject >
 Implements a DatumFormatter that is an alias for a combination of others. More...
 
class  CASM::ConstantValueFormatter< ValueType, DataObject >
 Prints a string value specified at construction. A header string can also be passed. More...
 
class  CASM::BaseValueFormatter< ValueType, DataObject >
 Base class for creating scalar DatumFormatter. More...
 
class  CASM::GenericDatumFormatter< ValueType, DataObject >
 A DatumFormatter that returns a value of specified type, via functions that may be specified at runtime. More...
 
class  CASM::Base1DDatumFormatter< Container, DataObject >
 Abstract base class for creating 1D DatumFormatter. More...
 
class  CASM::Generic1DDatumFormatter< Container, DataObject >
 A DatumFormatter that returns a 1D value of specified type, via functions that may be specified at runtime. More...
 
class  CASM::Base2DDatumFormatter< Container, DataObject >
 A DatumFormatter that returns a value of specified 2d container. More...
 
class  CASM::Generic2DDatumFormatter< Container, DataObject >
 A DatumFormatter that returns a 2D value of specified type, via functions that may be specified at runtime. More...
 

Namespaces

 CASM
 Main CASM namespace.
 

Functions

template<typename DataObject >
DataFormatterOperator< double, double, DataObject > CASM::format_operator_add ()
 Makes a DataFormatterOperator that adds two or more numbers. More...
 
template<typename DataObject >
DataFormatterOperator< double, double, DataObject > CASM::format_operator_sub ()
 Makes a DataFormatterOperator that subtracts two numbers. More...
 
template<typename DataObject >
DataFormatterOperator< double, double, DataObject > CASM::format_operator_mult ()
 Makes a DataFormatterOperator that returns the product of two or more numbers. More...
 
template<typename DataObject >
DataFormatterOperator< double, double, DataObject > CASM::format_operator_div ()
 Makes a DataFormatterOperator that divides two numbers. More...
 
template<typename DataObject >
DataFormatterOperator< double, double, DataObject > CASM::format_operator_rms ()
 Makes a DataFormatterOperator that returns the root-mean-square value of 0 or more elements. More...
 
template<typename DataObject >
DataFormatterOperator< double, double, DataObject > CASM::format_operator_pnorm ()
 Makes a DataFormatterOperator that returns the root-mean-square value of 0 or more elements. More...
 
template<typename DataObject >
DataFormatterOperator< double, double, DataObject > CASM::format_operator_max ()
 Makes a DataFormatterOperator that returns the maximum of two or more numbers. More...
 
template<typename DataObject >
DataFormatterOperator< double, double, DataObject > CASM::format_operator_min ()
 Makes a DataFormatterOperator that returns the minimum of two or more numbers. More...
 
template<typename DataObject >
DataFormatterOperator< long, double, DataObject > CASM::format_operator_imax ()
 Makes a DataFormatterOperator that returns the index (from 0) of the maximum of two or more numbers. More...
 
template<typename DataObject >
DataFormatterOperator< long, double, DataObject > CASM::format_operator_imin ()
 Makes a DataFormatterOperator that returns the index (from 0) of the minimum of two or more numbers. More...
 
template<typename DataObject >
DataFormatterOperator< double, double, DataObject > CASM::format_operator_exp ()
 Makes a DataFormatterOperator that returns the exponential of a number. More...
 
template<typename DataObject >
DataFormatterOperator< bool, std::string, DataObject > CASM::format_operator_re ()
 Makes a DataFormatterOperator that checks if a string matches a regular expression. More...
 
template<typename DataObject >
DataFormatterOperator< bool, std::string, DataObject > CASM::format_operator_rs ()
 Makes a DataFormatterOperator that checks if a string contains a regular expression. More...
 
template<typename DataObject >
DataFormatterOperator< double, double, DataObject > CASM::format_operator_sq ()
 Makes a DataFormatterOperator that returns the square of a number. More...
 
template<typename DataObject >
DataFormatterOperator< double, double, DataObject > CASM::format_operator_sqrt ()
 Makes a DataFormatterOperator that returns the square root of a number. More...
 
template<typename DataObject >
DataFormatterOperator< double, double, DataObject > CASM::format_operator_neg ()
 Makes a DataFormatterOperator that returns the negative of a number. More...
 
template<typename DataObject >
DataFormatterOperator< bool, bool, DataObject > CASM::format_operator_and ()
 Makes a DataFormatterOperator that returns the boolean AND for a sequence of boolean values. More...
 
template<typename DataObject >
DataFormatterOperator< bool, bool, DataObject > CASM::format_operator_or ()
 Makes a DataFormatterOperator that returns the boolean OR for a sequence of boolean values. More...
 
template<typename DataObject >
DataFormatterOperator< bool, bool, DataObject > CASM::format_operator_xor ()
 Makes a DataFormatterOperator that returns the boolean NOT for a single boolean value. More...
 
template<typename DataObject >
DataFormatterOperator< bool, bool, DataObject > CASM::format_operator_not ()
 
template<typename DataObject >
DataFormatterOperator< bool, double, DataObject > CASM::format_operator_eq ()
 Makes a DataFormatterOperator for equality comparison of two numbers. More...
 
template<typename DataObject >
DataFormatterOperator< bool, double, DataObject > CASM::format_operator_lt ()
 Makes a DataFormatterOperator for less-than comparison of two numbers. More...
 
template<typename DataObject >
DataFormatterOperator< bool, double, DataObject > CASM::format_operator_le ()
 Makes a DataFormatterOperator for less-than-or-equal comparison of two numbers. More...
 
template<typename DataObject >
DataFormatterOperator< bool, double, DataObject > CASM::format_operator_gt ()
 Makes a DataFormatterOperator for greater-than comparison of two numbers. More...
 
template<typename DataObject >
DataFormatterOperator< bool, double, DataObject > CASM::format_operator_ge ()
 Makes a DataFormatterOperator for greater-than-or-equal comparison of two numbers. More...
 
template<typename DataObject >
DataFormatterDictionary< DataObject > CASM::make_operator_dictionary ()
 Dictionary of all DatumFormatterOperator. More...
 
template<typename DataObject >
DatumFormatterAlias< DataObject > CASM::datum_formatter_alias (const std::string &_name, const std::string &_command, const DataFormatterDictionary< DataObject > &_dict, const std::string &_help="")
 Make a DatumFormatterAlias. More...
 
template<typename DataObject >
DatumFormatterAlias< DataObject > CASM::datum_formatter_alias (const std::string &_name, const BaseDatumFormatter< DataObject > &_inside, const std::string &_help="")
 Make a DatumFormatterAlias. More...
 
template<typename DataObject >
GenericDatumFormatter< std::string, DataObject > CASM::name ()
 
template<typename DataObject >
GenericDatumFormatter< std::string, DataObject > CASM::alias ()
 
template<typename DataObject >
GenericDatumFormatter< std::string, DataObject > CASM::alias_or_name ()
 
template<typename DataObject >
DataFormatterDictionary< DataObject > CASM::make_attribute_dictionary ()
 Dictionary of all AttributeFormatter (i.e. BaseValueFormatter<V, DataObject>) More...
 
template<typename DataObject >
MatrixXdAttributeDictionary< DataObject > CASM::make_matrixxd_dictionary ()
 Template to be specialized for constructing dictionaries for particular DataObject. More...