5.52.10 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 Function Attributes, for more information about visibility and
the attribute syntax.
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.