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

履歴 編集

function
<meta>

std::meta::is_literal_operator(C++26)

namespace std::meta {
  consteval bool is_literal_operator(info r);
}

概要

リテラル演算子であるかを判定する。リテラル演算子とは、ユーザー定義リテラル(123_kmのような接尾辞付きリテラル)を定義するためのoperator"" _suffix形式の関数である。

戻り値

rがリテラル演算子を表す場合にtrueを返す。

#include <meta>

// リテラル演算子
long double operator""_km(long double val) { return val * 1000.0L; }

// 通常の関数
double to_meters(double km) { return km * 1000.0; }

int main() {
  static_assert(std::meta::is_literal_operator(^^operator""_km));
  static_assert(!std::meta::is_literal_operator(^^to_meters));
}

出力

バージョン

言語

  • C++26

処理系

参照