If a class 'Outer' with API visibility declares a private (C++ private) type or member, those types or members inherit the public visibility. That increases the surface area of the implicit ABI. This is especially important for things like PImpl Idiom implementation classes, of which we have many.
We tag all private types and members of ABI visible classes with our macro that expands to making those private types and members non-ABI visible.
- is related to
-
CXX-490 Determine if we want inline / template visibility macros
- Closed