1 #include <boost/range/iterator_range.hpp>
14 insert_name(std::set<std::string> &_s) :
s(_s) {}
15 std::set<std::string> &
s;
22 struct insert_short_name {
23 insert_short_name(std::set<std::string> &_s) :
s(_s) {}
24 std::set<std::string> &
s;
27 s.insert(traits<T>::short_name);
31 struct ConfigCountImplBase {
32 ConfigCountImplBase(std::string _scelname,
const PrimClex &_primclex)
40 struct ConfigCountImpl :
public ConfigCountImplBase {
41 using ConfigCountImplBase::ConfigCountImplBase;
49 struct ConfigCalculatedCountImpl :
public ConfigCountImplBase {
50 using ConfigCountImplBase::ConfigCountImplBase;
62 struct ConfigDataCountImpl :
public ConfigCountImplBase {
63 using ConfigCountImplBase::ConfigCountImplBase;
67 ConfigData data(
primclex, TypeTag<T>());
70 for (; it != end; ++it) {
71 if (data.has_existing_data_or_files(it.name())) {
80 const std::set<std::string> &
types() {
81 static std::set<std::string> _types;
89 static std::set<std::string> _types_short;
90 if (!_types_short.size()) {
97 static std::set<std::string> _config_types;
98 if (!_config_types.size()) {
101 return _config_types;
105 static std::set<std::string> _config_types_short;
106 if (!_config_types_short.size()) {
109 return _config_types_short;
const PrimClex & primclex
std::set< std::string > & s
PrimClex is the top-level data structure for a CASM project.
Represents a supercell of the primitive parent crystal structure.
std::string scelname(const Structure &prim, const Lattice &superlat)
Make supercell name name [deprecated].
GenericDatumFormatter< std::string, ConfigEnumDataType > name()
ConfigIO::GenericConfigFormatter< jsonParser > config()
Index config_count(std::string scelname, const PrimClex &primclex)
Total number of configs of all types in a supercell.
const std::set< std::string > & types()
std::set of all QueryTraits<DataObject>::name
Index config_data_count(std::string scelname, const PrimClex &primclex)
Total number of configs w/ data or files of all types in a supercell.
const std::set< std::string > & config_types()
std::set of all QueryTraits<ConfigType>::name
void for_config_type_short(std::string short_name, F f)
const std::set< std::string > & types_short()
std::set of all QueryTraits<DataObject>::short_name
const std::set< std::string > & config_types_short()
std::set of all QueryTraits<ConfigType>::short_name
void for_each_config_type(F f)
Index config_calculated_count(std::string scelname, const PrimClex &primclex)
Total number of calculated configs of all types in a supercell.
bool is_calculated(const ConfigType &config, std::string calctype="")
Return true if all required properties have been been calculated for the configuration.
INDEX_TYPE Index
For long integer indexing: