OPAL (Object Oriented Parallel Accelerator Library)
2024.2
OPAL
optimizer
Util
SDDSParser
file.hpp
Go to the documentation of this file.
1
//
2
// Struct file
3
//
4
// Copyright (c) 2015, Christof Metzger-Kraus, Helmholtz-Zentrum Berlin
5
// All rights reserved
6
//
7
// This file is part of OPAL.
8
//
9
// OPAL is free software: you can redistribute it and/or modify
10
// it under the terms of the GNU General Public License as published by
11
// the Free Software Foundation, either version 3 of the License, or
12
// (at your option) any later version.
13
//
14
// You should have received a copy of the GNU General Public License
15
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
16
//
17
#ifndef FILE_HPP_
18
#define FILE_HPP_
19
20
#include "
Util/SDDSParser/array.hpp
"
21
#include "
Util/SDDSParser/associate.hpp
"
22
#include "
Util/SDDSParser/column.hpp
"
23
#include "
Util/SDDSParser/data.hpp
"
24
#include "
Util/SDDSParser/description.hpp
"
25
#include "
Util/SDDSParser/include.hpp
"
26
#include "
Util/SDDSParser/parameter.hpp
"
27
#include "
Util/SDDSParser/version.hpp
"
28
29
#include <optional>
30
#include <ostream>
31
32
namespace
SDDS
{
33
struct
file
{
34
version
sddsVersion_m
;
// 0
35
std::optional<description>
sddsDescription_m
;
// 1
36
parameterList
sddsParameters_m
;
// 2
37
columnList
sddsColumns_m
;
// 3
38
data
sddsData_m
;
// 4
39
associateList
sddsAssociates_m
;
// 5
40
arrayList
sddsArrays_m
;
// 6
41
includeList
sddsIncludes_m
;
// 7
42
43
void
clear
() {
44
sddsVersion_m
= {};
45
sddsDescription_m
.reset();
46
sddsParameters_m
.clear();
47
sddsColumns_m
.clear();
48
sddsData_m
= {};
49
sddsAssociates_m
.clear();
50
sddsArrays_m
.clear();
51
sddsIncludes_m
.clear();
52
}
53
};
54
55
inline
std::ostream&
operator<<
(std::ostream& out,
const
file
& fh) {
56
out << fh.
sddsVersion_m
<<
"\n"
;
57
if
(fh.
sddsDescription_m
) out << *fh.
sddsDescription_m
<<
"\n"
;
58
for
(
const
parameter
& param: fh.
sddsParameters_m
) {
59
out << param <<
"\n"
;
60
}
61
for
(
const
column
& col: fh.
sddsColumns_m
) {
62
out << col <<
"\n"
;
63
}
64
out << fh.
sddsData_m
<<
"\n"
;
65
66
// if (fh.sddsAssociates_m) out << *fh.sddsAssociates_m << "\n";
67
// if (fh.sddsArrays_m) out << *fh.sddsArrays_m << "\n";
68
// if (fh.sddsIncludes_m) out << *fh.sddsIncludes_m << "\n";
69
70
out << std::endl;
71
72
return
out;
73
}
74
}
75
76
#endif
/* FILE_HPP_ */
data.hpp
include.hpp
description.hpp
column.hpp
parameter.hpp
array.hpp
version.hpp
associate.hpp
SDDS
Definition
SDDSParser.h:33
SDDS::operator<<
std::ostream & operator<<(std::ostream &out, const array &)
Definition
array.hpp:72
SDDS::arrayList
Definition
array.hpp:70
SDDS::associateList
Definition
associate.hpp:64
SDDS::column
Definition
column.hpp:34
SDDS::columnList
Definition
column.hpp:151
SDDS::data
Definition
data.hpp:29
SDDS::file
Definition
file.hpp:33
SDDS::file::sddsVersion_m
version sddsVersion_m
Definition
file.hpp:34
SDDS::file::sddsDescription_m
std::optional< description > sddsDescription_m
Definition
file.hpp:35
SDDS::file::sddsColumns_m
columnList sddsColumns_m
Definition
file.hpp:37
SDDS::file::sddsArrays_m
arrayList sddsArrays_m
Definition
file.hpp:40
SDDS::file::sddsData_m
data sddsData_m
Definition
file.hpp:38
SDDS::file::sddsIncludes_m
includeList sddsIncludes_m
Definition
file.hpp:41
SDDS::file::clear
void clear()
Definition
file.hpp:43
SDDS::file::sddsParameters_m
parameterList sddsParameters_m
Definition
file.hpp:36
SDDS::file::sddsAssociates_m
associateList sddsAssociates_m
Definition
file.hpp:39
SDDS::includeList
Definition
include.hpp:54
SDDS::parameter
Definition
parameter.hpp:34
SDDS::parameterList
Definition
parameter.hpp:144
SDDS::version
Definition
version.hpp:23
Generated on Wed Sep 30 2026 07:14:50 for OPAL (Object Oriented Parallel Accelerator Library) by
1.9.8