OpenFOAM logo
Open Source CFD Toolkit

IOdictionary.H

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------*\
00002   =========                 |
00003   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
00004    \\    /   O peration     |
00005     \\  /    A nd           | Copyright (C) 1991-2005 OpenCFD Ltd.
00006      \\/     M anipulation  |
00007 -------------------------------------------------------------------------------
00008 License
00009     This file is part of OpenFOAM.
00010 
00011     OpenFOAM is free software; you can redistribute it and/or modify it
00012     under the terms of the GNU General Public License as published by the
00013     Free Software Foundation; either version 2 of the License, or (at your
00014     option) any later version.
00015 
00016     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
00017     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00018     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00019     for more details.
00020 
00021     You should have received a copy of the GNU General Public License
00022     along with OpenFOAM; if not, write to the Free Software Foundation,
00023     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
00024 
00025 Class
00026     IOdictionary
00027 
00028 Description
00029     IOdictionary is derived from dictionary and IOobject to give the
00030     dictionary automatic IO functionality via the objectRegistry.  To facilitate
00031     IO, IOdictioanry is provided with a constructor from IOobject and writeData
00032     and write functions.
00033 
00034 SourceFiles
00035     IOdictionary.C
00036     IOdictionaryIO.C
00037 
00038 \*---------------------------------------------------------------------------*/
00039 
00040 #ifndef IOdictionary_H
00041 #define IOdictionary_H
00042 
00043 #include "dictionary.H"
00044 #include "regIOobject.H"
00045 
00046 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00047 
00048 namespace Foam
00049 {
00050 
00051 class objectRegistry;
00052 
00053 /*---------------------------------------------------------------------------*\
00054                            Class IOdictionary Declaration
00055 \*---------------------------------------------------------------------------*/
00056 
00057 class IOdictionary
00058 :
00059     public regIOobject,
00060     public dictionary
00061 {
00062 
00063 public:
00064 
00065     TypeName("dictionary");
00066 
00067 
00068     // Constructors
00069 
00070         //- Construct given an IOobject
00071         IOdictionary(const IOobject&);
00072 
00073 
00074     // Member functions
00075 
00076         //- Name function is needed to disambiguate those inherited
00077         //  from regIOobject and dictionary
00078         const word& name() const;
00079 
00080         //- ReadData function required for regIOobject read operation
00081         bool readData(Istream&);
00082 
00083         //- WriteData function required for regIOobject write operation
00084         bool writeData(Ostream&) const;
00085 
00086 
00087     // Member operators
00088 
00089         //- Assignment of other IOdictionary's entries to this IOdictionary
00090         void operator=(const IOdictionary&);
00091 };
00092 
00093 
00094 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00095 
00096 } // End namespace Foam
00097 
00098 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00099 
00100 #endif
00101 
00102 // ************************************************************************* //
For further information go to www.openfoam.org