一呼百應, "one call, a hundred responses"
Loading...
Searching...
No Matches
Linkage Control
Collaboration diagram for Linkage Control:

Topics

 Explicit Template Instantiation
 
 

Macros

#define ein_weak
 [[weak]]
 
#define ein_internal_linkage
 [[internal_linkage]]
 
#define ein_preferred_name(__x)
 portable [[clang::preferred_name(x)]] annotations
 

Detailed Description

see Explicit Template Instantiation for more.

Macro Definition Documentation

◆ ein_internal_linkage

#define ein_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 ein_visibility("hidden")

Definition at line 294 of file common.hpp.

◆ ein_preferred_name

#define ein_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 309 of file common.hpp.

◆ ein_weak

#define ein_weak

[[weak]]

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

Definition at line 274 of file common.hpp.