FreeFOAM The Cross-Platform CFD Toolkit
IOdictionary.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 | Copyright (C) 1991-2010 OpenCFD Ltd.
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::IOdictionary
26 
27 Description
28  IOdictionary is derived from dictionary and IOobject to give the
29  dictionary automatic IO functionality via the objectRegistry. To facilitate
30  IO, IOdictioanry is provided with a constructor from IOobject and writeData
31  and write functions.
32 
33 SourceFiles
34  IOdictionary.C
35  IOdictionaryIO.C
36 
37 \*---------------------------------------------------------------------------*/
38 
39 #ifndef IOdictionary_H
40 #define IOdictionary_H
41 
42 #include <OpenFOAM/dictionary.H>
43 #include <OpenFOAM/regIOobject.H>
44 
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 
47 namespace Foam
48 {
49 
50 /*---------------------------------------------------------------------------*\
51  Class IOdictionary Declaration
52 \*---------------------------------------------------------------------------*/
53 
55 :
56  public regIOobject,
57  public dictionary
58 {
59 
60 public:
61 
62  TypeName("dictionary");
63 
64 
65  // Constructors
66 
67  //- Construct given an IOobject
68  IOdictionary(const IOobject&);
69 
70  //- Construct given an IOobject and dictionary
71  IOdictionary(const IOobject&, const dictionary&);
72 
73 
74  // Destructor
75 
76  virtual ~IOdictionary();
77 
78 
79  // Member functions
80 
81  //- Name function is needed to disambiguate those inherited
82  // from regIOobject and dictionary
83  const word& name() const;
84 
85  //- ReadData function required for regIOobject read operation
86  bool readData(Istream&);
87 
88  //- WriteData function required for regIOobject write operation
89  bool writeData(Ostream&) const;
90 
91  //- Write using setting from DB
92  virtual bool write() const;
93 
94 
95  // Member operators
96 
97  //- Assignment of other IOdictionary's entries to this IOdictionary
98  void operator=(const IOdictionary&);
99 };
100 
101 
102 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
103 
104 } // End namespace Foam
105 
106 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
107 
108 #endif
109 
110 // ************************ vim: set sw=4 sts=4 et: ************************ //