名前空間
変種

std::span に対する推定ガイド

提供: cppreference.com
<tbody> </tbody>
ヘッダ <span> で定義
template <class It, class EndOrSize> span(It, EndOrSize) -> span<std::remove_reference_t<std::iter_reference_t<It>>>;
(1)
template<class T, std::size_t N> span(T (&)[N]) -> span<T, N>;
(2)
template<class T, std::size_t N> span(std::array<T, N>&) -> span<T, N>;
(3)
template<class T, std::size_t N> span(const std::array<T, N>&) -> span<const T, N>;
(4)
template<class R> span(R&&) -> span<std::remove_reference_t<std::ranges::range_reference_t<R>>>;
(5)

span に対して5つの推定ガイドが提供されます。

(1) はイテレータと番兵の組からの要素型の推定を可能とします。 このオーバーロードは、 Itcontiguous_iterator に満たす場合にのみ、オーバーロード解決に参加します。

(2-4) は組み込みの配列および std::array からの静的エクステントの推定を可能とします。

(5) はを範囲からの要素型の推定を可能とします。 このオーバーロードは、 Rcontiguous_range に満たす場合にのみ、オーバーロード解決に参加します。