enum Visibility

Description

Describes the different kinds of visibility that a declaration may have. Visibility determines how a declaration interacts with the dynamic linker. It may also affect whether the symbol can be found by runtime symbol lookup APIs. Visibility is not described in any language standard and (nonetheless) sometimes has odd behavior. Not all platforms support all visibility kinds.

Declared at: clang/include/clang/Basic/Visibility.h:33

Enumerators

NameValueComment
HiddenVisibility0Objects with "hidden" visibility are not seen by the dynamic linker.
ProtectedVisibility1Objects with "protected" visibility are seen by the dynamic linker but always dynamically resolve to an object within this shared object.
DefaultVisibility2Objects with "default" visibility are seen by the dynamic linker and act like normal objects.