15#include "ioss_export.h"
86 INFORMATION = MESH_REDUCTION,
105 Field(std::string name, BasicType type,
const std::string &storage, RoleType role,
106 size_t value_count = 0,
size_t index = 0);
108 Field(std::string name, BasicType type,
const std::string &storage,
int copies, RoleType role,
109 size_t value_count = 0,
size_t index = 0);
111 Field(std::string name, BasicType type,
const VariableType *storage, RoleType role,
112 size_t value_count = 0,
size_t index = 0);
135 IOSS_NODISCARD std::string get_component_name(
int component_index, InOut in_out,
136 char suffix = 1)
const;
141 suffixSeparator_ = suffix_separator;
147 sufficesUppercase_ = true_false;
152 const Field &set_zero_copy_enabled(
bool true_false =
true)
const;
191 void reset_count(
size_t new_count);
192 void reset_type(BasicType new_type);
197 size_t verify(
size_t data_size)
const;
201 void check_type(BasicType the_type)
const;
211 bool add_transform(
Transform *my_transform);
212 bool transform(
void *data);
219 size_t transCount_{};
230 std::vector<Transform *> transforms_{};
231 char suffixSeparator_{1};
232 bool sufficesUppercase_{
false};
233 mutable bool zeroCopyable_{
false};
235 bool equal_(
const Ioss::Field &rhs,
bool quiet)
const;
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:54
std::complex< double > Complex
Definition Ioss_CodeTypes.h:90
Holds metadata for bulk data associated with a GroupingEntity.
Definition Ioss_Field.h:25
Field & set_index(size_t index)
Definition Ioss_Field.h:185
static IOSS_NODISCARD Ioss::Field::BasicType get_field_type(Complex)
Definition Ioss_Field.h:58
static IOSS_NODISCARD Ioss::Field::BasicType get_field_type(uint64_t)
Definition Ioss_Field.h:54
IOSS_NODISCARD bool is_type(BasicType the_type) const
Definition Ioss_Field.h:203
IOSS_NODISCARD const VariableType * raw_storage() const
Definition Ioss_Field.h:161
IOSS_NODISCARD BasicType get_type() const
Get the basic data type of the data held in the field.
Definition Ioss_Field.h:159
IOSS_NODISCARD bool has_transform() const
Definition Ioss_Field.h:213
IOSS_NODISCARD bool is_valid() const
Definition Ioss_Field.h:121
IOSS_NODISCARD std::string & get_name()
Definition Ioss_Field.h:125
IOSS_NODISCARD bool operator<(const Field &other) const
BasicType
The basic data type held in the field.
Definition Ioss_Field.h:29
@ COMPLEX
Definition Ioss_Field.h:36
@ STRING
Definition Ioss_Field.h:37
IOSS_NODISCARD size_t raw_count() const
Definition Ioss_Field.h:164
RoleType
Definition Ioss_Field.h:69
@ COMMUNICATION
Definition Ioss_Field.h:80
@ MAP
Definition Ioss_Field.h:79
@ INTERNAL
Definition Ioss_Field.h:70
IOSS_NODISCARD bool zero_copy_enabled() const
Definition Ioss_Field.h:153
IOSS_NODISCARD const VariableType * transformed_storage() const
Definition Ioss_Field.h:162
IOSS_NODISCARD bool get_suffices_uppercase() const
Definition Ioss_Field.h:150
static IOSS_NODISCARD Ioss::Field::BasicType get_field_type(double)
Definition Ioss_Field.h:47
static IOSS_NODISCARD Ioss::Field::BasicType get_field_type(unsigned int)
Definition Ioss_Field.h:49
static IOSS_NODISCARD Ioss::Field::BasicType get_field_type(const std::string &)
Definition Ioss_Field.h:62
IOSS_NODISCARD const std::string & get_name() const
Definition Ioss_Field.h:124
Field & set_suffix_separator(char suffix_separator)
Definition Ioss_Field.h:139
static IOSS_NODISCARD Ioss::Field::BasicType get_field_type(int64_t)
Definition Ioss_Field.h:53
static IOSS_NODISCARD Ioss::Field::BasicType get_field_type(int)
Definition Ioss_Field.h:48
IOSS_NODISCARD bool is_invalid() const
Definition Ioss_Field.h:122
IOSS_NODISCARD size_t get_index() const
Definition Ioss_Field.h:179
Field & set_suffices_uppercase(bool true_false)
Definition Ioss_Field.h:145
static IOSS_NODISCARD Ioss::Field::BasicType get_field_type(char)
Definition Ioss_Field.h:43
IOSS_NODISCARD RoleType get_role() const
Get the role (MESH, ATTRIBUTE, TRANSIENT, REDUCTION, etc.) of the data in the field.
Definition Ioss_Field.h:177
IOSS_NODISCARD char get_suffix_separator() const
Definition Ioss_Field.h:144
const Field & set_index(size_t index) const
Definition Ioss_Field.h:180
InOut
Definition Ioss_Field.h:41
IOSS_NODISCARD size_t transformed_count() const
Definition Ioss_Field.h:165
A generic variable type.
Definition Ioss_VariableType.h:66
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40
std::ostream & OUTPUT()
Definition Ioss_Utils.h:611