Go to the documentation of this file.
2 #ifndef DUNE_PDELAB_BACKEND_COMMON_ALIASEDMATRIXVIEW_HH
3 #define DUNE_PDELAB_BACKEND_COMMON_ALIASEDMATRIXVIEW_HH
11 template<
typename M_,
typename RowCache,
typename ColCache>
17 typedef typename std::remove_const<M_>::type
Container;
21 typename RowCache::LocalFunctionSpace::Traits::GridFunctionSpace,
22 typename Container::TestGridFunctionSpace
24 "The RowCache passed to LocalView must belong to the underlying GFSV"
29 typename ColCache::LocalFunctionSpace::Traits::GridFunctionSpace,
30 typename Container::TrialGridFunctionSpace
32 "The ColCache passed to LocalView must belong to the underlying GFSU"
37 typedef typename Container::field_type
E;
45 typedef typename RowCache::LocalFunctionSpace
LFSV;
46 typedef typename ColCache::LocalFunctionSpace
LFSU;
49 typedef typename LFSV::Traits::GridFunctionSpace::Ordering::Traits::ContainerIndex
RowContainerIndex;
52 typedef typename LFSU::Traits::GridFunctionSpace::Ordering::Traits::ContainerIndex
ColContainerIndex;
93 void bind(
const RowCache& row_cache,
const ColCache& col_cache)
117 template<
typename LC>
118 void read(LC& local_container)
const
140 template<
typename LFSV,
typename LFSU>
156 typename std::conditional<
165 template<
typename M_,
typename RowCache,
typename ColCache>
181 typedef typename RowCache::LocalFunctionSpace
LFSV;
182 typedef typename ColCache::LocalFunctionSpace
LFSU;
185 typedef typename LFSV::Traits::GridFunctionSpace::Ordering::Traits::ContainerIndex
RowContainerIndex;
188 typedef typename LFSU::Traits::GridFunctionSpace::Ordering::Traits::ContainerIndex
ColContainerIndex;
200 using BaseT::operator();
214 template<
typename LC>
215 void write(
const LC& local_container)
222 template<
typename LC>
223 void add(
const LC& local_container)
257 template<
typename LFSV,
typename LFSU>
263 template<
typename LFSV,
typename LFSU>
298 #endif // DUNE_PDELAB_BACKEND_COMMON_ALIASEDMATRIXVIEW_HH
void write(const LC &local_container)
Definition: aliasedmatrixview.hh:215
const Container & container() const
Definition: aliasedmatrixview.hh:146
size_type M() const
Definition: aliasedmatrixview.hh:112
AliasedMatrixView()
Definition: aliasedmatrixview.hh:202
ConstAliasedMatrixView()
Definition: aliasedmatrixview.hh:57
const RowCache * _row_cache
Definition: aliasedmatrixview.hh:154
LFSU::Traits::GridFunctionSpace::Ordering::Traits::ContainerIndex ColContainerIndex
Definition: aliasedmatrixview.hh:188
ColCache ColIndexCache
Definition: aliasedmatrixview.hh:43
void bind(const RowCache &row_cache, const ColCache &col_cache)
Definition: aliasedmatrixview.hh:93
LFSV::Traits::DOFIndex RowDOFIndex
Definition: aliasedmatrixview.hh:48
ElementType & operator()(const RowContainerIndex &i, const ColContainerIndex &j)
Definition: aliasedmatrixview.hh:242
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
RowCache RowIndexCache
Definition: aliasedmatrixview.hh:42
Container::size_type size_type
Definition: aliasedmatrixview.hh:38
size_type N() const
Definition: aliasedmatrixview.hh:107
const RowIndexCache & rowIndexCache() const
Definition: aliasedmatrixview.hh:71
const ColCache * _col_cache
Definition: aliasedmatrixview.hh:155
ColCache::LocalFunctionSpace LFSU
Definition: aliasedmatrixview.hh:46
RowCache::LocalFunctionSpace LFSV
Definition: aliasedmatrixview.hh:45
LFSU::Traits::DOFIndex ColDOFIndex
Definition: aliasedmatrixview.hh:187
void accumulate(const LFSV &lfsv, size_type i, const LFSU &lfsu, size_type j, value_type value)
Definition: aliasedmatrixview.hh:258
Definition: aliasedmatrixview.hh:166
void commit()
Definition: aliasedmatrixview.hh:211
void detach()
Definition: aliasedmatrixview.hh:88
Container & container()
Definition: aliasedmatrixview.hh:275
void setWeight(weight_type weight)
Definition: aliasedmatrixview.hh:280
static const unsigned int value
Definition: gridfunctionspace/tags.hh:139
AliasedMatrixView(Container &container)
Definition: aliasedmatrixview.hh:206
LFSU::Traits::DOFIndex ColDOFIndex
Definition: aliasedmatrixview.hh:51
LFSV::Traits::DOFIndex RowDOFIndex
Definition: aliasedmatrixview.hh:184
LFSV::Traits::GridFunctionSpace::Ordering::Traits::ContainerIndex RowContainerIndex
Definition: aliasedmatrixview.hh:49
LFSV::Traits::GridFunctionSpace::Ordering::Traits::ContainerIndex RowContainerIndex
Definition: aliasedmatrixview.hh:185
const ElementType & operator()(size_type i, size_type j) const
Definition: aliasedmatrixview.hh:125
ElementType & operator()(size_type i, size_type j)
Definition: aliasedmatrixview.hh:232
M_ * _container
Definition: aliasedmatrixview.hh:153
ColCache::LocalFunctionSpace LFSU
Definition: aliasedmatrixview.hh:182
const ColIndexCache & colIndexCache() const
Definition: aliasedmatrixview.hh:77
Container::field_type E
Definition: aliasedmatrixview.hh:25
const ElementType & operator()(const RowContainerIndex &i, const ColContainerIndex &j) const
Definition: aliasedmatrixview.hh:135
void attach(M_ &container)
Definition: aliasedmatrixview.hh:83
ElementType value_type
Definition: aliasedmatrixview.hh:54
ElementType weight_type
Definition: aliasedmatrixview.hh:55
M_ Container
Definition: aliasedmatrixview.hh:174
Container::size_type size_type
Definition: aliasedmatrixview.hh:176
ColCache ColIndexCache
Definition: aliasedmatrixview.hh:179
void add(const LC &local_container)
Definition: aliasedmatrixview.hh:223
std::remove_const< M_ >::type Container
Definition: aliasedmatrixview.hh:17
void unbind()
Definition: aliasedmatrixview.hh:100
Container::ElementType ElementType
Definition: aliasedmatrixview.hh:175
const ElementType & operator()(const RowDOFIndex &i, const ColDOFIndex &j) const
Definition: aliasedmatrixview.hh:130
RowCache RowIndexCache
Definition: aliasedmatrixview.hh:178
weight_type weight()
Definition: aliasedmatrixview.hh:285
void read(LC &local_container) const
Definition: aliasedmatrixview.hh:118
void rawAccumulate(const LFSV &lfsv, size_type i, const LFSU &lfsu, size_type j, value_type value)
Definition: aliasedmatrixview.hh:264
ConstAliasedMatrixView(M_ &container)
Definition: aliasedmatrixview.hh:64
ElementType & operator()(size_type i, const ColContainerIndex &j)
Definition: aliasedmatrixview.hh:252
ElementType & operator()(const RowDOFIndex &i, const ColDOFIndex &j)
Definition: aliasedmatrixview.hh:237
ElementType * data()
Definition: aliasedmatrixview.hh:269
LFSU::Traits::GridFunctionSpace::Ordering::Traits::ContainerIndex ColContainerIndex
Definition: aliasedmatrixview.hh:52
RowCache::LocalFunctionSpace LFSV
Definition: aliasedmatrixview.hh:181
Definition: aliasedmatrixview.hh:12
E ElementType
Definition: aliasedmatrixview.hh:40
std::conditional< std::is_const< M_ >::value, const ElementType *, ElementType * >::type _data
Definition: aliasedmatrixview.hh:160
ElementType & operator()(const RowContainerIndex &i, size_type j)
Definition: aliasedmatrixview.hh:247
const ElementType & operator()(const LFSV &lfsv, size_type i, const LFSU &lfsu, size_type j) const
Definition: aliasedmatrixview.hh:141