All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
IOmapDistribute.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2014-2019 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
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.
15 
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
19  for more details.
20 
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/>.
23 
24 Class
25  Foam::IOmapDistribute
26 
27 Description
28  IOmapDistribute is derived from mapDistribute and
29  IOobject to give the mapDistribute
30  automatic IO functionality via the objectRegistry.
31 
32 SourceFiles
33  IOmapDistribute.C
34 
35 \*---------------------------------------------------------------------------*/
36 
37 #ifndef IOmapDistribute_H
38 #define IOmapDistribute_H
39 
40 #include "mapDistribute.H"
41 #include "regIOobject.H"
42 
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 
45 namespace Foam
46 {
47 
48 /*---------------------------------------------------------------------------*\
49  Class IOmapDistribute Declaration
50 \*---------------------------------------------------------------------------*/
51 
52 class IOmapDistribute
53 :
54  public regIOobject,
55  public mapDistribute
56 {
57 
58 public:
59 
60  //- Runtime type information
61  TypeName("mapDistribute");
62 
63  // Constructors
64 
65  //- Construct given an IOobject
66  IOmapDistribute(const IOobject&);
67 
68  //- Construct given an IOobject and mapDistribute
69  IOmapDistribute(const IOobject&, const mapDistribute&);
70 
71  //- Move constructor transferring the mapDistribute contents
73 
74 
75  //- Destructor
76  virtual ~IOmapDistribute();
77 
78 
79  // Member Functions
80 
81  //- ReadData function required for regIOobject read operation
82  virtual bool readData(Istream&);
83 
84  //- WriteData function required for regIOobject write operation
85  virtual bool writeData(Ostream&) const;
86 
87 };
88 
89 
90 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
91 
92 } // End namespace Foam
93 
94 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
95 
96 #endif
97 
98 // ************************************************************************* //
IOmapDistribute is derived from mapDistribute and IOobject to give the mapDistribute automatic IO fun...
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Definition: Istream.H:57
virtual bool writeData(Ostream &) const
WriteData function required for regIOobject write operation.
IOmapDistribute(const IOobject &)
Construct given an IOobject.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:54
Class containing processor-to-processor mapping information.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
Definition: regIOobject.H:52
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Definition: IOobject.H:92
TypeName("mapDistribute")
Runtime type information.
virtual ~IOmapDistribute()
Destructor.
virtual bool readData(Istream &)
ReadData function required for regIOobject read operation.
Namespace for OpenFOAM.