Initial commit for version 2.0.x patch release
[OpenFOAM-2.0.x.git] / etc / codeTemplates / source / _Template.H
blobf68ec751b1f02c4c4277962e52d9b055b42ae5f8
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011-2011 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
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.
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.
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/>.
24 Class
25     Foam::CLASSNAME
27 Description
29 SourceFiles
30     CLASSNAMEI.H
31     CLASSNAME.C
32     CLASSNAMEIO.C
34 \*---------------------------------------------------------------------------*/
36 #ifndef CLASSNAME_H
37 #define CLASSNAME_H
39 #include ".H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 namespace Foam
46 // Forward declaration of classes
47 class Istream;
48 class Ostream;
50 // Forward declaration of friend functions and operators
51 class CLASSNAME;
52 Istream& operator>>(Istream&, CLASSNAME&);
53 Ostream& operator<<(Ostream&, const CLASSNAME&);
56 /*---------------------------------------------------------------------------*\
57                          Class CLASSNAME Declaration
58 \*---------------------------------------------------------------------------*/
60 class CLASSNAME
62     public baseClassName
64     // Private data
66         //- Description of data_
67         dataType data_;
70     // Private Member Functions
72         //- Disallow default bitwise copy construct
73         CLASSNAME(const CLASSNAME&);
75         //- Disallow default bitwise assignment
76         void operator=(const CLASSNAME&);
79 public:
81     // Static data members
83         //- Static data staticData
84         static const dataType staticData;
87     // Constructors
89         //- Construct null
90         CLASSNAME();
92         //- Construct from components
93         CLASSNAME(const dataType& data);
95         //- Construct from Istream
96         CLASSNAME(Istream&);
98         //- Construct as copy
99         CLASSNAME(const CLASSNAME&);
102     // Selectors
104         //- Select null constructed
105         static autoPtr<CLASSNAME> New();
108     //- Destructor
109     ~CLASSNAME();
112     // Member Functions
114         // Access
116         // Check
118         // Edit
120         // Write
123     // Member Operators
125         void operator=(const CLASSNAME&);
128     // Friend Functions
130     // Friend Operators
132     // IOstream Operators
134         friend Istream& operator>>(Istream&, CLASSNAME&);
135         friend Ostream& operator<<(Ostream&, const CLASSNAME&);
139 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
141 } // End namespace Foam
143 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
145 #include "CLASSNAMEI.H"
147 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
149 #endif
151 // ************************************************************************* //