FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

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-2010 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
00013     the Free Software Foundation, either version 3 of the License, or
00014     (at your 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, see <http://www.gnu.org/licenses/>.
00023 
00024 Class
00025     Foam::IOdictionary
00026 
00027 Description
00028     IOdictionary is derived from dictionary and IOobject to give the
00029     dictionary automatic IO functionality via the objectRegistry.  To facilitate
00030     IO, IOdictioanry is provided with a constructor from IOobject and writeData
00031     and write functions.
00032 
00033 SourceFiles
00034     IOdictionary.C
00035     IOdictionaryIO.C
00036 
00037 \*---------------------------------------------------------------------------*/
00038 
00039 #ifndef IOdictionary_H
00040 #define IOdictionary_H
00041 
00042 #include <OpenFOAM/dictionary.H>
00043 #include <OpenFOAM/regIOobject.H>
00044 
00045 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00046 
00047 namespace Foam
00048 {
00049 
00050 /*---------------------------------------------------------------------------*\
00051                            Class IOdictionary Declaration
00052 \*---------------------------------------------------------------------------*/
00053 
00054 class IOdictionary
00055 :
00056     public regIOobject,
00057     public dictionary
00058 {
00059 
00060 public:
00061 
00062     TypeName("dictionary");
00063 
00064 
00065     // Constructors
00066 
00067         //- Construct given an IOobject
00068         IOdictionary(const IOobject&);
00069 
00070         //- Construct given an IOobject and dictionary
00071         IOdictionary(const IOobject&, const dictionary&);
00072 
00073 
00074     // Destructor
00075 
00076         virtual ~IOdictionary();
00077 
00078 
00079     // Member functions
00080 
00081         //- Name function is needed to disambiguate those inherited
00082         //  from regIOobject and dictionary
00083         const word& name() const;
00084 
00085         //- ReadData function required for regIOobject read operation
00086         bool readData(Istream&);
00087 
00088         //- WriteData function required for regIOobject write operation
00089         bool writeData(Ostream&) const;
00090 
00091         //- Write using setting from DB
00092         virtual bool write() const;
00093 
00094 
00095     // Member operators
00096 
00097         //- Assignment of other IOdictionary's entries to this IOdictionary
00098         void operator=(const IOdictionary&);
00099 };
00100 
00101 
00102 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00103 
00104 } // End namespace Foam
00105 
00106 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00107 
00108 #endif
00109 
00110 // ************************ vim: set sw=4 sts=4 et: ************************ //
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines