go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
xoutrow.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright UMC Utrecht and contributors
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef xoutrow_h
19#define xoutrow_h
20
21#include "xoutbase.h"
22#include "xoutcell.h"
23
24#include <memory> // For unique_ptr.
25#include <sstream>
26
27namespace xoutlibrary
28{
29
42class xoutrow : public xoutbase
43{
44public:
45 using Self = xoutrow;
47
49 xoutrow() = default;
50
52 ~xoutrow() override = default;
53
57 void
59
62 virtual void
64
66 int
67 AddNewTargetCell(const char * name);
68
70 int
71 RemoveTargetCell(const char * name) override;
72
77 int
78 AddOutput(const char * name, std::ostream * output) override;
79
80 int
81 AddOutput(const char * name, Superclass * output) override;
82
83 int
84 RemoveOutput(const char * name) override;
85
86 void
87 SetOutputs(const CStreamMapType & outputmap) override;
88
89 void
90 SetOutputs(const XStreamMapType & outputmap) override;
91
92protected:
96 void
97 SetXTargetCells(const XStreamMapType & cellmap) override;
98
99private:
100 std::map<std::string, std::unique_ptr<xoutbase>> m_CellMap;
101};
102
103} // end namespace xoutlibrary
104
105#endif // end #ifndef xoutrow_h
Base class for xout.
Definition: xoutbase.h:40
std::map< std::string, std::ostream * > CStreamMapType
Definition: xoutbase.h:45
std::map< std::string, Self * > XStreamMapType
Definition: xoutbase.h:46
The xoutrow class can easily generate tables.
Definition: xoutrow.h:43
int AddOutput(const char *name, std::ostream *output) override
void WriteBufferedData() override
void SetOutputs(const XStreamMapType &outputmap) override
int RemoveOutput(const char *name) override
int AddNewTargetCell(const char *name)
void SetOutputs(const CStreamMapType &outputmap) override
int AddOutput(const char *name, Superclass *output) override
virtual void WriteHeaders()
~xoutrow() override=default
std::map< std::string, std::unique_ptr< xoutbase > > m_CellMap
Definition: xoutrow.h:100
int RemoveTargetCell(const char *name) override
void SetXTargetCells(const XStreamMapType &cellmap) override


Generated on 2023-01-13 for elastix by doxygen 1.9.6 elastix logo