.. Copyright (C) 2018 Mikael Simberg SPDX-License-Identifier: BSL-1.0 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ============= API reference ============= |hpx| follows a versioning scheme with three numbers: ``major.minor.patch``. We guarantee no breaking changes in the API for patch releases. Minor releases may remove or break existing APIs, but only after a deprecation period of at least two minor releases. In rare cases do we outright remove old and unused functionality without a deprecation period. We do not provide any ABI compatibility guarantees between any versions, debug and release builds, and builds with different C++ standards. .. We follow |semver|_ for our API (starting from |hpx| 2.0.0). This means that patch releases never change the public API, neither with additions nor removals. Minor releases may add new functionality to the public API. Major releases may both remove and add functionality to the public API. We define the public API as any functionality in the ``hpx`` namespace, excluding any ``detail`` or ``experimental`` namespace within the ``hpx`` namespace. We reserve the right to change any functionality in the ``detail`` and ``experimental`` namespaces even in patch releases. However, any functionality in ``experimental`` is intended for eventual inclusion in the public API, and we avoid excessively breaking APIs in the ``experimental`` namespace. In addition to the above, any macros starting with ``HPX_`` are part of the public API. We do not provide any ABI compatibility guarantees between any versions, debug and release builds, and builds with different C++ standards. Our build system provides compatibility guarantees only for |cmake| support. Any other build system support may change even in patch releases. The public API in terms of our build system are the ``HPX::`` targets provided by ``find_package(HPX)``. The public API of |hpx| is presented below. Clicking on a name brings you to the full documentation for the class or function. Including the header specified in a heading brings in the features listed under that heading. .. note:: Names listed here are guaranteed stable with respect to semantic versioning. However, at the moment the list is incomplete and certain unlisted features are intended to be in the public API. While we work on completing the list, if you're unsure about whether a particular unlisted name is part of the public API you can get into contact with us or open an issue and we'll clarify the situation. .. toctree:: :maxdepth: 1 api/public_api.rst .. toctree:: :maxdepth: 1 api/public_distributed_api.rst .. toctree:: :maxdepth: 1 api/full_api.rst