3 #ifndef DUNE_VIRTUALWRAPPERS_HH
4 #define DUNE_VIRTUALWRAPPERS_HH
6 #include<dune/common/function.hh>
20 template<
class Imp,
bool IsInterface>
23 static Imp*
clone(
const Imp& imp)
33 static Imp*
clone(
const Imp& imp)
45 static Imp*
clone(
const Imp& imp)
71 template<
class T ,
class Imp>
93 using Base::evaluateFunction;
94 using Base::evaluateJacobian;
99 const typename Dune::template array<int,Traits::diffOrder>& directions,
100 const typename Traits::DomainType& in,
101 std::vector<typename Traits::RangeType>& out)
const
109 impl_.template evaluate<Traits::diffOrder>(directions, in, out);
125 template<
class DF,
int n,
class D,
class RF,
int m,
class R,
class J,
class Imp>
129 template<
class FEImp>
143 unsigned int size ()
const
149 unsigned int order ()
const
151 return impl_.order();
156 std::vector<typename Traits::RangeType>& out)
const
158 impl_.evaluateFunction(in,out);
162 inline void evaluateJacobian(
164 std::vector<typename Traits::JacobianType>& out)
const
166 impl_.evaluateJacobian(in,out);
171 const typename Dune::template array<int,Traits::diffOrder>& directions,
173 std::vector<typename Traits::RangeType>& out)
const
177 impl_.evaluateFunction(in,out);
198 template<
class DomainType,
class RangeType,
class Imp>
202 template<
class FEImp>
222 impl_.interpolate(f,out);
246 template<
class FEImp>
267 return impl_.localKey(i);
293 typedef typename Imp::Traits::LocalBasisType::Traits T;
347 const GeometryType
type ()
const
349 return impl_->type();
369 typename T::RangeType,