foamVtkAppendBase64Formatter.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2016-2022 OpenCFD Ltd.
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::vtk::appendBase64Formatter
28
29Description
30 Appended base-64 encoded binary output.
31 Uses an output filter layer to write base-64 encoded content.
32
33SourceFiles
34 foamVtkAppendBase64Formatter.C
35
36\*---------------------------------------------------------------------------*/
37
38#ifndef Foam_vtk_appendBase64Formatter_H
39#define Foam_vtk_appendBase64Formatter_H
40
41#include "foamVtkBase64Layer.H"
42
43// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44
45namespace Foam
46{
47namespace vtk
48{
49
50/*---------------------------------------------------------------------------*\
51 Class vtk::appendBase64Formatter Declaration
52\*---------------------------------------------------------------------------*/
55:
57{
58 // Private Data Members
59
60 static const char* name_;
61 static const outputOptions opts_;
62
63 //- The current offset for append data.
64 uint64_t offset_;
65
66
67 // Private Member Functions
68
69 //- No copy construct
71
72 //- No copy assignment
73 void operator=(const appendBase64Formatter&) = delete;
74
75
76public:
77
78 // Constructors
79
80 //- Construct and attach to an output stream
81 explicit appendBase64Formatter(std::ostream& os);
82
83
84 //- Destructor. Closes/flushes the underlying layer.
85 virtual ~appendBase64Formatter();
86
87
88 // Member Functions
89
90 //- The output is APPEND_BASE64.
91 virtual const vtk::outputOptions& opts() const;
92
93 //- Output name for XML type ("append")
94 virtual const char* name() const;
95
96 //- Increase the append data offset by numbytes and sizeof(uint64_t).
97 // The additional (uint64_t) size information is consistent with
98 // writeSize().
99 //
100 // \return The previous data offset
101 virtual uint64_t offset(const uint64_t numbytes);
102};
103
104
105// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
106
107} // End namespace vtk
108} // End namespace Foam
109
110// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
111
112#endif
113
114// ************************************************************************* //
Appended base-64 encoded binary output. Uses an output filter layer to write base-64 encoded content.
virtual uint64_t offset(const uint64_t numbytes)
Increase the append data offset by numbytes and sizeof(uint64_t).
virtual const vtk::outputOptions & opts() const
The output is APPEND_BASE64.
virtual const char * name() const
Output name for XML type ("append")
virtual ~appendBase64Formatter()
Destructor. Closes/flushes the underlying layer.
Base-64 encoded output layer - normally only used indirectly by formatters.
std::ostream & os() noexcept
Access to the underlying output stream.
Encapsulated combinations of output format options. This is primarily useful when defining the output...
Namespace for OpenFOAM.