名前空間
変種
操作

std::span<T,Extent>::subspan

提供: cppreference.com
< cpp‎ | container‎ | span
template<std::size_t Offset,

          std::size_t Count = std::dynamic_extent>

constexpr std::span<element_type, E /* see below */> subspan()const;
(1)
constexpr std::span<element_type, std::dynamic_extent>

    subspan(std::size_t Offset,

             std::size_t Count = std::dynamic_extent)const;
(2)

このスパンのオフセット Offset から始まる Count 個の要素に対するビューとなるスパンを取得します。 Countstd::dynamic_extent の場合、サブスパンの要素数は size() - offset です (*this の終端が終端になります)。

Offset または Count が範囲外の場合、動作は未定義です。 これは以下の場合に発生します。

  • Offsetsize() より大きい。
  • Countstd::dynamic_extent でなく、 Offset + Countsize() より大きい。

(1) によって返されるスパンのエクステント E は以下のように決定されます。

  • Countstd::dynamic_extent でなければ、 Count
  • そうでなく、 Extentstd::dynamic_extent でなければ、 Extent - Offset
  • そうでなければ、 std::dynamic_extent

[編集] 戻り値

r.data()== this->data()+ Offset であるような、要求されたサブスパン rCountstd::dynamic_extent の場合、 r.size()== this->size()- Offset です。 そうでなければ、 r.size()== Count です。

[編集] 関連項目

シーケンスの最初の N 個の要素から構成されるサブスパンを取得します
(パブリックメンバ関数)[edit]
シーケンスの最後の N 個の要素から構成されるサブスパンを取得します
(パブリックメンバ関数)[edit]
close