1 #ifndef DASH__VIEW_H__INCLUDED 2 #define DASH__VIEW_H__INCLUDED 74 #include <dash/view/Apply.h> 75 #include <dash/view/Block.h> 76 #include <dash/view/Chunked.h> 77 #include <dash/view/Domain.h> 78 #include <dash/view/Origin.h> 79 #include <dash/view/Global.h> 80 #include <dash/view/Local.h> 81 #include <dash/view/Remote.h> 82 #include <dash/view/Apply.h> 83 #include <dash/view/Sub.h> 85 #include <dash/view/SetUnion.h> 86 #include <dash/view/SetIntersect.h> 88 #include <dash/view/IndexSet.h> 89 #include <dash/view/IndexRange.h> 90 #include <dash/view/CartView.h> 92 #include <dash/view/MultiView.h> 93 #include <dash/view/StridedView.h> 95 #include <dash/view/ViewTraits.h> 97 #include <dash/view/ViewMod.h> 98 #include <dash/view/ViewBlocksMod.h> 100 #include <dash/Range.h> 122 typedef ViewGlobalMod<domain_type> global_type;
124 typedef typename Iterator::index_type index_type;
125 typedef dash::IndexSetIdentity<
128 typedef std::integral_constant<bool, false> is_projection;
129 typedef std::integral_constant<bool, true> is_view;
130 typedef std::integral_constant<bool, true> is_origin;
131 typedef std::integral_constant<bool, false> is_local;
142 typedef typename Iterator::index_type index_type;
151 typedef typename view_traits<domain_type>::local_type
local_type;
152 typedef typename view_traits<domain_type>::global_type global_type;
154 typedef typename Iterator::pattern_type pattern_type;
157 : base_t(std::move(begin), std::move(end)) {
160 constexpr
const pattern_type & pattern()
const {
161 return this->
begin().pattern();
164 constexpr local_type
local()
const {
167 return local_type(*
this);
173 template <
class Iterator,
class Sentinel>
175 make_view(Iterator
begin, Sentinel
end) {
184 #endif // DASH__VIEW_H__INCLUDED constexpr auto end(RangeType &&range) -> decltype(std::forward< RangeType >(range).end())
constexpr auto local(ViewType &v) -> typename std::enable_if<(std::is_pointer< typename ViewType::iterator >::value||(dash::view_traits< ViewValueT >::is_local::value)), ViewType &>::type
This class is a simple memory pool which holds allocates elements of size ValueType.
constexpr auto begin(RangeType &&range) -> decltype(std::forward< RangeType >(range).begin())
Adapter template for range concept, wraps begin and end iterators in range type.