DASH  0.3.0
Multidimensional Range Concept
Collaboration diagram for Multidimensional Range Concept:

Functions

template<typename RangeType >
constexpr auto dash::begin (RangeType &&range) -> decltype(std::forward< RangeType >(range).begin())
 
template<class RangeType >
constexpr auto dash::end (RangeType &&range) -> decltype(std::forward< RangeType >(range).end())
 
template<class RangeType >
constexpr auto dash::size (RangeType &&r) -> decltype(std::forward< RangeType >(r).size())
 

Detailed Description

Description

Definitions for multidimensional range expressions.

See also
Multidimensional Value Concept
Multidimensional View Concept
Multidimensional Iterator Concept
dash::view_traits

Variables used in the following:

Types
Expressions

Expression | Returns | Effect | Precondition | Postcondition ---------------------— | ----— | ---— | ---------— | ----------— *dash::begin(r) | | | | r[o] | | | |

Functions
Metafunctions

Function Documentation

◆ begin()

template<typename RangeType >
constexpr auto dash::begin ( RangeType &&  range) -> decltype(std::forward<RangeType>(range).begin())

◆ end()

template<class RangeType >
constexpr auto dash::end ( RangeType &&  range) -> decltype(std::forward<RangeType>(range).end())

#include </tmp/tmporruphar/dash/include/dash/Range.h>

Implemented concept:
Multidimensional Range Concept
Examples:
ex.09.view-1dim/main.cpp, and ex.10.radixsort/main.cpp.

Definition at line 98 of file Range.h.

Referenced by dash::Array< signal_t >::allocate(), dash::EpochSynchronizedAllocator< ElementType, LMemSpace, AllocationPolicy, LocalAlloc >::attach(), dash::Coarray< T, IndexType, Arrangement, LocalMemSpaceT >::Coarray(), dash::EpochSynchronizedAllocator< ElementType, LMemSpace, AllocationPolicy, LocalAlloc >::deallocate(), dash::EpochSynchronizedAllocator< ElementType, LMemSpace, AllocationPolicy, LocalAlloc >::deallocate_local(), dash::EpochSynchronizedAllocator< ElementType, LMemSpace, AllocationPolicy, LocalAlloc >::detach(), dash::distance(), dash::GlobLocalMemoryPool< dash::HostSpace >::flush_local(), dash::EpochSynchronizedAllocator< ElementType, LMemSpace, AllocationPolicy, LocalAlloc >::get_local_allocator(), dash::HashLocal< Key >::HashLocal(), dash::intersect(), dash::LocalMatrixRef< ElementT, NumDimensions, NumDimensions, PatternT, LocalMemSpaceT >::LocalMatrixRef(), dash::make_range(), dash::size(), dash::sub(), dash::halo::StencilOperatorInner< Self_t >::update(), dash::halo::StencilOperatorBoundary< Self_t >::update(), and dash::halo::StencilOperatorInner< Self_t >::update_blocked().

99  {
100  return std::forward<RangeType>(range).end();
101 }
constexpr auto end(RangeType &&range) -> decltype(std::forward< RangeType >(range).end())
Definition: Range.h:98

◆ size()

template<class RangeType >
constexpr auto dash::size ( RangeType &&  r) -> decltype(std::forward<RangeType>(r).size())

#include </tmp/tmporruphar/dash/include/dash/Range.h>

Implemented concept:
Multidimensional Range Concept

Definition at line 108 of file Range.h.

References dash::begin(), dash::end(), and dash::size().

109  {
110  return std::forward<RangeType>(r).size();
111 }
constexpr auto size(RangeType &&r) -> decltype(std::forward< RangeType >(r).size())
Definition: Range.h:108