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

履歴 編集

class template
<type_traits>

std::bool_constant(C++17)

namespace std {
  template <bool B>
  using bool_constant = integral_constant<bool, B>;
}

概要

bool_constant は、真理値型の定数を表す型である。

汎用的な整数型の定数を表すintegral_constantの別名として定義される。

#include <iostream>
#include <type_traits>

// bool型の定数を受け取る
template <bool B>
void f(std::bool_constant<B>)
{
  constexpr bool b = B;
  std::cout << std::boolalpha << b << std::endl;
}

int main()
{
  // bool型定数を表すために、事前に用意された型
  f(std::true_type{});
  f(std::false_type{});

  // 直接bool_constantを使用する
  f(std::bool_constant<true>{});

  // bool_constantの元となっているintegral_constantを使用する
  f(std::integral_constant<bool, true>{});
}

出力

true
false
true
true

バージョン

言語

  • C++17

処理系

関連項目

参照