commons 0.1.5
Header-only C++23 library of common/shared types for the C++ libraries
Loading...
Searching...
No Matches
config.hpp File Reference

Central feature-gate header for Commons' optional integrations. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Detailed Description

Central feature-gate header for Commons' optional integrations.

Each optional integration is controlled by a COMMONS_WITH_* macro that resolves to 1 (enabled) or 0 (disabled). A macro predefined by the build system (CMake/Meson) or the consumer always wins; otherwise it is auto-detected via __has_include, so the base library carries no forced dependency.

Supported gates:

  • COMMONS_WITH_NLOHMANN_JSON — nlohmann/json to_json/from_json hooks, enabled when <nlohmann/json.hpp> is on the include path.
  • COMMONS_WITH_ULID — the ulid::Ulid representation for comms::Id, enabled when <ulid/ulid.h> is on the include path.