| Taskflow: A General-purpose Task-parallel Programming System

Loading...
Searching...
No Matches
tf::IndexRangesMDLike Concept Reference

concept to check if a type is a tf::IndexRanges<T, N> with rank > 1 More...

`#include <taskflow/utility/iterator.hpp>`

## Concept definition

template<typename R>
concept tf::IndexRangesMDLike = IndexRangesLike<R> &&
(std::decay_t<std::unwrap_ref_decay_t<R>>::rank > 1)
tf::IndexRangesLike
concept to check if a type is a tf::IndexRanges, regardless of dimensionality
Definition iterator.hpp:1004
tf::IndexRangesMDLike
concept to check if a type is a tf::IndexRanges<T, N> with rank > 1
Definition iterator.hpp:1032

## Detailed Description

concept to check if a type is a tf::IndexRanges<T, N> with rank > 1

Template Parameters

  R | the range type to evaluate

static_assert(!tf::IndexRangesMDLike<tf::IndexRange<int>>); // false, rank == 1
static_assert(!tf::IndexRangesMDLike<tf::IndexRanges<int, 1>>); // false, rank == 1
static_assert( tf::IndexRangesMDLike<tf::IndexRanges<int, 2>>); // true
static_assert( tf::IndexRangesMDLike<tf::IndexRanges<int, 3>>); // true