native 0.0.1
Vectors, masks and wide register packs for C++26
Loading...
Searching...
No Matches
Linkage Control

see Explicit Template Instantiation for more. More...

Collaboration diagram for Linkage Control:

Topics

 Explicit Template Instantiation
 attributes that can control explicit template instantiation

Macros

#define native_weak
 [[weak]]
#define native_internal_linkage
 [[internal_linkage]]
#define native_preferred_name(__x)
 portable [[clang::preferred_name(x)]] annotations

Detailed Description

Macro Definition Documentation

◆ native_internal_linkage

#define native_internal_linkage

[[internal_linkage]]

Changes the linkage type of the declaration to internal. This is similar to C-style static, but can be used on classes and class methods. When applied to a class definition, this attribute affects all methods and static data members of that class. This can be used to contain the ABI of a C++ library by excluding unwanted class methods from the export tables.

Warning
probably subsumed by native_visibility("hidden")

Definition at line 319 of file attributes.h.

◆ native_preferred_name

#define native_preferred_name ( __x)

portable [[clang::preferred_name(x)]] annotations

Can be applied to a template struct to provide better names for some concrete instantiations

Definition at line 334 of file attributes.h.

◆ native_weak

#define native_weak

[[weak]]

used to generate a symbol that can be easily overriden by the linker.

Definition at line 299 of file attributes.h.