Lines Matching refs:Rank

97 template <std::size_t Rank>
100 static_assert(Rank > 0, "Rank must be greater than 0!");
106 static const std::size_t rank = Rank;
114 constexpr multi_span_index(const value_type (&values)[Rank]) noexcept
118 std::copy(values, values + Rank, elems);
121 template <typename... Ts, typename = std::enable_if_t<(sizeof...(Ts) == Rank) &&
135 Expects(component_idx < Rank); // Component index must be less than rank
144 Expects(component_idx < Rank); // Component index must be less than rank
238 value_type elems[Rank] = {};
550 template <std::size_t Rank, bool Enabled = (Rank > 1),
551 typename Ret = std::enable_if_t<Enabled, multi_span_index<Rank - 1>>>
552 constexpr Ret shift_left(const multi_span_index<Rank>& other) noexcept
555 for (std::size_t i = 0; i < Rank - 1; ++i)
601 template <typename SourceType, typename TargetType, std::size_t Rank>
604 template <std::size_t Rank, typename SourceType, typename TargetType,
606 typename TargetType::Base, Rank>>
609 template <std::size_t Rank, typename SourceType, typename TargetType>
612 template <typename SourceType, typename TargetType, std::size_t Rank>
614 : decltype(helpBoundsRangeConvertible<Rank - 1>(
629 template <typename SourceType, typename TargetType, std::ptrdiff_t Rank = TargetType::Depth>
631 : decltype(helpBoundsRangeConvertible<Rank - 1>(
738 template <std::size_t Rank>
744 static const std::size_t rank = Rank;
825 static_assert(Dim < Rank,
849 template <std::size_t Rank>
850 struct is_bounds<strided_bounds<Rank>> : std::integral_constant<bool, true>
1127 template <typename ValueType, std::size_t Rank>
1219 template <typename ValueType, std::ptrdiff_t Rank>
1220 struct is_multi_span_oracle<strided_span<ValueType, Rank>> : std::true_type
1240 static const std::size_t Rank = bounds_type::rank;
1253 std::conditional_t<Rank == 1, value_type, multi_span<value_type, RestDimensions...>>;
1496 constexpr strided_span<ValueType, Rank> section(index_type origin,
1501 strided_bounds<Rank>{extents, details::make_stride(bounds())}};
1521 static constexpr std::size_t rank() { return Rank; }
1526 static_assert(Dim < Rank,
1561 template <bool Enabled = (Rank > 1), typename Ret = std::enable_if_t<Enabled, sliced_type>>
1814 template <typename ValueType, std::size_t Rank>
1818 using bounds_type = strided_bounds<Rank>;
1826 using const_strided_span = strided_span<const_value_type, Rank>;
1831 std::conditional_t<Rank == 1, value_type, strided_span<value_type, Rank - 1>>;
1862 bool Enabled1 = (sizeof...(Dimensions) == Rank),
1872 constexpr strided_span(const strided_span<OtherValueType, Rank>& other)
1880 Rank>
1910 template <bool Enabled = (Rank > 1), typename Ret = std::enable_if_t<Enabled, sliced_type>>
1927 static_assert(Dim < Rank,
1928 "dimension should be less than Rank (dimension count starts from 0)");
2016 Expects(extent[Rank - 1] >= d && (extent[Rank - 1] % d == 0));
2019 ret[Rank - 1] /= d;
2024 template <bool Enabled = (Rank == 1), typename = std::enable_if_t<Enabled>>
2029 Expects(strides[Rank - 1] == 1);
2034 template <bool Enabled = (Rank > 1), typename = std::enable_if_t<Enabled>>
2039 Expects(strides[Rank - 1] == 1);
2042 Expects(strides[Rank - 2] >= d && (strides[Rank - 2] % d == 0));
2044 for (std::size_t i = Rank - 1; i > 0; --i)
2051 ret[Rank - 1] = 1;
2188 template <typename ValueType, std::size_t Rank>