17#include "ioss_export.h"
35 return m_registry.find(type);
48 explicit Suffix(
const char *new_data) : m_data(new_data) {}
49 explicit Suffix(std::string new_data) : m_data(std::move(new_data)) {}
52 return Utils::str_equal(m_data, str);
56 return !Utils::str_equal(m_data, str);
68 static void alias(
const std::string &base,
const std::string &syn);
69 static int describe(
NameList *names);
71 static bool create_named_suffix_field_type(
const std::string &type_name,
72 const std::vector<std::string> &suffices);
73 static bool get_field_type_mapping(
const std::string &field, std::string *type);
74 static bool add_field_type_mapping(
const std::string &raw_field,
const std::string &raw_type);
88 IOSS_NODISCARD static std::string numeric_label(
int which,
int ncomp,
const std::string &name);
90 IOSS_NODISCARD virtual std::string label_name(
const std::string &base,
int which,
91 char suffix_sep =
'_',
92 bool suffices_uppercase =
false)
const;
93 IOSS_NODISCARD virtual bool match(
const std::vector<Suffix> &suffices)
const;
97 bool ignore_realn_fields =
false);
100 VariableType(
const std::string &type,
int comp_count,
bool delete_me =
false);
107 static bool build_variable_type(
const std::string &raw_type);
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:54
Definition Ioss_VariableType.h:28
IOSS_NODISCARD VariableTypeMap::iterator begin()
Definition Ioss_VariableType.h:31
IOSS_NODISCARD VariableTypeMap::iterator find(const std::string &type)
Definition Ioss_VariableType.h:33
std::map< std::string, std::string > customFieldTypes
Definition Ioss_VariableType.h:39
Ioss::VariableTypeMap m_registry
Definition Ioss_VariableType.h:42
IOSS_NODISCARD VariableTypeMap::iterator end()
Definition Ioss_VariableType.h:32
std::vector< Ioss::VariableType * > m_deleteThese
Definition Ioss_VariableType.h:43
A generic variable type.
Definition Ioss_VariableType.h:66
const std::string name_
Definition Ioss_VariableType.h:104
VariableType & operator=(const VariableType &)=delete
VariableType(const VariableType &)=delete
virtual IOSS_NODISCARD std::string label(int which, char suffix_sep='_') const =0
IOSS_NODISCARD std::string name() const
Definition Ioss_VariableType.h:110
virtual IOSS_NODISCARD int suffix_count() const
Definition Ioss_VariableType.h:114
virtual ~VariableType()=default
IOSS_NODISCARD int component_count() const
Definition Ioss_VariableType.h:112
int componentCount
Definition Ioss_VariableType.h:105
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40
VariableTypeMap::value_type VTM_ValuePair
Definition Ioss_VariableType.h:25
std::map< std::string, VariableType *, std::less<> > VariableTypeMap
Definition Ioss_VariableType.h:24
std::vector< std::string > NameList
Definition Ioss_CodeTypes.h:23
Definition Ioss_VariableType.h:47
IOSS_NODISCARD bool is_uppercase() const
Definition Ioss_VariableType.h:58
IOSS_NODISCARD bool operator==(const std::string &str) const
Definition Ioss_VariableType.h:50
Suffix(std::string new_data)
Definition Ioss_VariableType.h:49
IOSS_NODISCARD bool operator!=(const std::string &str) const
Definition Ioss_VariableType.h:54
Suffix(const char *new_data)
Definition Ioss_VariableType.h:48