1#ifndef DUNE_FEM_FUNCTION_COMMON_FUNCTOR_HH
2#define DUNE_FEM_FUNCTION_COMMON_FUNCTOR_HH
21 template<
class Vector >
28 template<
class Value >
29 void operator() (
const std::size_t index, Value &&value )
const
31 value += vector_[ index ];
34 const Vector &vector_;
41 template<
class Vector,
class Scalar >
49 template<
class Value >
50 void operator() (
const std::size_t index, Value &&value )
const
52 axpy( s_, vector_[ index ], std::forward< Value >( value ) );
55 const Vector &vector_;
63 template<
class Vector >
70 template<
class Value >
71 void operator() (
const std::size_t index, Value &&value )
const
73 value = vector_[ index ];
76 const Vector &vector_;
83 template<
class Vector >
90 template<
class Value >
91 void operator() (
const std::size_t index, Value &&value )
const
93 vector_.bind( index, std::forward< Value > ( value ) );
104 template<
class DofVector,
class Functor >
111 : dofVector_( dofVector ), functor_( functor )
114 template <
class GlobalKey >
115 void operator () ( std::size_t local,
const GlobalKey& globalKey )
const
118 functor_( local*
blockSize + i, dofVector_[ globalKey ][ i ] );
123 DofVector &dofVector_;
131 template<
class DofVector,
class Functor >
Definition: bindguard.hh:11
static DofBlockFunctor< DofVector, Functor > dofBlockFunctor(DofVector &dofVector, Functor functor)
Definition: function/common/functor.hh:132
void axpy(const T &a, const T &x, T &y)
Definition: space/basisfunctionset/functor.hh:38
static void forEach(IndexRange< T, sz > range, F &&f)
Definition: hybrid.hh:129
Definition: function/common/functor.hh:23
LeftAdd(const Vector &vector)
Definition: function/common/functor.hh:24
void operator()(const std::size_t index, Value &&value) const
Definition: function/common/functor.hh:29
Definition: function/common/functor.hh:43
void operator()(const std::size_t index, Value &&value) const
Definition: function/common/functor.hh:50
LeftAddScaled(const Vector &vector, const Scalar &s)
Definition: function/common/functor.hh:44
Definition: function/common/functor.hh:65
void operator()(const std::size_t index, Value &&value) const
Definition: function/common/functor.hh:71
LeftAssign(const Vector &vector)
Definition: function/common/functor.hh:66
Definition: function/common/functor.hh:85
AssignVectorReference(Vector &vector)
Definition: function/common/functor.hh:86
Vector & vector_
Definition: function/common/functor.hh:97
void operator()(const std::size_t index, Value &&value) const
Definition: function/common/functor.hh:91
Definition: function/common/functor.hh:106
void operator()(std::size_t local, const GlobalKey &globalKey) const
Definition: function/common/functor.hh:115
DofVector::BlockIndices BlockIndices
Definition: function/common/functor.hh:107
DofBlockFunctor(DofVector &dofVector, Functor functor)
Definition: function/common/functor.hh:110
static constexpr std::size_t blockSize
Definition: function/common/functor.hh:108