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 protected: \
32 X(); \
33 \
34 private: \
35 }
36
37 class IOSS_EXPORT Invalid_Storage : public VariableType
38 {
39 public:
41 IOSS_NODISCARD std::string label(int which, char suffix_sep = '_') const override;
42 IOSS_NODISCARD std::string label_name(const std::string &base, int /*which*/, char suffix_sep,
43 bool suffices_uppercase) const override;
44 IOSS_NODISCARD int suffix_count() const override { return 0; }
45 static void factory();
46
47 protected:
49 };
50
51 class IOSS_EXPORT Scalar : public VariableType
52 {
53 public:
54 Scalar(const Scalar &) = delete;
55 IOSS_NODISCARD std::string label(int which, char suffix_sep = '_') const override;
56 IOSS_NODISCARD std::string label_name(const std::string &base, int /*which*/, char suffix_sep,
57 bool suffices_uppercase) const override;
58 IOSS_NODISCARD int suffix_count() const override { return 0; }
59 static void factory();
60
61 protected:
62 Scalar();
63 };
64
86} // namespace Ioss
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:54
#define MAKE_CLASS(X)
Definition Ioss_ConcreteVariableType.h:23
Definition Ioss_ConcreteVariableType.h:82
Definition Ioss_ConcreteVariableType.h:81
Definition Ioss_ConcreteVariableType.h:80
Definition Ioss_ConcreteVariableType.h:73
Definition Ioss_ConcreteVariableType.h:72
Definition Ioss_ConcreteVariableType.h:71
Definition Ioss_ConcreteVariableType.h:70
Definition Ioss_ConcreteVariableType.h:69
Definition Ioss_ConcreteVariableType.h:38
Invalid_Storage(const Invalid_Storage &)=delete
IOSS_NODISCARD int suffix_count() const override
Definition Ioss_ConcreteVariableType.h:44
Definition Ioss_ConcreteVariableType.h:83
Definition Ioss_ConcreteVariableType.h:84
Definition Ioss_ConcreteVariableType.h:67
Definition Ioss_ConcreteVariableType.h:68
Definition Ioss_ConcreteVariableType.h:52
Scalar(const Scalar &)=delete
IOSS_NODISCARD int suffix_count() const override
Definition Ioss_ConcreteVariableType.h:58
Definition Ioss_ConcreteVariableType.h:16
Definition Ioss_ConcreteVariableType.h:79
Definition Ioss_ConcreteVariableType.h:78
Definition Ioss_ConcreteVariableType.h:77
Definition Ioss_ConcreteVariableType.h:76
Definition Ioss_ConcreteVariableType.h:75
Definition Ioss_ConcreteVariableType.h:74
Definition Ioss_ConcreteVariableType.h:85
A generic variable type.
Definition Ioss_VariableType.h:66
Definition Ioss_ConcreteVariableType.h:65
Definition Ioss_ConcreteVariableType.h:66
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40