DASH
0.3.0
|
![]() |
Functions | |
template<class IndexType > | |
constexpr std::enable_if< std::is_integral< IndexType >::value, IndexType >::type | dash::index (IndexType idx) |
template<class Iterator > | |
constexpr auto | dash::index (Iterator it) -> decltype((++it).gpos()) |
template<class RandomAccessIt > | |
RandomAccessIt::difference_type | dash::distance (const RandomAccessIt &first, const RandomAccessIt &last) |
Resolve the number of elements between two iterators. More... | |
template<typename ElementType , class Pattern , class GlobMemType , class Pointer , class Reference > | |
Pattern::index_type | dash::distance (const GlobIter< ElementType, Pattern, GlobMemType, Pointer, Reference > &first, const GlobIter< ElementType, Pattern, GlobMemType, Pointer, Reference > &last) |
Resolve the number of elements between two global iterators. More... | |
template<class T > | |
constexpr std::ptrdiff_t | dash::distance (T *const first, T *const last) |
template<class OffsetType > | |
constexpr std::enable_if< std::is_integral< OffsetType >::value, OffsetType >::type | dash::distance (OffsetType begin, OffsetType end) |
Definitions for multidimensional iterator expressions.
dash::view_traits
Expression | Returns | Effect | Precondition | Postcondition ---------------------— | ----— | ---— | ---------— | ----------—
dash::iterator_traits<I>
RandomAccessIt::difference_type dash::distance | ( | const RandomAccessIt & | first, |
const RandomAccessIt & | last | ||
) |
#include </tmp/tmporruphar/dash/include/dash/Iterator.h>
Resolve the number of elements between two iterators.
Definition at line 90 of file Iterator.h.
Referenced by dash::equal(), dash::find_if(), dash::halo::HaloMatrixWrapper< MatrixT, SigReady >::set_custom_halos(), and dash::GlobHeapMem< ElementType, LocalMemorySpace, AllocationPolicy, LocalAlloc >::shrink().
Pattern::index_type dash::distance | ( | const GlobIter< ElementType, Pattern, GlobMemType, Pointer, Reference > & | first, |
const GlobIter< ElementType, Pattern, GlobMemType, Pointer, Reference > & | last | ||
) |
#include </tmp/tmporruphar/dash/include/dash/Iterator.h>
Resolve the number of elements between two global iterators.
The difference of global pointers is not well-defined if their range spans over more than one block. The corresponding invariant is: g_last == g_first + (l_last - l_first) Example:
When iterating in local memory range [0,5[ of unit 0, the position of the global iterator to return is 8 != 5
ElementType | Type of the elements in the range |
first | Global pointer to the initial position in the global sequence |
last | Global iterator to the final position in the global sequence |
Definition at line 130 of file Iterator.h.
constexpr std::ptrdiff_t dash::distance | ( | T *const | first, |
T *const | last | ||
) |
#include </tmp/tmporruphar/dash/include/dash/Iterator.h>
Definition at line 165 of file Iterator.h.
References dash::distance().
constexpr std::enable_if< std::is_integral<OffsetType>::value, OffsetType >::type dash::distance | ( | OffsetType | begin, |
OffsetType | end | ||
) |
#include </tmp/tmporruphar/dash/include/dash/Iterator.h>
Definition at line 180 of file Iterator.h.
Referenced by dash::distance().
constexpr std::enable_if< std::is_integral<IndexType>::value, IndexType >::type dash::index | ( | IndexType | idx | ) |
#include </tmp/tmporruphar/dash/include/dash/Iterator.h>
Definition at line 60 of file Iterator.h.
Referenced by dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::boundary_region(), dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::boundary_regions(), dash::halo::RegionCoords< NumDimensions >::coords(), dash::CartesianIndexSpace< NumDimensions, ROW_MAJOR, dash::default_index_t >::coords(), dash::CSRPattern< 1, Arrangement, IndexType >::coords(), dash::BlockPattern< 1, ROW_MAJOR, dash::default_index_t >::coords(), dash::halo::HaloSpec< NumDimensions >::extent(), dash::halo::HaloMemory< HaloBlock_t >::first_element_at(), dash::halo::HaloSpec< NumDimensions >::halo_extension_max(), dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::halo_region(), dash::halo::RegionCoords< NumDimensions >::index(), dash::halo::RegionSpec< NumDimensions >::index(), dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::index_at(), dash::intersect(), dash::BlockPattern< 1, ROW_MAJOR, dash::default_index_t >::is_local(), dash::halo::RegionCoords< NumDimensions >::level(), dash::halo::StencilIteratorTest< CoordsIdxManagerBoundary_t >::operator--(), dash::halo::StencilSpec< StencilPointT, NumStencilPoints >::operator[](), dash::halo::RegionSpec< NumDimensions >::operator[](), dash::halo::HaloMemory< HaloBlock_t >::range_at(), dash::halo::HaloSpec< NumDimensions >::spec(), and dash::halo::HaloMatrixWrapper< MatrixT, SigReady >::stencil_operator().
constexpr auto dash::index | ( | Iterator | it | ) | -> decltype((++it).gpos()) |
#include </tmp/tmporruphar/dash/include/dash/Iterator.h>
Definition at line 78 of file Iterator.h.