最終更新日時:
が更新

履歴 編集

function
<hive>

std::hive::is_within_hard_limits(C++26)

static constexpr bool is_within_hard_limits(hive_limits lim) noexcept; // C++26

概要

指定した容量制限がハード制限の範囲内か判定する。

指定した容量制限limが、処理系のハード制限(block_capacity_hard_limits())の範囲内にあり、かつlim.min <= lim.maxを満たすかどうかを判定する。この関数は静的メンバ関数である。

hiveのコンストラクタやreshapeに渡す容量制限が妥当かどうかを、事前に確認するために使用できる。

戻り値

hlblock_capacity_hard_limits()として、以下を返す。

#include <hive>
#include <print>

int main()
{
  using hive = std::hive<int>;

  // min > max となる制限は、ハード制限によらず常に範囲外と判定される
  std::println("{}", hive::is_within_hard_limits({64, 8}));

  // 処理系のハード制限そのものは、常に範囲内と判定される
  std::hive_limits hard = hive::block_capacity_hard_limits();
  std::println("{}", hive::is_within_hard_limits({hard.min, hard.max}));
}

出力

false
true

バージョン

言語

  • C++26

処理系

関連項目

参照