Loading...
Searching...
No Matches
foamVtkBase64Formatter.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::base64Formatter
28
29Description
30 Inline base-64 encoded binary output.
31 Uses an output filter layer to write base-64 encoded content.
32
33SourceFiles
34 foamVtkBase64Formatter.cxx
35
36\*---------------------------------------------------------------------------*/
37
38#ifndef Foam_vtk_base64Formatter_H
39#define Foam_vtk_base64Formatter_H
40
41#include "foamVtkFormatter.H"
42#include "foamVtkBase64Layer.H"
43
44// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46namespace Foam
47{
48namespace vtk
49{
51/*---------------------------------------------------------------------------*\
52 Class vtk::base64Formatter Declaration
53\*---------------------------------------------------------------------------*/
54
55class base64Formatter
56:
58{
59 // Private Data Members
60
61 static const char* name_;
62 static const outputOptions opts_;
63
64
65 // Private Member Functions
66
67 //- No copy construct
68 base64Formatter(const base64Formatter&) = delete;
69
70 //- No copy assignment
71 void operator=(const base64Formatter&) = delete;
72
73
74public:
75
76 // Constructors
77
78 //- Construct and attach to an output stream
79 explicit base64Formatter(std::ostream& os);
81
82 //- Destructor. Closes/flushes the underlying layer.
83 virtual ~base64Formatter();
84
85
86 // Member Functions
87
88 //- The output is INLINE_BASE64.
89 virtual const vtk::outputOptions& opts() const;
90
91 //- Name for the XML output type ("binary")
92 virtual const char* name() const;
93
95 //- End the encoding sequence (padding the final characters with '=')
96 // and write a newline to the output if any encoding was done.
97 virtual void flush();
98};
100
101// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
102
103} // End namespace vtk
104} // End namespace Foam
105
106// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
108#endif
109
110// ************************************************************************* //
virtual const vtk::outputOptions & opts() const
The output is INLINE_BASE64.
virtual const char * name() const
Name for the XML output type ("binary").
virtual ~base64Formatter()
Destructor. Closes/flushes the underlying layer.
virtual void flush()
End the encoding sequence (padding the final characters with '=').
base64Formatter(std::ostream &os)
Construct and attach to an output stream.
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 handling VTK output. Contains classes and functions for writing VTK file content.
Namespace for OpenFOAM.