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