59class SOURCEMETA_BLAZE_OUTPUT_EXPORT TraceOutput {
62 enum class EntryType : std::uint8_t { Push, Pass, Fail, Annotation };
68 const std::string_view name;
71 const sourcemeta::core::WeakPointer &instance_location;
72 const sourcemeta::core::WeakPointer &evaluate_path;
73 const std::string_view keyword_location;
74 const sourcemeta::core::JSON &annotation;
81 using Callback = std::function<void(
const Entry &)>;
83 TraceOutput(
const Template &schema_template, Callback callback,
84 sourcemeta::core::WeakPointer base =
85 sourcemeta::core::EMPTY_WEAK_POINTER);
88 TraceOutput(
const TraceOutput &) =
delete;
89 auto operator=(
const TraceOutput &) -> TraceOutput & =
delete;
94 const sourcemeta::core::WeakPointer &evaluate_path,
95 const sourcemeta::core::WeakPointer &instance_location,
96 const sourcemeta::core::JSON &annotation) -> void;
103#pragma warning(disable : 4251)
106 const sourcemeta::core::WeakPointer base_;
109#pragma warning(default : 4251)