Go to the documentation of this file.
3 #ifndef DUNE_PDELAB_BACKEND_COMMON_UNCACHEDVECTORVIEW_HH
4 #define DUNE_PDELAB_BACKEND_COMMON_UNCACHEDVECTORVIEW_HH
6 #include <dune/common/typetraits.hh>
16 template<
typename V,
typename LFSC>
20 typedef typename std::remove_const<V>::type
Container;
70 return cache().size();
74 void read(LC& local_container)
const
82 template<
typename ChildLFS,
typename LC>
83 void read(
const ChildLFS& child_lfs, LC& local_container)
const
85 for (
size_type i = 0; i < child_lfs.size(); ++i)
87 const size_type local_index = child_lfs.localIndex(i);
92 template<
typename ChildLFS,
typename LC>
95 for (
size_type i = 0; i < child_lfs.size(); ++i)
97 const size_type local_index = child_lfs.localIndex(i);
111 template<
typename DI>
113 (std::is_same<DI,DOFIndex>{} and not std::is_same<DI,ContainerIndex>{}),
116 operator[](
const DI& di)
const
146 template<
typename V,
typename LFSC>
177 template<
typename LC>
178 void write(
const LC& local_container)
186 template<
typename LC>
187 void add(
const LC& local_container)
197 template<
typename ChildLFS,
typename LC>
198 void write(
const ChildLFS& child_lfs,
const LC& local_container)
200 for (
size_type i = 0; i < child_lfs.size(); ++i)
202 const size_type local_index = child_lfs.localIndex(i);
207 template<
typename ChildLFS,
typename LC>
208 void add(
const ChildLFS& child_lfs,
const LC& local_container)
210 for (
size_type i = 0; i < child_lfs.size(); ++i)
212 const size_type local_index = child_lfs.localIndex(i);
220 template<
typename ChildLFS,
typename LC>
223 for (
size_type i = 0; i < child_lfs.size(); ++i)
225 const size_type local_index = child_lfs.localIndex(i);
230 template<
typename ChildLFS,
typename LC>
233 for (
size_type i = 0; i < child_lfs.size(); ++i)
235 const size_type local_index = child_lfs.localIndex(i);
252 template<
typename DI>
254 (std::is_same<DI,DOFIndex>{} and not std::is_same<DI,ContainerIndex>{}),
280 #endif // DUNE_PDELAB_BACKEND_COMMON_UNCACHEDVECTORVIEW_HH
void write(const LC &local_container)
Definition: uncachedvectorview.hh:178
UncachedVectorView()
Definition: uncachedvectorview.hh:166
Definition: uncachedvectorview.hh:147
ConstUncachedVectorView(std::shared_ptr< V > container)
Definition: uncachedvectorview.hh:39
const LFSCache & cache() const
Definition: uncachedvectorview.hh:133
V * _container
Definition: uncachedvectorview.hh:140
LFSC LFSCache
Definition: uncachedvectorview.hh:21
void add_sub_container(const ChildLFS &child_lfs, const LC &local_container)
Definition: uncachedvectorview.hh:231
Container::size_type size_type
Definition: uncachedvectorview.hh:153
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
const ElementType & operator[](size_type i) const
Definition: uncachedvectorview.hh:103
void read_sub_container(const ChildLFS &child_lfs, LC &local_container) const
Definition: uncachedvectorview.hh:93
const LFSCache * _lfs_cache
Definition: uncachedvectorview.hh:141
LFSCache::DOFIndex DOFIndex
Definition: uncachedvectorview.hh:156
void write(const ChildLFS &child_lfs, const LC &local_container)
Definition: uncachedvectorview.hh:198
LFSCache::DOFIndex DOFIndex
Definition: uncachedvectorview.hh:25
const ElementType & operator[](const ContainerIndex &ci) const
Definition: uncachedvectorview.hh:122
LFSCache::ContainerIndex ContainerIndex
Definition: uncachedvectorview.hh:157
Container::size_type size_type
Definition: uncachedvectorview.hh:24
C & accessBaseContainer(C &c)
Definition: localvector.hh:368
ElementType & operator[](const ContainerIndex &ci)
Definition: uncachedvectorview.hh:263
void read(LC &local_container) const
Definition: uncachedvectorview.hh:74
ConstUncachedVectorView()
Definition: uncachedvectorview.hh:29
void read(const ChildLFS &child_lfs, LC &local_container) const
Definition: uncachedvectorview.hh:83
UncachedVectorView(Container &container)
Definition: uncachedvectorview.hh:169
ElementType & operator[](size_type i)
Definition: uncachedvectorview.hh:245
Container::E ElementType
Definition: uncachedvectorview.hh:23
void add(const ChildLFS &child_lfs, const LC &local_container)
Definition: uncachedvectorview.hh:208
std::remove_const< V >::type Container
Definition: uncachedvectorview.hh:20
void bind(const LFSCache &lfs_cache)
Definition: uncachedvectorview.hh:59
Definition: uncachedvectorview.hh:17
ConstUncachedVectorView(V &container)
Definition: uncachedvectorview.hh:34
LFSC LFSCache
Definition: uncachedvectorview.hh:155
const Container & container() const
Definition: uncachedvectorview.hh:128
Container & container()
Definition: uncachedvectorview.hh:269
UncachedVectorView(std::shared_ptr< Container > container)
Definition: uncachedvectorview.hh:173
Container::ElementType ElementType
Definition: uncachedvectorview.hh:152
void attach(V &container)
Definition: uncachedvectorview.hh:44
void write_sub_container(const ChildLFS &child_lfs, const LC &local_container)
Definition: uncachedvectorview.hh:221
void attach(std::shared_ptr< V > container)
Definition: uncachedvectorview.hh:49
void unbind()
Definition: uncachedvectorview.hh:64
V Container
Definition: uncachedvectorview.hh:151
void detach()
Definition: uncachedvectorview.hh:54
void commit()
Definition: uncachedvectorview.hh:240
void add(const LC &local_container)
Definition: uncachedvectorview.hh:187
LFSCache::ContainerIndex ContainerIndex
Definition: uncachedvectorview.hh:26
size_type size() const
Definition: uncachedvectorview.hh:68