名前空間
変種
操作

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

提供: cppreference.com
< cpp‎ | container‎ | span
ヘッダ <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 に満たす場合にのみ、オーバーロード解決に参加します。