Visibility Pragmas (Using the GNU Compiler Collection (GCC))

#### 6.5.13 Visibility Pragmas ¶

`#pragma GCC visibility push(visibility)` ¶
`#pragma GCC visibility pop`

  This pragma allows the user to set the visibility for multiple declarations without having to give each a visibility attribute (see Attributes Specific to GCC).

  In C++, ‘`#pragma GCC visibility`’ affects only namespace-scope declarations. Class members and template specializations are not affected; if you want to override the visibility for a particular member or instantiation, you must use an attribute.