welder 0.1.0
Bindings for annotated C++ types, from C++26 reflection
Loading...
Searching...
No Matches
welder::detail::exclude_spec Struct Reference

The stored form of an exclude mark: the languages a member is hidden from. More...

#include <welder/annotations.hpp>

Public Member Functions

template<class... Ls>
consteval exclude_spec operator() (Ls... ls) const
 Scope the exclusion to specific languages.

Public Attributes

unsigned mask = 0
 The languages to exclude from; 0 == all languages.

Detailed Description

The stored form of an exclude mark: the languages a member is hidden from.

Each marker is a constexpr object usable bare as an annotation (applies to all languages) or called with languages to scope it:

[[=welder::mark::exclude]] // all languages
constexpr detail::exclude_spec exclude
@ lua
Lua (via the sol2 and LuaBridge3 backends).
Definition lang.hpp:44

Definition at line 154 of file annotations.hpp.

Member Function Documentation

◆ operator()()

template<class... Ls>
exclude_spec welder::detail::exclude_spec::operator() ( Ls... ls) const
inlineconsteval

Scope the exclusion to specific languages.

Template Parameters
Lsthe language enum types (deduced).
Parameters
lsthe languages to exclude from.
Returns
a scoped exclude_spec.

Definition at line 162 of file annotations.hpp.

References welder::lang_mask().

Member Data Documentation

◆ mask

unsigned welder::detail::exclude_spec::mask = 0

The languages to exclude from; 0 == all languages.

Definition at line 155 of file annotations.hpp.


The documentation for this struct was generated from the following file: