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