Merge branch 'upstream/OpenFOAM' into master
[freefoam.git] / data / templates / foamTemplateTemplateIO.C
blobca00759e97bd03064d250355a510b869f0e59940
1 /*----------------------------------------------------------------------------*\
2                 ______                _     ____          __  __
3                |  ____|             _| |_  / __ \   /\   |  \/  |
4                | |__ _ __ ___  ___ /     \| |  | | /  \  | \  / |
5                |  __| '__/ _ \/ _ ( (| |) ) |  | |/ /\ \ | |\/| |
6                | |  | | |  __/  __/\_   _/| |__| / ____ \| |  | |
7                |_|  |_|  \___|\___|  |_|   \____/_/    \_\_|  |_|
9                     FreeFOAM: The Cross-Platform CFD Toolkit
11   Copyright (C) 2008-2009 Michael Wild <themiwi@users.sf.net>
12                           Gerber van der Graaf <gerber_graaf@users.sf.net>
13 --------------------------------------------------------------------------------
14 License
15     This file is part of FreeFOAM.
17     FreeFOAM is free software; you can redistribute it and/or modify it
18     under the terms of the GNU General Public License as published by the
19     Free Software Foundation; either version 2 of the License, or (at your
20     option) any later version.
22     FreeFOAM is distributed in the hope that it will be useful, but WITHOUT
23     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
24     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
25     for more details.
27     You should have received a copy of the GNU General Public License
28     along with FreeFOAM; if not, write to the Free Software Foundation,
29     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
31 \*---------------------------------------------------------------------------*/
33 #include <LibName/ClassName.H>
34 #include <OpenFOAM/IOstreams.H>
36 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
38 template<TemplateClassArgument>
39 Foam::ClassName<TemplateArgument>::ClassName(Istream& is)
41     base1(is),
42     base2(is),
43     member1(is),
44     member2(is)
46     // Check state of Istream
47     is.check("Foam::ClassName<TemplateArgument>::ClassName(Foam::Istream&)");
51 // * * * * * * * * * * * * * * * IOstream Operators  * * * * * * * * * * * * //
53 template<TemplateClassArgument>
54 Foam::Istream& Foam::operator>>
56     Istream& is,
57     ClassName<TemplateArgument>&
60     // Check state of Istream
61     is.check
62     (
63         "Foam::Istream& Foam::operator>>"
64         "(Foam::Istream&, Foam::ClassName<TemplateArgument>&)"
65     );
67     return is;
71 template<TemplateClassArgument>
72 Foam::Ostream& Foam::operator<<
74     Ostream& os,
75     const ClassName<TemplateArgument>&
78     // Check state of Ostream
79     os.check
80     (
81         "Foam::Ostream& Foam::operator<<"
82         "(Ostream&, const ClassName<TemplateArgument>&)"
83     );
85     return os;
89 // ************************ vim: set sw=4 sts=4 et: ************************ //