1#ifndef DUNE_FEM_MISC_FUNCTOR_HH
2#define DUNE_FEM_MISC_FUNCTOR_HH
17 template<
class T,
class U >
18 void operator() (
const T &a, U &b )
const
29 template<
class Array,
class Assign = DefaultAssign >
32 explicit AssignFunctor ( Array &array,
const Assign &
assign = Assign() )
37 template<
class Value >
38 void operator() (
const std::size_t local,
const Value &value )
const
40 assign_( value, array_[ local ] );
48 template<
class T,
class Assign >
49 struct AssignFunctor< T *, Assign >
51 explicit AssignFunctor ( T *array,
const Assign &
assign = Assign() )
56 template<
class Value >
57 void operator() (
const std::size_t local,
const Value &value )
const
59 assign_( value, array_[ local ] );
72 template<
class Value >
73 struct AssignSingleFunctor
75 explicit AssignSingleFunctor (
const std::size_t i, Value &value )
80 void operator() (
const std::size_t local,
const Value &globalKey )
const
82 if( local == localFixed_ )
87 std::size_t localFixed_;
91 template <
class Mapper2,
class Entity2,
class Functor>
94 explicit MatrixFunctor(
const Mapper2 &mapper2,
const Entity2 &entity2, Functor functor )
99 void operator() (
const std::size_t local1,
const typename Functor::GlobalKey &globalKey1 )
const
101 functor_.set(local1,globalKey1);
102 mapper2_.mapEach(entity2_, functor_);
105 const Mapper2 &mapper2_;
106 const Entity2 &entity2_;
Dune namespace.
Definition: alignedallocator.hh:13
void assign(T &dst, const T &src, bool mask)
masked Simd assignment (scalar version)
Definition: simd.hh:447