LifeV
QRAdapterBase.hpp
Go to the documentation of this file.
1 //@HEADER
2 /*
3 *******************************************************************************
4 
5  Copyright (C) 2004, 2005, 2007 EPFL, Politecnico di Milano, INRIA
6  Copyright (C) 2010 EPFL, Politecnico di Milano, Emory UNiversity
7 
8  This file is part of the LifeV library
9 
10  LifeV is free software; you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as published by
12  the Free Software Foundation; either version 3 of the License, or
13  (at your option) any later version.
14 
15  LifeV is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  Lesser General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public
21  License along with this library; if not, see <http://www.gnu.org/licenses/>
22 
23 
24 *******************************************************************************
25 */
26 //@HEADER
27 
28 /*!
29  * @file
30  @brief This file contains mother classes of the QRAdapter classes.
31 
32  @date 06/2011
33  @author Samuel Quinodoz <samuel.quinodoz@epfl.ch>
34  */
35 
36 #ifndef QR_ADAPTER_BASE_HPP
37 #define QR_ADAPTER_BASE_HPP
38 
39 
40 #include <lifev/core/LifeV.hpp>
41 
42 namespace LifeV
43 {
44 
45 /*!
46  ETCurrenteFE is a template class. If fieldDim the general
47  case is treated as representing a vectorial FE (only the case
48  where fieldDim represents a scalar FE, but this is a partial
49  specialization of this class).
50 
51 */
52 template < typename ImplementationType>
54 {
55 public:
56 
57  //! @name Public Types
58  //@{
59 
60  typedef ImplementationType implementation_Type;
61 
62  //@}
63 
64 
65  //! @name Constructors & Destructor
66  //@{
67 
68  //! Empty and only constructor
70 
71  //! Destructor
72  virtual ~QRAdapterBase() {}
73 
74  //@}
75 
76 
77  //! @name Methods
78  //@{
79 
80  //! Method for accessing the actual implementation contained.
82  {
83  return static_cast<const implementation_Type&> (*this);
84  }
85 
86  //@}
87 
88 private:
89 
90  //! @name Private Methods
91  //@{
92 
93  //! No copy (avoid slicing)
94  QRAdapterBase ( const QRAdapterBase<ImplementationType>&);
95 
96  //! No assignement (avoid slicing)
97  void operator= (const QRAdapterBase<ImplementationType>&);
98 
99  //@}
100 };
101 
102 
103 } // Namespace LifeV
104 
105 
106 #endif /* QR_ADAPTER_BASE_HPP */
const implementation_Type & implementation() const
Method for accessing the actual implementation contained.
virtual ~QRAdapterBase()
Destructor.
ImplementationType implementation_Type
void updateInverseJacobian(const UInt &iQuadPt)
QRAdapterBase(const QRAdapterBase< ImplementationType > &)
No copy (avoid slicing)
QRAdapterBase()
Empty and only constructor.
void operator=(const QRAdapterBase< ImplementationType > &)
No assignement (avoid slicing)