Before the first tag, wrap the library's public API in the ABI-versioning inline namespace v0_1 (namespace fn { inline namespace v0_1 { ... } }), per the versioning policy: 0.y lines may break ABI, and the inline namespace is what lets successive lines coexist and fail loud at link time instead of silently ODR-colliding.
To settle in the PR:
- whether
pfn receives the same treatment or stays unversioned (an implementation layer of fn's public surface, but also usable standalone);
- the interaction with docs — Doxygen fully-qualified names and the docs/ name references;
- the
abigo gate baseline, which should be established against the wrapped namespace.
Before the first tag, wrap the library's public API in the ABI-versioning inline namespace
v0_1(namespace fn { inline namespace v0_1 { ... } }), per the versioning policy:0.ylines may break ABI, and the inline namespace is what lets successive lines coexist and fail loud at link time instead of silently ODR-colliding.To settle in the PR:
pfnreceives the same treatment or stays unversioned (an implementation layer offn's public surface, but also usable standalone);abigogate baseline, which should be established against the wrapped namespace.