IOmapDistribute.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) 2014 OpenFOAM Foundation
9  Copyright (C) 2018 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 Class
28  Foam::IOmapDistribute
29 
30 Description
31  IOmapDistribute is derived from mapDistribute and
32  IOobject to give the mapDistribute
33  automatic IO functionality via the objectRegistry.
34 
35 SourceFiles
36  IOmapDistribute.C
37 
38 \*---------------------------------------------------------------------------*/
39 
40 #ifndef IOmapDistribute_H
41 #define IOmapDistribute_H
42 
43 #include "mapDistribute.H"
44 #include "regIOobject.H"
45 
46 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 
48 namespace Foam
49 {
50 
51 /*---------------------------------------------------------------------------*\
52  Class IOmapDistribute Declaration
53 \*---------------------------------------------------------------------------*/
54 
55 class IOmapDistribute
56 :
57  public regIOobject,
58  public mapDistribute
59 {
60 
61 public:
62 
63  //- Runtime type information
64  TypeName("mapDistribute");
65 
66  // Constructors
67 
68  //- Construct given an IOobject
69  IOmapDistribute(const IOobject& io);
70 
71  //- Construct given an IOobject, copying mapDistribute contents
72  IOmapDistribute(const IOobject& io, const mapDistribute& map);
73 
74  //- Construct, moving mapDistribute contents
75  IOmapDistribute(const IOobject& io, mapDistribute&& map);
76 
77 
78  //- Destructor
79  virtual ~IOmapDistribute() = default;
80 
81 
82  // Member functions
83 
84  //- ReadData function required for regIOobject read operation
85  virtual bool readData(Istream&);
86 
87  //- WriteData function required for regIOobject write operation
88  virtual bool writeData(Ostream&) const;
89 
90 };
91 
92 
93 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
94 
95 } // End namespace Foam
96 
97 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
98 
99 #endif
100 
101 // ************************************************************************* //
regIOobject.H
Foam::IOobject
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Definition: IOobject.H:169
Foam::IOmapDistribute
IOmapDistribute is derived from mapDistribute and IOobject to give the mapDistribute automatic IO fun...
Definition: IOmapDistribute.H:54
Foam::IOmapDistribute::TypeName
TypeName("mapDistribute")
Runtime type information.
Foam::IOmapDistribute::IOmapDistribute
IOmapDistribute(const IOobject &io)
Construct given an IOobject.
Definition: IOmapDistribute.C:41
Foam::IOmapDistribute::writeData
virtual bool writeData(Ostream &) const
WriteData function required for regIOobject write operation.
Definition: IOmapDistribute.C:129
Foam::IOmapDistribute::~IOmapDistribute
virtual ~IOmapDistribute()=default
Destructor.
Foam::Istream
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Definition: Istream.H:61
Foam::mapDistribute
Class containing processor-to-processor mapping information.
Definition: mapDistribute.H:163
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::IOmapDistribute::readData
virtual bool readData(Istream &)
ReadData function required for regIOobject read operation.
Definition: IOmapDistribute.C:123
Foam::regIOobject
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
Definition: regIOobject.H:73
mapDistribute.H
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:56