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
処理系
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) ✅ - Visual C++: ??