3 #ifndef DUNE_PDELAB_BACKEND_COMMON_UNCACHEDVECTORVIEW_HH 4 #define DUNE_PDELAB_BACKEND_COMMON_UNCACHEDVECTORVIEW_HH 6 #include <dune/common/typetraits.hh> 7 #include <dune/common/deprecated.hh> 14 template<
typename V,
typename LFSC>
18 typedef typename std::remove_const<V>::type
Container;
47 void bind(
const LFSCache& lfs_cache)
58 return cache().size();
62 void read(LC& local_container)
const 64 for (size_type i = 0; i <
size(); ++i)
70 template<
typename ChildLFS,
typename LC>
71 void read(
const ChildLFS& child_lfs, LC& local_container)
const 73 for (size_type i = 0; i < child_lfs.size(); ++i)
75 const size_type local_index = child_lfs.localIndex(i);
80 template<
typename ChildLFS,
typename LC>
83 for (size_type i = 0; i < child_lfs.size(); ++i)
85 const size_type local_index = child_lfs.localIndex(i);
101 (std::is_same<DI,DOFIndex>{} and not std::is_same<DI,ContainerIndex>{}),
104 operator[](
const DI& di)
const 110 const ElementType&
operator[](
const ContainerIndex& ci)
const 134 template<
typename V,
typename LFSC>
161 template<
typename LC>
162 void write(
const LC& local_container)
164 for (size_type i = 0; i <
size(); ++i)
170 template<
typename LC>
171 void add(
const LC& local_container)
173 for (size_type i = 0; i <
size(); ++i)
181 template<
typename ChildLFS,
typename LC>
182 void write(
const ChildLFS& child_lfs,
const LC& local_container)
184 for (size_type i = 0; i < child_lfs.size(); ++i)
186 const size_type local_index = child_lfs.localIndex(i);
191 template<
typename ChildLFS,
typename LC>
192 void add(
const ChildLFS& child_lfs,
const LC& local_container)
194 for (size_type i = 0; i < child_lfs.size(); ++i)
196 const size_type local_index = child_lfs.localIndex(i);
204 template<
typename ChildLFS,
typename LC>
207 for (size_type i = 0; i < child_lfs.size(); ++i)
209 const size_type local_index = child_lfs.localIndex(i);
214 template<
typename ChildLFS,
typename LC>
217 for (size_type i = 0; i < child_lfs.size(); ++i)
219 const size_type local_index = child_lfs.localIndex(i);
236 template<
typename DI>
238 (std::is_same<DI,DOFIndex>{} and not std::is_same<DI,ContainerIndex>{}),
241 operator[](
const DOFIndex& di)
264 #endif // DUNE_PDELAB_BACKEND_COMMON_UNCACHEDVECTORVIEW_HH ElementType & operator[](const ContainerIndex &ci)
Definition: uncachedvectorview.hh:247
void commit()
Definition: uncachedvectorview.hh:224
void bind(const LFSCache &lfs_cache)
Definition: uncachedvectorview.hh:47
ConstUncachedVectorView(V &container)
Definition: uncachedvectorview.hh:32
const Container & container() const
Definition: uncachedvectorview.hh:116
Definition: uncachedvectorview.hh:135
void read_sub_container(const ChildLFS &child_lfs, LC &local_container) const
Definition: uncachedvectorview.hh:81
C & accessBaseContainer(C &c)
Definition: localvector.hh:296
void write_sub_container(const ChildLFS &child_lfs, const LC &local_container)
Definition: uncachedvectorview.hh:205
const LFSCache & cache() const
Definition: uncachedvectorview.hh:121
V * _container
Definition: uncachedvectorview.hh:128
void add(const ChildLFS &child_lfs, const LC &local_container)
Definition: uncachedvectorview.hh:192
ElementType & operator[](size_type i)
Definition: uncachedvectorview.hh:229
void write(const LC &local_container)
Definition: uncachedvectorview.hh:162
void attach(V &container)
Definition: uncachedvectorview.hh:37
ConstUncachedVectorView()
Definition: uncachedvectorview.hh:27
void write(const ChildLFS &child_lfs, const LC &local_container)
Definition: uncachedvectorview.hh:182
Container::ElementType ElementType
Definition: uncachedvectorview.hh:140
const ElementType & operator[](const ContainerIndex &ci) const
Definition: uncachedvectorview.hh:110
void unbind()
Definition: uncachedvectorview.hh:52
LFSCache::ContainerIndex ContainerIndex
Definition: uncachedvectorview.hh:145
LFSC LFSCache
Definition: uncachedvectorview.hh:19
For backward compatibility – Do not use this!
Definition: adaptivity.hh:27
void add(const LC &local_container)
Definition: uncachedvectorview.hh:171
std::remove_const< V >::type Container
Definition: uncachedvectorview.hh:18
Container::size_type size_type
Definition: uncachedvectorview.hh:141
V Container
Definition: uncachedvectorview.hh:139
const ElementType & operator[](size_type i) const
Definition: uncachedvectorview.hh:91
void detach()
Definition: uncachedvectorview.hh:42
LFSCache::ContainerIndex ContainerIndex
Definition: uncachedvectorview.hh:24
size_type size() const
Definition: uncachedvectorview.hh:56
Container::E ElementType
Definition: uncachedvectorview.hh:21
LFSCache::DOFIndex DOFIndex
Definition: uncachedvectorview.hh:144
LFSCache::DOFIndex DOFIndex
Definition: uncachedvectorview.hh:23
const LFSCache * _lfs_cache
Definition: uncachedvectorview.hh:129
Container::size_type size_type
Definition: uncachedvectorview.hh:22
UncachedVectorView(Container &container)
Definition: uncachedvectorview.hh:157
LFSC LFSCache
Definition: uncachedvectorview.hh:143
void read(LC &local_container) const
Definition: uncachedvectorview.hh:62
Definition: uncachedvectorview.hh:15
void read(const ChildLFS &child_lfs, LC &local_container) const
Definition: uncachedvectorview.hh:71
Container & container()
Definition: uncachedvectorview.hh:253
void add_sub_container(const ChildLFS &child_lfs, const LC &local_container)
Definition: uncachedvectorview.hh:215
UncachedVectorView()
Definition: uncachedvectorview.hh:154