Merge branch 'upstream/OpenFOAM' into master
[freefoam.git] / data / templates / foamTemplateTemplate.C
blob764eccfdc2528cc25d865647d5be3088d42ea11d
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>
35 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
37 template<TemplateClassArgument>
38 const dataType Foam::ClassName<TemplateArgument>::staticData();
41 // * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * * //
44 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
46 template<TemplateClassArgument>
47 Foam::ClassName<TemplateArgument>::ClassName()
49     baseClassName(),
50     data_()
54 template<TemplateClassArgument>
55 Foam::ClassName<TemplateArgument>::ClassName(const dataType& data)
57     baseClassName(),
58     data_(data)
62 template<TemplateClassArgument>
63 Foam::ClassName<TemplateArgument>::ClassName
65     const ClassName<TemplateArgument>&
68     baseClassName(),
69     data_()
73 // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
75 template<TemplateClassArgument>
76 Foam::autoPtr<Foam::ClassName<TemplateArgument> >
77 Foam::ClassName<TemplateArgument>::New()
79     return autoPtr<ClassName<TemplateArgument> >
80     (
81         new ClassName<TemplateArgument>
82     );
86 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
88 template<TemplateClassArgument>
89 Foam::ClassName<TemplateArgument>::~ClassName()
93 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
96 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
99 // * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
102 // * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * * //
104 template<TemplateClassArgument>
105 void Foam::ClassName<TemplateArgument>::operator=
107     const ClassName<TemplateArgument>& rhs
110     // Check for assignment to self
111     if (this == &rhs)
112     {
113         FatalErrorIn
114         (
115             "Foam::ClassName<TemplateArgument>::operator="
116             "(const Foam::ClassName<TemplateArgument>&)"
117         )   << "Attempted assignment to self"
118             << abort(FatalError);
119     }
123 // * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * * //
126 // * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * * //
129 // *********************** vim: set sw=4 sts=4 et: ************************ //