1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
11 OpenFOAM is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by
13 the Free Software Foundation, either version 3 of the License, or
14 (at your option) any later version.
16 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM. 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 binary block
134 virtual Ostream& write(const char*, std::streamsize);
136 //- Add indentation characters
137 virtual void indent();
142 //- Print description of IOstream to Ostream
143 virtual void print(Ostream&) const;
147 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
149 } // End namespace Foam
151 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
155 // ************************************************************************* //