24#include "denigma/classify/gaps.h"
25#include "musx/util/SvgConvert.h"
52#if DENIGMA_HAS_GAP_REPORT
54inline constexpr bool GAP_REPORT_AVAILABLE =
true;
66 : m_collector(collector)
70 [[nodiscard]] std::string serialize(
const GapReportOptions& options)
const {
return serializeGapReport(m_collector, options); }
73 const classify::GapCollector& m_collector;
76inline constexpr bool GAP_REPORT_AVAILABLE =
false;
92template <
typename Callback>
95 if constexpr (GAP_REPORT_AVAILABLE) {
97 std::forward<Callback>(callback)(writer);
99 return GAP_REPORT_AVAILABLE;
Placeholder in builds without the serializer.
Definition gap_report.h:81
Collects typed conversion gaps for inspection or later serialization.
Definition gaps.h:103
Core public API for the Denigma conversion libraries.
Definition articulations.h:33
musx::util::SvgConvert::GlyphMetricsFn GlyphMetricsFn
Measures text for the SVG images a report embeds: given a font and the glyphs to measure,...
Definition gap_report.h:40
bool withGapReport(const classify::GapCollector &collector, Callback &&callback)
Invokes a generic serialization callback synchronously, only in builds that include the gap report se...
Definition gap_report.h:93
What a gap report serialization needs beyond the gaps.
Definition gap_report.h:45
GlyphMetricsFn glyphMetrics
Measures glyphs for the SVG images the report embeds (custom arrowheads).
Definition gap_report.h:49
Identifies the software that serialized a gap report.
Definition gap_report.h:32