RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Classes | Namespaces | Typedefs | Functions
RangeSegment.hpp File Reference

Header file containing definitions of RAJA range segment classes. More...

#include "RAJA/config.hpp"
#include <iostream>
#include "RAJA/internal/Iterators.hpp"
#include "RAJA/util/concepts.hpp"
#include "RAJA/index/IndexValue.hpp"

Go to the source code of this file.

Classes

class  RAJA::TypedRangeSegment< StorageT, DiffT >
 Segment class representing a contiguous range of typed indices. More...
 
class  RAJA::TypedRangeStrideSegment< StorageT, DiffT >
 Segment class representing a strided range of typed indices. More...
 
struct  RAJA::detail::common_type< T, Rest >
 
struct  RAJA::detail::common_type< T >
 
struct  RAJA::concepts::RangeConstructible< T, U >
 
struct  RAJA::concepts::RangeStrideConstructible< T, U, V >
 

Namespaces

 RAJA
 
 RAJA::detail
 
 RAJA::concepts
 
 RAJA::type_traits
 
 std
 

Typedefs

using RAJA::RangeSegment = TypedRangeSegment< Index_type >
 Alias for TypedRangeSegment<Index_type> More...
 
using RAJA::RangeStrideSegment = TypedRangeStrideSegment< Index_type >
 Alias for TypedRangeStrideSegment<Index_type> More...
 
template<typename... Ts>
using RAJA::detail::common_type_t = typename common_type< Ts... >::type
 

Functions

template<typename BeginT , typename EndT , typename Common = detail::common_type_t<BeginT, EndT>>
RAJA_HOST_DEVICE TypedRangeSegment< Common > RAJA::make_range (BeginT &&begin, EndT &&end)
 Function to make a TypedRangeSegment for the interval [begin, end) More...
 
template<typename BeginT , typename EndT , typename StrideT , typename Common = detail::common_type_t<BeginT, EndT>>
RAJA_HOST_DEVICE TypedRangeStrideSegment< Common > RAJA::make_strided_range (BeginT &&begin, EndT &&end, StrideT &&stride)
 Function to make a TypedRangeStride Segment for the interval [begin, end) with given stride. More...
 
 RAJA::type_traits::DefineTypeTraitFromConcept (is_range_constructible, RAJA::concepts::RangeConstructible)
 
 RAJA::type_traits::DefineTypeTraitFromConcept (is_range_stride_constructible, RAJA::concepts::RangeStrideConstructible)
 
template<typename T >
RAJA_HOST_DEVICE RAJA_INLINE void std::swap (RAJA::TypedRangeSegment< T > &a, RAJA::TypedRangeSegment< T > &b)
 Specialization of std::swap for TypedRangeSegment. More...
 
template<typename T >
RAJA_HOST_DEVICE RAJA_INLINE void std::swap (RAJA::TypedRangeStrideSegment< T > &a, RAJA::TypedRangeStrideSegment< T > &b)
 Specialization of std::swap for TypedRangeStrideSegment. More...
 

Detailed Description

Header file containing definitions of RAJA range segment classes.