Skip to content

Latest commit

 

History

History
57 lines (42 loc) · 1.27 KB

File metadata and controls

57 lines (42 loc) · 1.27 KB

has_module_linkage

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

概要

モジュールリンケージを持つかを判定する。

戻り値

rがモジュールリンケージを持つエンティティを表す場合にtrueを返す。

// モジュール内でのモジュールリンケージの例
export module mymodule;

import std;

// exportされていないモジュールスコープの宣言はモジュールリンケージを持つ
void internal_func() {}

// exportされた宣言は外部リンケージを持つ
export void public_func() {
  static_assert(std::meta::has_module_linkage(^^internal_func));
  static_assert(!std::meta::has_module_linkage(^^public_func));
  static_assert(std::meta::has_external_linkage(^^public_func));
}
  • std::meta::has_module_linkage[color ff0000]

出力

バージョン

言語

  • C++26

処理系

参照