A document measured against one format's capability table: what survives, and what it costs. More...
#include <export_plan.hpp>
Public Member Functions | |
| Format | format () const noexcept |
| const timeline::Project & | project () const noexcept |
| const ConceptCensus & | census () const noexcept |
| std::span< const Concept > | representable () const noexcept |
| Concept kinds present in the document that the format supports in isolation. | |
| const LossManifest & | losses () const noexcept |
| bool | is_lossless () const noexcept |
| True when no model-detectable concept needs a lossy format row. | |
| std::vector< Concept > | required_consent () const |
| The concepts a caller must accept for run_export to proceed. | |
Friends | |
| ExportPlan | plan_export (const timeline::Project &project, Format format, const CensusLimits &limits={}) |
| Measure a document against a format. | |
A document measured against one format's capability table: what survives, and what it costs.
A plan is only obtainable from plan_export, and run_export only accepts a plan. That is what makes the loss accounting unskippable – there is no one-shot entry point that writes an artifact without producing the plan first within the consent-gated interchange adapter surface, because no other interchange code can construct one. Strict raw format codecs may remain as separate APIs for callers that want refusal rather than planned loss.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
True when no model-detectable concept needs a lossy format row.
This is not byte-for-byte or identity-preserving round-trip equivalence.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Concept kinds present in the document that the format supports in isolation.
This is concept-level capability, not an instance survivor projection: a supported note inside a dropped container is still listed.
| std::vector< Concept > pulp::interchange::ExportPlan::required_consent | ( | ) | const |
The concepts a caller must accept for run_export to proceed.
|
friend |
Measure a document against a format.
Pure: no I/O, no writer, no failure mode – a census and a table lookup always produce an answer, and an answer that says "everything is lost" is still a plan.