CASM  1.1.0
A Clusters Approach to Statistical Mechanics
DatabaseTypes.hh File Reference
#include <boost/preprocessor/seq/enum.hpp>
#include <boost/preprocessor/seq/for_each.hpp>
#include <set>
#include "casm/database/DatabaseTypesTraits.hh"
#include "casm/global/definitions.hh"
#include "casm/misc/CASM_TMP.hh"

Go to the source code of this file.

Namespaces

 CASM
 Main CASM namespace.
 
 CASM::DB
 

Macros

#define CASM_DB_NONCONFIG_TYPES   (Supercell)
 
#define CASM_DB_CONFIG_TYPES   (Configuration)
 
#define CASM_DB_TYPES   CASM_DB_NONCONFIG_TYPES CASM_DB_CONFIG_TYPES
 

Typedefs

typedef std::tuple< BOOST_PP_SEQ_ENUM(CASM_DB_TYPES)> CASM::DB::DataObjectTypeTuple
 
typedef std::tuple< BOOST_PP_SEQ_ENUM(CASM_DB_CONFIG_TYPES)> CASM::DB::ConfigTypeTuple
 
template<typename T >
using CASM::DB::IfConfigType = std::enable_if< CASM_TMP::has_type< T, ConfigTypeTuple >::value, T >
 
template<typename T >
using CASM::DB::IfNotConfigType = std::enable_if<!CASM_TMP::has_type< T, ConfigTypeTuple >::value, T >
 

Functions

template<typename F >
void CASM::DB::for_each_type (F f)
 
template<typename F >
void CASM::DB::for_type (std::string name, F f)
 
template<typename F >
void CASM::DB::for_type_short (std::string short_name, F f)
 
const std::set< std::string > & CASM::DB::types ()
 std::set of all QueryTraits<DataObject>::name More...
 
const std::set< std::string > & CASM::DB::types_short ()
 std::set of all QueryTraits<DataObject>::short_name More...
 
template<typename F >
void CASM::DB::for_each_config_type (F f)
 
template<typename F >
void CASM::DB::for_config_type (std::string name, F f)
 
template<typename F >
void CASM::DB::for_config_type_short (std::string short_name, F f)
 
const std::set< std::string > & CASM::DB::config_types ()
 std::set of all QueryTraits<ConfigType>::name More...
 
const std::set< std::string > & CASM::DB::config_types_short ()
 std::set of all QueryTraits<ConfigType>::short_name More...
 
Index CASM::DB::config_count (std::string scelname, const PrimClex &primclex)
 Total number of configs of all types in a supercell. More...
 
Index CASM::DB::config_count (std::string configtype, std::string scelname, const PrimClex &primclex)
 Total number of configs of a specific type in a supercell. More...
 
Index CASM::DB::config_calculated_count (std::string scelname, const PrimClex &primclex)
 Total number of calculated configs of all types in a supercell. More...
 
Index CASM::DB::config_calculated_count (std::string configtype, std::string scelname, const PrimClex &primclex)
 Total number of calculated configs of a specific type in a supercell. More...
 
Index CASM::DB::config_data_count (std::string scelname, const PrimClex &primclex)
 Total number of configs w/ data or files of all types in a supercell. More...
 
Index CASM::DB::config_data_count (std::string configtype, std::string scelname, const PrimClex &primclex)
 Total number of configs w/ data or files of a specific type in a supercell. More...
 

Macro Definition Documentation

◆ CASM_DB_CONFIG_TYPES

#define CASM_DB_CONFIG_TYPES   (Configuration)

Definition at line 14 of file DatabaseTypes.hh.

◆ CASM_DB_NONCONFIG_TYPES

#define CASM_DB_NONCONFIG_TYPES   (Supercell)

Definition at line 13 of file DatabaseTypes.hh.

◆ CASM_DB_TYPES

#define CASM_DB_TYPES   CASM_DB_NONCONFIG_TYPES CASM_DB_CONFIG_TYPES

Definition at line 22 of file DatabaseTypes.hh.