1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | foam-extend: Open Source CFD
4 \\ / O peration | Version: 3.2
5 \\ / A nd | Web: http://www.foam-extend.org
6 \\/ M anipulation | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
9 This file is part of foam-extend.
11 foam-extend is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by the
13 Free Software Foundation, either version 3 of the License, or (at your
14 option) any later version.
16 foam-extend is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
28 Version of OSstream which prints a prefix on each line.
30 This is useful for running in parallel as it allows the processor number
31 to be automatically prepended to each message line.
36 \*---------------------------------------------------------------------------*/
38 #ifndef prefixOSstream_H
39 #define prefixOSstream_H
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48 /*---------------------------------------------------------------------------*\
49 Class prefixOSstream Declaration
50 \*---------------------------------------------------------------------------*/
62 // Private member functions
64 inline void checkWritePrefix();
76 streamFormat format = ASCII,
77 versionNumber version = currentVersion,
78 compressionType compression=UNCOMPRESSED
86 //- Return the prefix of the stream
87 const string& prefix() const
92 //- Return non-const access to the prefix of the stream
101 //- Write next token to stream
102 virtual Ostream& write(const token&);
105 virtual Ostream& write(const char);
107 //- Write character string
108 virtual Ostream& write(const char*);
111 virtual Ostream& write(const word&);
114 virtual Ostream& write(const string&);
116 //- Write std::string surrounded by quotes.
117 // Optional write without quotes.
118 virtual Ostream& writeQuoted
121 const bool quoted=true
125 virtual Ostream& write(const label);
127 //- Write floatScalar
128 virtual Ostream& write(const floatScalar);
130 //- Write doubleScalar
131 virtual Ostream& write(const doubleScalar);
133 //- Write doubleScalar
134 virtual Ostream& write(const longDoubleScalar);
136 //- Write binary block
137 virtual Ostream& write(const char*, std::streamsize);
139 //- Add indentation characters
140 virtual void indent();
145 //- Print description of IOstream to Ostream
146 virtual void print(Ostream&) const;
150 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
152 } // End namespace Foam
154 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158 // ************************************************************************* //