Hint 0.1.0
Loading...
Searching...
No Matches
Modules | Macros
Linkage Control

see Explicit Template Instantiation for more. More...

Modules

 Explicit Template Instantiation
 attributes that can control explicit template instantiation
 

Macros

#define hint_weak
 [[weak]]
 
#define hint_internal_linkage
 [[internal_linkage]]
 
#define hint_preferred_name(x)
 portable [[clang::preferred_name(x)]] annotations
 

Detailed Description

see Explicit Template Instantiation for more.

Macro Definition Documentation

◆ hint_internal_linkage

#define hint_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 hint_visibility("hidden")

◆ hint_preferred_name

#define hint_preferred_name (   x)

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

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

◆ hint_weak

#define hint_weak

[[weak]]

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