Skip to content

Latest commit

 

History

History
53 lines (39 loc) · 1.24 KB

File metadata and controls

53 lines (39 loc) · 1.24 KB

has_default_argument

  • meta[meta header]
  • std::meta[meta namespace]
  • function[meta id-type]
  • cpp26[meta cpp]
namespace std::meta {
  consteval bool has_default_argument(info r);
}
  • info[link info.md]

概要

関数パラメータがデフォルト引数を持つかを判定する。

戻り値

rが関数パラメータを表し、そのパラメータが到達可能な宣言のいずれかでデフォルト引数を持つ場合にtrueを返す。そうでなければfalseを返す。

#include <meta>

void func(int x, int y = 10);

int main() {
  static_assert(!std::meta::has_default_argument(
    std::meta::parameters_of(^^func)[0]));  // x
  static_assert(std::meta::has_default_argument(
    std::meta::parameters_of(^^func)[1]));   // y = 10
}
  • std::meta::parameters_of[link parameters_of.md]

出力

バージョン

言語

  • C++26

処理系

参照