Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::functionObjectFile
Description
Base class for output file data handling
See Also
Foam::functionObject
Foam::OutputFilterFunctionObject
SourceFiles
functionObjectFile.C
\*---------------------------------------------------------------------------*/
#ifndef functionObjectFile_H
#define functionObjectFile_H
#include "objectRegistry.H"
#include "OFstream.H"
#include "PtrList.H"
#include "HashSet.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class functionObjectFile Declaration
\*---------------------------------------------------------------------------*/
class functionObjectFile
{
//- Reference to the database
const objectRegistry& obr_;
//- Prefix
//- File names
wordHashSet names_;
//- File pointer
PtrList<OFstream> filePtrs_;
// Protected Member Functions
andy
committed
//- Return the base directory for output
virtual fileName baseFileDir() const;
andy
committed
//- Return the base directory for the current time value
virtual fileName baseTimeDir() const;
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
//- Create the output file
virtual void createFiles();
//- File header information
virtual void writeFileHeader(const label i = 0);
//- Write function
virtual void write();
//- Reset the list of names from a wordList
virtual void resetNames(const wordList& names);
//- Reset the list of names to a single name entry
virtual void resetName(const word& name);
//- Disallow default bitwise copy construct
functionObjectFile(const functionObjectFile&);
//- Disallow default bitwise assignment
void operator=(const functionObjectFile&);
public:
//- Folder prefix
static const word outputPrefix;
// Constructors
//- Construct null
functionObjectFile(const objectRegistry& obr, const word& prefix);
//- Construct from components
functionObjectFile
(
const objectRegistry& obr,
const word& prefix,
const word& name
);
//- Construct from components
functionObjectFile
(
const objectRegistry& obr,
const word& prefix,
const wordList& names
);
//- Destructor
virtual ~functionObjectFile();
// Member Functions
//- Return const access to the names
const wordHashSet& names() const;
//- Return access to the file (if only 1)
OFstream& file();
//- Return access to the files
PtrList<OFstream>& files();
//- Return file 'i'
OFstream& file(const label i);
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //