1 #ifndef DASH__LIST__LIST_REF_H__INCLUDED 2 #define DASH__LIST__LIST_REF_H__INCLUDED 7 #include <dash/Types.h> 8 #include <dash/GlobRef.h> 10 #include <dash/Exception.h> 11 #include <dash/Cartesian.h> 12 #include <dash/Dimensional.h> 13 #include <dash/memory/GlobHeapMem.h> 14 #include <dash/Allocator.h> 16 #include <dash/iterator/GlobIter.h> 18 #include <dash/list/internal/ListTypes.h> 46 static const dim_t NumDimensions = 1;
51 typedef ElementType value_type;
59 typedef typename list_type::node_type ListNode_t;
64 typedef typename std::make_unsigned<index_type>::type
size_type;
68 typedef typename list_type::reverse_iterator reverse_iterator;
69 typedef typename list_type::const_reverse_iterator const_reverse_iterator;
82 const ViewSpec_t & viewspec)
97 "dash::ListRef.push_back is not implemented");
107 "dash::ListRef.pop_back is not implemented");
116 "dash::ListRef.back is not implemented");
128 "dash::ListRef.push_front is not implemented");
138 "dash::ListRef.pop_front is not implemented");
147 "dash::ListRef.front is not implemented");
150 inline Team & team()
const noexcept;
152 inline size_type size()
const noexcept;
153 inline size_type local_size()
const noexcept;
154 inline size_type local_capacity()
const noexcept;
155 inline bool empty()
const noexcept;
157 inline void barrier()
const;
159 inline const_pointer data()
const noexcept;
160 inline iterator begin() noexcept;
161 inline const_iterator begin()
const noexcept;
162 inline iterator end() noexcept;
163 inline const_iterator end()
const noexcept;
165 inline local_pointer
lbegin()
const noexcept;
167 inline local_pointer
lend()
const noexcept;
173 ViewSpec_t _viewspec;
179 #endif // DASH__LIST__LIST_REF_H__INCLUDED This class is a simple memory pool which holds allocates elements of size ValueType.
void pop_back()
Removes and destroys the last element in the list, reducing the container size by one...
reference front()
Accesses the first element in the list.
void push_front(const value_type &value)
Inserts a new element at the beginning of the list, before its current first element.
int dim_t
Scalar type for a dimension value, with 0 indicating the first dimension.
std::make_unsigned< index_type >::type size_type
Public types as required by STL list concept:
Proxy type referencing a dash::List.
ListRef(list_type *list, const ViewSpec_t &viewspec)
Global memory region with dynamic size.
internal::default_signed_index default_index_t
Signed integer type used as default for index values.
A Team instance specifies a subset of all available units.
local_pointer lbegin() const noexcept
Pointer to first element in local range.
Iterator on global buckets.
local_pointer lend() const noexcept
Pointer past final element in local range.
void pop_front()
Removes and destroys the first element in the list, reducing the container size by one...
Proxy type representing a local view on a referenced dash::List.
dash::default_index_t index_type
Type definitions required for DASH list concept:
reference back()
Accesses the last element in the list.
void push_back(const value_type &value)
Inserts a new element at the end of the list, after its current last element.