static constexpr bool is_within_hard_limits(hive_limits lim) noexcept; // C++26
概要
指定した容量制限がハード制限の範囲内か判定する。
指定した容量制限limが、処理系のハード制限(block_capacity_hard_limits())の範囲内にあり、かつlim.min <= lim.maxを満たすかどうかを判定する。この関数は静的メンバ関数である。
hiveのコンストラクタやreshapeに渡す容量制限が妥当かどうかを、事前に確認するために使用できる。
戻り値
hlをblock_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
処理系
- Clang: 22 ❌
- GCC: 16.1 ❌
- Visual C++: 2026 Update 2 ❌