最終更新日時:
が更新

履歴 編集

class
<hive>

std::hive_limits(C++26)

namespace std {
  struct hive_limits {
    std::size_t min;
    std::size_t max;
    constexpr hive_limits(std::size_t minimum, std::size_t maximum) noexcept
      : min(minimum), max(maximum) {}
  };
}

概要

hive_limitsは、hiveの要素ブロックが保持できる要素数の下限(min)と上限(max)を指定するためのクラスである。

std::hiveのコンストラクタやreshape()メンバ関数に渡すことで要素ブロックの容量制限を指定でき、block_capacity_limits()block_capacity_default_limits()block_capacity_hard_limits()戻り値として得られる。

minmax以下でなければならず、両者は処理系が定めるハード制限(block_capacity_hard_limits())の範囲内でなければならない。範囲外の値やmin > maxとなる値を指定した場合はエラー性動作(erroneous behavior)となり、その効果は処理系定義である。指定した値がハード制限の範囲内かどうかはis_within_hard_limits()で確認できる。

メンバ変数

名前 説明 対応バージョン
min 要素ブロックが保持できる要素数の下限 (size_t) C++26
max 要素ブロックが保持できる要素数の上限 (size_t) C++26

メンバ関数

名前 説明 対応バージョン
(constructor) minminimumで、maxmaximumで初期化するコンストラクタ C++26

#include <hive>
#include <print>

int main()
{
  // 要素ブロックが保持できる要素数を、最小8・最大64に制限する
  std::hive_limits limits{8, 64};

  std::hive<int> h{limits};

  std::println("min={}, max={}", h.block_capacity_limits().min,
                                 h.block_capacity_limits().max);
}

出力例

min=8, max=64

バージョン

言語

  • C++26

処理系

関連項目

参照