IOSS 2.0
Loading...
Searching...
No Matches
Ioss_ConcreteVariableType.h
Go to the documentation of this file.
1// Copyright(C) 1999-2020, 2022, 2023, 2024 National Technology & Engineering Solutions
2// of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
3// NTESS, the U.S. Government retains certain rights in this software.
4//
5// See packages/seacas/LICENSE for details
6
7#pragma once
8
9#include "ioss_export.h"
10
11#include "Ioss_VariableType.h" // for VariableType
12#include <string> // for string
13
14namespace Ioss {
15 class IOSS_EXPORT StorageInitializer
16 {
17 public:
19 // Assignment operator
20 // Copy constructor
21 };
22
23#define MAKE_CLASS(X) \
24 class IOSS_EXPORT X : public VariableType \
25 { \
26 public: \
27 IOSS_NODISCARD std::string label(int which, const char suffix_sep = '_') const override; \
28 static void factory(); \
29 X(const X &) = delete; \
30 \
31 IOSS_NODISCARD VariableType::Type type() const override { return Type::STANDARD; } \
32 IOSS_NODISCARD std::string type_string() const override { return "Standard"; } \
33 \
34 protected: \
35 X(); \
36 \
37 private: \
38 }
39
40 class IOSS_EXPORT Invalid_Storage : public VariableType
41 {
42 public:
44 IOSS_NODISCARD std::string label(int which, char suffix_sep = '_') const override;
45 IOSS_NODISCARD std::string label_name(const std::string &base, int /*which*/, char suffix_sep1,
46 char suffix_sep2, bool suffices_uppercase) const override;
47 IOSS_NODISCARD int suffix_count() const override { return 0; }
48 static void factory();
49
51 IOSS_NODISCARD std::string type_string() const override { return "Invalid"; }
52
53 protected:
55 };
56
57 class IOSS_EXPORT Scalar : public VariableType
58 {
59 public:
60 Scalar(const Scalar &) = delete;
61 IOSS_NODISCARD std::string label(int which, char suffix_sep = '_') const override;
62 IOSS_NODISCARD std::string label_name(const std::string &base, int /*which*/, char suffix_sep1,
63 char suffix_sep2, bool suffices_uppercase) const override;
64 IOSS_NODISCARD int suffix_count() const override { return 0; }
65 static void factory();
66
68 IOSS_NODISCARD std::string type_string() const override { return "Scalar"; }
69
70 protected:
71 Scalar();
72 };
73
95} // namespace Ioss
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:55
#define MAKE_CLASS(X)
Definition Ioss_ConcreteVariableType.h:23
Asym_Tensor_01(const Asym_Tensor_01 &)=delete
Asym_Tensor_02(const Asym_Tensor_02 &)=delete
Asym_Tensor_03(const Asym_Tensor_03 &)=delete
Full_Tensor_12(const Full_Tensor_12 &)=delete
Full_Tensor_16(const Full_Tensor_16 &)=delete
Full_Tensor_22(const Full_Tensor_22 &)=delete
Full_Tensor_32(const Full_Tensor_32 &)=delete
Full_Tensor_36(const Full_Tensor_36 &)=delete
Definition Ioss_ConcreteVariableType.h:41
IOSS_NODISCARD std::string type_string() const override
Definition Ioss_ConcreteVariableType.h:51
Invalid_Storage(const Invalid_Storage &)=delete
IOSS_NODISCARD std::string label_name(const std::string &base, int, char suffix_sep1, char suffix_sep2, bool suffices_uppercase) const override
Definition Ioss_ConcreteVariableType.C:93
IOSS_NODISCARD int suffix_count() const override
Definition Ioss_ConcreteVariableType.h:47
IOSS_NODISCARD std::string label(int which, char suffix_sep='_') const override
Definition Ioss_ConcreteVariableType.C:88
IOSS_NODISCARD VariableType::Type type() const override
Definition Ioss_ConcreteVariableType.h:50
Matrix_22(const Matrix_22 &)=delete
Matrix_33(const Matrix_33 &)=delete
Quaternion_2D(const Quaternion_2D &)=delete
Quaternion_3D(const Quaternion_3D &)=delete
Definition Ioss_ConcreteVariableType.h:58
IOSS_NODISCARD std::string type_string() const override
Definition Ioss_ConcreteVariableType.h:68
Scalar(const Scalar &)=delete
IOSS_NODISCARD std::string label(int which, char suffix_sep='_') const override
Definition Ioss_ConcreteVariableType.C:111
IOSS_NODISCARD std::string label_name(const std::string &base, int, char suffix_sep1, char suffix_sep2, bool suffices_uppercase) const override
Definition Ioss_ConcreteVariableType.C:117
IOSS_NODISCARD int suffix_count() const override
Definition Ioss_ConcreteVariableType.h:64
IOSS_NODISCARD VariableType::Type type() const override
Definition Ioss_ConcreteVariableType.h:67
StorageInitializer()
Definition Ioss_ConcreteVariableType.C:56
Sym_Tensor_10(const Sym_Tensor_10 &)=delete
Sym_Tensor_11(const Sym_Tensor_11 &)=delete
Sym_Tensor_13(const Sym_Tensor_13 &)=delete
Sym_Tensor_21(const Sym_Tensor_21 &)=delete
Sym_Tensor_31(const Sym_Tensor_31 &)=delete
Sym_Tensor_33(const Sym_Tensor_33 &)=delete
TestOnly(const TestOnly &)=delete
Type
Definition Ioss_VariableType.h:72
@ UNKNOWN
Definition Ioss_VariableType.h:73
@ SCALAR
Definition Ioss_VariableType.h:74
VariableType(const VariableType &)=delete
Vector_2D(const Vector_2D &)=delete
Vector_3D(const Vector_3D &)=delete
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40