Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove recommendation against including unqualified unstable ABI headers #59

Merged
merged 1 commit into from
Oct 2, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions source/api-abi-versioning.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,12 @@ The public header files of the bsoncxx library are organized by ABI namespace:

For forward compatibility, a public header file in an ABI namespace directory ``vA`` may include a header file in a *newer* ABI namespace directory ``vB``, where ``A < B``.
Such forward compatibility include directives, when supported, will be explicitly documented.
For any given public API entity, we recommend including its corresponding header
from the *latest* ABI namespace directory whenever available.
When ABI stability is required, we recommend including headers from the *latest* stable ABI namespace directory.
If ABI stability is not required, we recommend including the appropriate *unstable* ABI header instead.

.. important::

For backward compatibility, the ``bsoncxx/v_noabi/`` ABI namespace directory is added to include paths such that ``#include <bsoncxx/example.hpp>`` is equivalent to ``#include <bsoncxx/v_noabi/bsoncxx/example.hpp>``. Relying on this behavior is discouraged: we recommend explicitly including ``#include <bsoncxx/v_noabi/bsoncxx/example.hpp>`` instead.
The ``bsoncxx/v_noabi/`` unstable ABI namespace directory is prioritized before the ``bsoncxx/`` root directory in include paths, such that ``#include <bsoncxx/example.hpp>`` is equivalent to ``#include <bsoncxx/v_noabi/bsoncxx/example.hpp>``.

.. note::

Expand Down
Loading