std::span
に対する推定ガイド
提供: cppreference.com
ヘッダ <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(conststd::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) はイテレータと番兵の組からの要素型の推定を可能とします。 このオーバーロードは、 It
が contiguous_iterator に満たす場合にのみ、オーバーロード解決に参加します。
(2-4) は組み込みの配列および std::array からの静的エクステントの推定を可能とします。
(5) はを範囲からの要素型の推定を可能とします。 このオーバーロードは、 R
が contiguous_range に満たす場合にのみ、オーバーロード解決に参加します。