10#include "ioss_export.h"
29 enum BasicType { INVALID = -1, REAL, INTEGER, POINTER, STRING, VEC_INTEGER, VEC_DOUBLE };
38 Property(std::string name, int64_t value, Origin origin = INTERNAL);
39 Property(std::string name,
int value, Origin origin = INTERNAL);
40 Property(std::string name,
double value, Origin origin = INTERNAL);
41 Property(std::string name,
const std::string &value, Origin origin = INTERNAL);
42 Property(std::string name,
const char *value, Origin origin = INTERNAL);
43 Property(std::string name,
void *value, Origin origin = INTERNAL);
44 Property(std::string name,
const std::vector<int> &value, Origin origin = INTERNAL);
45 Property(std::string name,
const std::vector<double> &value, Origin origin = INTERNAL);
117 bool get_value(int64_t *value)
const;
118 bool get_value(
double *value)
const;
119 bool get_value(std::string *value)
const;
120 bool get_value(
void *&value)
const;
121 bool get_value(std::vector<double> *value)
const;
122 bool get_value(std::vector<int> *value)
const;
126 std::variant<std::string, const Ioss::GroupingEntity *, double, int64_t, std::vector<double>,
127 std::vector<int>,
void *>
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:54
Base class for all 'grouping' entities. The following derived classes are typical:
Definition Ioss_GroupingEntity.h:67
A named value that has a known type.
Definition Ioss_Property.h:27
Origin origin_
Definition Ioss_Property.h:115
std::string name_
Definition Ioss_Property.h:110
Origin
Definition Ioss_Property.h:30
@ IMPLICIT
Property is calculated on the fly based on current state of entity containing.
Definition Ioss_Property.h:32
@ EXTERNAL
Property was created by client.
Definition Ioss_Property.h:34
std::variant< std::string, const Ioss::GroupingEntity *, double, int64_t, std::vector< double >, std::vector< int >, void * > data_
Definition Ioss_Property.h:128
IOSS_NODISCARD BasicType get_type() const
Get the property type.
Definition Ioss_Property.h:95
void set_origin(Origin origin)
Definition Ioss_Property.h:57
IOSS_NODISCARD std::string get_name() const
Get the property name.
Definition Ioss_Property.h:89
IOSS_NODISCARD bool is_explicit() const
Tells whether the property is stored, rather than calculated.
Definition Ioss_Property.h:70
BasicType
Definition Ioss_Property.h:29
IOSS_NODISCARD bool is_valid() const
Definition Ioss_Property.h:76
BasicType type_
Definition Ioss_Property.h:111
IOSS_NODISCARD bool is_implicit() const
Tells whether the property is calculated, rather than stored.
Definition Ioss_Property.h:64
IOSS_NODISCARD bool is_invalid() const
Definition Ioss_Property.h:83
IOSS_NODISCARD Origin get_origin() const
Definition Ioss_Property.h:58
friend void swap(Ioss::Property &first, Ioss::Property &second)
Definition Ioss_Property.h:100
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40