#pragma once #include #include #include namespace pqrs { namespace karabiner { namespace driverkit { namespace client_protocol_version { struct value_t : type_safe::strong_typedef, type_safe::strong_typedef_op::equality_comparison, type_safe::strong_typedef_op::relational_comparison { using strong_typedef::strong_typedef; constexpr auto operator<=>(const value_t& other) const { return type_safe::get(*this) <=> type_safe::get(other); } }; inline std::ostream& operator<<(std::ostream& stream, const value_t& value) { return stream << type_safe::get(value); } // clang-format off constexpr value_t embedded_client_protocol_version(@CLIENT_PROTOCOL_VERSION@); // clang-format on } // namespace client_protocol_version } // namespace driverkit } // namespace karabiner } // namespace pqrs