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>
13 template<
typename V,
typename LFSC>
17 typedef typename std::remove_const<V>::type
Container;
57 return cache().size();
61 void read(LC& local_container)
const
69 template<
typename ChildLFS,
typename LC>
70 void read(
const ChildLFS& child_lfs, LC& local_container)
const
72 for (
size_type i = 0; i < child_lfs.size(); ++i)
74 const size_type local_index = child_lfs.localIndex(i);
79 template<
typename ChildLFS,
typename LC>
82 for (
size_type i = 0; i < child_lfs.size(); ++i)
84 const size_type local_index = child_lfs.localIndex(i);
100 (std::is_same<DI,DOFIndex>{} and not std::is_same<DI,ContainerIndex>{}),
103 operator[](
const DI& di)
const
133 template<
typename V,
typename LFSC>
160 template<
typename LC>
161 void write(
const LC& local_container)
169 template<
typename LC>
170 void add(
const LC& local_container)
180 template<
typename ChildLFS,
typename LC>
181 void write(
const ChildLFS& child_lfs,
const LC& local_container)
183 for (
size_type i = 0; i < child_lfs.size(); ++i)
185 const size_type local_index = child_lfs.localIndex(i);
190 template<
typename ChildLFS,
typename LC>
191 void add(
const ChildLFS& child_lfs,
const LC& local_container)
193 for (
size_type i = 0; i < child_lfs.size(); ++i)
195 const size_type local_index = child_lfs.localIndex(i);
203 template<
typename ChildLFS,
typename LC>
206 for (
size_type i = 0; i < child_lfs.size(); ++i)
208 const size_type local_index = child_lfs.localIndex(i);
213 template<
typename ChildLFS,
typename LC>
216 for (
size_type i = 0; i < child_lfs.size(); ++i)
218 const size_type local_index = child_lfs.localIndex(i);
235 template<
typename DI>
237 (std::is_same<DI,DOFIndex>{} and not std::is_same<DI,ContainerIndex>{}),
263 #endif // DUNE_PDELAB_BACKEND_COMMON_UNCACHEDVECTORVIEW_HH
const ElementType & operator[](size_type i) const
Definition: uncachedvectorview.hh:90
const ElementType & operator[](const ContainerIndex &ci) const
Definition: uncachedvectorview.hh:109
Container::E ElementType
Definition: uncachedvectorview.hh:20
void add_sub_container(const ChildLFS &child_lfs, const LC &local_container)
Definition: uncachedvectorview.hh:214
std::remove_const< V >::type Container
Definition: uncachedvectorview.hh:17
void attach(V &container)
Definition: uncachedvectorview.hh:36
ElementType & operator[](size_type i)
Definition: uncachedvectorview.hh:228
void write(const ChildLFS &child_lfs, const LC &local_container)
Definition: uncachedvectorview.hh:181
ConstUncachedVectorView()
Definition: uncachedvectorview.hh:26
void bind(const LFSCache &lfs_cache)
Definition: uncachedvectorview.hh:46
const Container & container() const
Definition: uncachedvectorview.hh:115
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
UncachedVectorView(Container &container)
Definition: uncachedvectorview.hh:156
V * _container
Definition: uncachedvectorview.hh:127
void write(const LC &local_container)
Definition: uncachedvectorview.hh:161
ElementType & operator[](const ContainerIndex &ci)
Definition: uncachedvectorview.hh:246
const LFSCache * _lfs_cache
Definition: uncachedvectorview.hh:128
Definition: uncachedvectorview.hh:134
LFSC LFSCache
Definition: uncachedvectorview.hh:142
Container & container()
Definition: uncachedvectorview.hh:252
void detach()
Definition: uncachedvectorview.hh:41
LFSCache::DOFIndex DOFIndex
Definition: uncachedvectorview.hh:143
LFSCache::ContainerIndex ContainerIndex
Definition: uncachedvectorview.hh:23
ConstUncachedVectorView(V &container)
Definition: uncachedvectorview.hh:31
void read(LC &local_container) const
Definition: uncachedvectorview.hh:61
void write_sub_container(const ChildLFS &child_lfs, const LC &local_container)
Definition: uncachedvectorview.hh:204
LFSC LFSCache
Definition: uncachedvectorview.hh:18
V Container
Definition: uncachedvectorview.hh:138
void add(const LC &local_container)
Definition: uncachedvectorview.hh:170
Container::size_type size_type
Definition: uncachedvectorview.hh:21
LFSCache::ContainerIndex ContainerIndex
Definition: uncachedvectorview.hh:144
Container::ElementType ElementType
Definition: uncachedvectorview.hh:139
Definition: uncachedvectorview.hh:14
void read(const ChildLFS &child_lfs, LC &local_container) const
Definition: uncachedvectorview.hh:70
C & accessBaseContainer(C &c)
Definition: localvector.hh:302
UncachedVectorView()
Definition: uncachedvectorview.hh:153
const LFSCache & cache() const
Definition: uncachedvectorview.hh:120
void read_sub_container(const ChildLFS &child_lfs, LC &local_container) const
Definition: uncachedvectorview.hh:80
Container::size_type size_type
Definition: uncachedvectorview.hh:140
void commit()
Definition: uncachedvectorview.hh:223
LFSCache::DOFIndex DOFIndex
Definition: uncachedvectorview.hh:22
void unbind()
Definition: uncachedvectorview.hh:51
size_type size() const
Definition: uncachedvectorview.hh:55
void add(const ChildLFS &child_lfs, const LC &local_container)
Definition: uncachedvectorview.hh:191