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-2018 OpenCFD Ltd.
9 -------------------------------------------------------------------------------
10 License
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 
26 Class
27  Foam::vtk::appendBase64Formatter
28 
29 Description
30  Appended base-64 encoded binary output.
31  Uses an output filter layer to write base-64 encoded content.
32 
33 SourceFiles
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 
45 namespace Foam
46 {
47 namespace vtk
48 {
49 
50 /*---------------------------------------------------------------------------*\
51  Class vtk::appendBase64Formatter Declaration
52 \*---------------------------------------------------------------------------*/
53 
55 :
56  public foamVtkBase64Layer
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 
76 public:
77 
78  // Constructors
79 
80  //- Construct and attach to an output stream
81  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 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 } // End namespace vtk
107 } // End namespace Foam
108 
109 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
110 
111 #endif
112 
113 // ************************************************************************* //
Foam::vtk::outputOptions
Encapsulated combinations of output format options. This is primarily useful when defining the output...
Definition: foamVtkOutputOptions.H:59
Foam::vtk::foamVtkBase64Layer
Base-64 encoded output layer - normally only used indirectly by formatters.
Definition: foamVtkBase64Layer.H:50
Foam::vtk::appendBase64Formatter
Appended base-64 encoded binary output. Uses an output filter layer to write base-64 encoded content.
Definition: foamVtkAppendBase64Formatter.H:53
Foam::vtk::appendBase64Formatter::~appendBase64Formatter
virtual ~appendBase64Formatter()
Destructor. Closes/flushes the underlying layer.
Definition: foamVtkAppendBase64Formatter.C:53
foamVtkBase64Layer.H
Foam::vtk::appendBase64Formatter::opts
virtual const outputOptions & opts() const
The output is APPEND_BASE64.
Definition: foamVtkAppendBase64Formatter.C:62
Foam::vtk::formatter::os
std::ostream & os()
Access to the underlying output stream.
Definition: foamVtkFormatterI.H:70
Foam::vtk::appendBase64Formatter::name
virtual const char * name() const
Output name for XML type ("append")
Definition: foamVtkAppendBase64Formatter.C:68
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::vtk::appendBase64Formatter::offset
virtual uint64_t offset(const uint64_t numbytes)
Increase the append data offset by numbytes and sizeof(uint64_t).
Definition: foamVtkAppendBase64Formatter.C:74