|
| BlockRange ()=default |
|
| BlockRange (const BlockRange &)=default |
|
| BlockRange (BlockRange &&)=default |
|
| ~BlockRange ()=default |
|
BlockRange & | operator= (const BlockRange &)=default |
|
BlockRange & | operator= (BlockRange &&)=default |
|
template<typename Index1 , typename Index2 , typename = std::enable_if_t<detail::is_integral_range_v<Index1> && detail::is_integral_range_v<Index2>>> |
| BlockRange (const Range &range, const Index1 &lower_bound, const Index2 &upper_bound) |
| Construct a BlockRange defined by lower and upper bounds. More...
|
|
template<typename Index1 , typename Index2 , typename = std::enable_if_t<std::is_integral_v<Index1> && std::is_integral_v<Index2>>> |
| BlockRange (const Range &range, const std::initializer_list< Index1 > &lower_bound, const std::initializer_list< Index2 > &upper_bound) |
| Construct a BlockRange defined by lower and upper bounds. More...
|
|
template<typename PairRange , typename = std::enable_if_t<detail::is_gpair_range_v<PairRange>>> |
| BlockRange (const Range &range, const PairRange &bounds) |
| Construct Range defined by a range of {lower,upper} bound pairs. More...
|
|
template<typename GPair > |
| BlockRange (const Range &range, const std::initializer_list< GPair > &bounds, std::enable_if_t< detail::is_gpair_v< GPair >> *=nullptr) |
| Construct range defined by an initializer_list of std::initializer_list{lower,upper} bounds. More...
|
|
template<typename Index , typename = std::enable_if_t<std::is_integral_v<Index>>> |
| BlockRange (const Range &range, const std::initializer_list< std::initializer_list< Index >> &bounds) |
| Construct range defined by an initializer_list of std::initializer_list{lower,upper} bounds. More...
|
|
template<typename Index , typename std::enable_if_t< detail::is_integral_range_v< Index >> * = nullptr> |
ordinal_type | ordinal (const Index &index) const |
| calculate the ordinal index of i More...
|
|
template<typename... Index, typename std::enable_if<(sizeof...(Index) > 1ul)>::type * = nullptr> |
ordinal_type | ordinal (const Index &... index) const |
|
ordinal_type | ordinal (ordinal_type index) const |
| calculate the coordinate index of the ordinal index, index . More...
|
|
template<typename Index > |
BlockRange & | resize (const Index &, const Index &) |
| Resize of block range is not supported. More...
|
|
template<typename Index > |
Range_ & | inplace_shift (const Index &) |
| Shift the lower and upper bound of this range. More...
|
|
template<typename Index > |
Range_ | shift (const Index &) |
| Shift the lower and upper bound of this range. More...
|
|
void | swap (BlockRange &other) |
|
template<typename Archive > |
void | serialize (const Archive &ar) const |
| Serialization Block range. More...
|
|
| Range () |
| Default constructor. More...
|
|
template<typename Index1 , typename Index2 , typename std::enable_if_t< detail::is_integral_sized_range_v< Index1 > &&detail::is_integral_sized_range_v< Index2 >> * = nullptr> |
| Range (const Index1 &lower_bound, const Index2 &upper_bound) |
| Construct range defined by upper and lower bound ranges. More...
|
|
template<typename Index1 , typename Index2 , typename = std::enable_if_t<std::is_integral_v<Index1> && std::is_integral_v<Index2>>> |
| Range (const std::initializer_list< Index1 > &lower_bound, const std::initializer_list< Index2 > &upper_bound) |
| Construct range defined by the upper and lower bound ranges. More...
|
|
template<typename Index , typename std::enable_if_t< detail::is_integral_sized_range_v< Index >> * = nullptr> |
| Range (const Index &extent) |
| Range constructor from a range of extents. More...
|
|
template<typename Index , typename = std::enable_if_t<std::is_integral_v<Index>>> |
| Range (const std::initializer_list< Index > &extent) |
| Range constructor from an initializer list of extents. More...
|
|
template<typename PairRange , typename = std::enable_if_t<detail::is_sized_range_v<PairRange> && detail::is_gpair_range_v<PairRange>>> |
| Range (const PairRange &bounds) |
| Construct Range defined by a range of {lower,upper} bound pairs. More...
|
|
template<typename GPair > |
| Range (const std::initializer_list< GPair > &bounds, std::enable_if_t< detail::is_gpair_v< GPair >> *=nullptr) |
| Construct range defined by an initializer_list of {lower,upper} bounds for each dimension given as a generalized pair. More...
|
|
template<typename Index , typename = std::enable_if_t<std::is_integral_v<Index>>> |
| Range (const std::initializer_list< std::initializer_list< Index >> &bounds) |
| Construct range defined by an initializer_list of std::initializer_list{lower,upper} bounds. More...
|
|
template<typename... Index, typename std::enable_if< detail::is_integral_list< Index... >::value >::type * = nullptr> |
| Range (const Index... extents) |
| Range constructor from a pack of extents for each dimension. More...
|
|
template<typename... IndexPairs, std::enable_if_t< detail::is_integral_pair_list_v< IndexPairs... >> * = nullptr> |
| Range (const IndexPairs... bounds) |
|
| Range (const Range_ &other)=default |
| Copy Constructor. More...
|
|
| Range (Range_ &&other) |
| Move Constructor. More...
|
|
| Range (const Permutation &perm, const Range_ &other) |
| Permuting copy constructor. More...
|
|
| ~Range ()=default |
| Destructor. More...
|
|
Range_ & | operator= (const Range_ &other)=default |
| Copy assignment operator. More...
|
|
Range_ & | operator= (Range_ &&other) |
| Move assignment operator. More...
|
|
| operator bool () const |
| Conversion to bool. More...
|
|
unsigned int | rank () const |
| Rank accessor. More...
|
|
std::pair< index1_type, index1_type > | dim (std::size_t d) const |
| Accessor of the d-th dimension of the range. More...
|
|
const index1_type * | lobound_data () const |
| Range lower bound data accessor. More...
|
|
index_view_type | lobound () const |
| Range lower bound accessor. More...
|
|
index1_type | lobound (size_t dim) const |
| Range lower bound element accessor. More...
|
|
const index1_type * | upbound_data () const |
| Range upper bound data accessor. More...
|
|
index_view_type | upbound () const |
| Range upper bound accessor. More...
|
|
index1_type | upbound (size_t dim) const |
| Range upped bound element accessor. More...
|
|
const index1_type * | extent_data () const |
| Range extent data accessor. More...
|
|
index_view_type | extent () const |
| Range extent accessor. More...
|
|
index1_type | extent (size_t dim) const |
| Range extent element accessor. More...
|
|
const index1_type * | stride_data () const |
| Range stride data accessor. More...
|
|
index_view_type | stride () const |
| Range stride accessor. More...
|
|
index1_type | stride (size_t dim) const |
| Range stride element accessor. More...
|
|
ordinal_type | volume () const |
| Range volume accessor. More...
|
|
ordinal_type | area () const |
|
distance_type | offset () const |
| Range offset. More...
|
|
const_iterator | begin () const |
| Index iterator factory. More...
|
|
const_iterator | end () const |
| Index iterator factory. More...
|
|
template<typename Index , typename std::enable_if< detail::is_integral_range_v< Index >, bool >::type * = nullptr> |
bool | includes (const Index &index) const |
| Check the coordinate to make sure it is within the range. More...
|
|
template<typename Index , typename = std::enable_if_t<std::is_integral_v<Index>>> |
bool | includes (const std::initializer_list< Index > &index) const |
| Check the coordinate to make sure it is within the range. More...
|
|
template<typename Ordinal > |
std::enable_if< std::is_integral_v< Ordinal >, bool >::type | includes (Ordinal i) const |
| Check the ordinal index to make sure it is within the range. More...
|
|
template<typename... Index> |
std::enable_if_t<(sizeof...(Index) > 1ul) &&(std::is_integral_v< Index > &&...), bool > | includes (const Index &... index) const |
|
Range_ & | operator*= (const Permutation &perm) |
| Permute this range. More...
|
|
template<typename Index1 , typename Index2 , typename = std::enable_if_t<detail::is_integral_sized_range_v<Index1> && detail::is_integral_sized_range_v<Index2>>> |
Range_ & | resize (const Index1 &lower_bound, const Index2 &upper_bound) |
| Resize range to a new upper and lower bound. More...
|
|
template<typename Index , typename = std::enable_if_t<detail::is_integral_range_v<Index>>> |
Range_ & | inplace_shift (const Index &bound_shift) |
| Shift the lower and upper bound of this range. More...
|
|
template<typename Index , typename = std::enable_if_t<std::is_integral_v<Index>>> |
Range_ & | inplace_shift (const std::initializer_list< Index > &bound_shift) |
| Shift the lower and upper bound of this range. More...
|
|
template<typename Index , typename = std::enable_if_t<detail::is_integral_range_v<Index>>> |
Range_ | shift (const Index &bound_shift) |
| Create a Range with shiften lower and upper bounds. More...
|
|
template<typename Index , typename = std::enable_if_t<std::is_integral_v<Index>>> |
Range_ | shift (const std::initializer_list< Index > &bound_shift) |
| Create a Range with shiften lower and upper bounds. More...
|
|
ordinal_type | ordinal (const ordinal_type index) const |
| calculate the ordinal index of i More...
|
|
template<typename Index , typename std::enable_if_t< detail::is_integral_range_v< Index >> * = nullptr> |
ordinal_type | ordinal (const Index &index) const |
| calculate the ordinal index of index More...
|
|
template<typename Index , typename = std::enable_if_t<std::is_integral_v<Index>>> |
ordinal_type | ordinal (const std::initializer_list< Index > &index) const |
| calculate the ordinal index of index More...
|
|
template<typename... Index, typename std::enable_if_t<(sizeof...(Index) > 1ul) &&(std::is_integral_v< Index > &&...)> * = nullptr> |
ordinal_type | ordinal (const Index &... index) const |
| calculate the ordinal index of index More...
|
|
index_type | idx (ordinal_type index) const |
| calculate the coordinate index of the ordinal index, index . More...
|
|
template<typename Index , typename std::enable_if_t< detail::is_integral_range_v< Index >> * = nullptr> |
const Index & | idx (const Index &i) const |
| calculate the index of i More...
|
|
template<typename Archive > |
void | serialize (Archive &ar) |
|
void | swap (Range_ &other) |
|