#include "common/Capability.h" namespace { struct ProbeCapability { static constexpr const char* capabilityName = "profile.optional.present"; virtual ~ProbeCapability() = default; virtual int value() const = 0; }; struct Provider final : ProbeCapability { int value() const override { return 42; } }; } // namespace int main() { eve::cap::detail::clearAllRaw(); if (eve::cap::query() != nullptr) return 1; Provider provider; eve::cap::provide(&provider); auto* found = eve::cap::query(); if (found == nullptr || found->value() != 42) return 2; eve::cap::revoke(&provider); return eve::cap::query() == nullptr ? 0 : 3; }