最終更新日時(UTC):
が更新

履歴 編集

function
<mdspan>

std::extents::static_extent(C++23)

static constexpr size_t static_extent(rank_type i) noexcept;

概要

多次元配列サイズのうちi番目次元の静的要素数を取得する。

事前条件

i < rank()

戻り値

i番目次元の静的要素数。同次元が動的要素数の場合はstd::dynamic_extentを返す。

例外

投げない

#include <cassert>
#include <mdspan>

int main()
{
  using Ext3x4 = std::extents<size_t, 3, 4>;
  static_assert(Ext3x4::static_extent(0) == 3);
  static_assert(Ext3x4::static_extent(1) == 4);
  Ext3x4 ext1;
  assert(ext1.extent(0) == 3);
  assert(ext1.extent(1) == 4);

  using Ext3xN = std::extents<size_t, 3, std::dynamic_extent>;
  static_assert(Ext3xN::static_extent(0) == 3);
  static_assert(Ext3xN::static_extent(1) == std::dynamic_extent);
  Ext3xN ext2{10};
  assert(ext2.extent(0) == 3);
  assert(ext2.extent(1) == 10);
}

出力

バージョン

言語

  • C++23

処理系

関連項目

参照