#pragma once #include "../../introspection.hpp" #include "fwd.hpp" namespace util { #define SCHEMA_INTROSPECTION(K) \ namespace detail { \ struct type_name_cruft_json_schema_constraint_##K { \ static constexpr const char value[] = #K; \ }; \ } \ \ template <> \ struct type_name<::util::json::schema::constraint::K> : \ public detail::type_name_cruft_json_schema_constraint_##K \ { }; template