#include <pulp/interchange/concept.hpp>#include <cstddef>#include <cstdint>#include <string_view>Go to the source code of this file.
Classes | |
| struct | pulp::interchange::ImportRow |
| struct | pulp::interchange::ExportRow |
| struct | pulp::interchange::detail::FormatRecord |
Namespaces | |
| namespace | pulp |
| namespace | pulp::interchange |
| namespace | pulp::interchange::detail |
Enumerations | |
| enum class | pulp::interchange::ImportLevel : std::uint8_t { pulp::interchange::None = 0 , pulp::interchange::PreserveOpaque = 1 , pulp::interchange::Partial = 2 , pulp::interchange::Full = 3 } |
| How much of a concept a format's reader admits. More... | |
| enum class | pulp::interchange::ExportLevel : std::uint8_t { pulp::interchange::Drop = 0 , pulp::interchange::RoundtripOnly = 1 , pulp::interchange::Degrade = 2 , pulp::interchange::Full = 3 } |
| What a format's writer does with a concept the document uses. More... | |
| enum class | pulp::interchange::LossClass : std::uint8_t { pulp::interchange::Dropped = 0 , pulp::interchange::Degraded = 1 , pulp::interchange::Flattened = 2 , pulp::interchange::Approximated = 3 } |
| How a concept is lost when a format cannot carry it intact. More... | |
| enum class | pulp::interchange::Format : std::uint8_t { pulp::interchange::DawProject = 0 , pulp::interchange::Smf = 1 } |
| Interchange formats with a committed capability declaration. More... | |
Functions | |
| constexpr std::string_view | pulp::interchange::format_id (Format format) noexcept |
| The format's stable string id. | |
| constexpr std::string_view | pulp::interchange::format_display_name (Format format) noexcept |
| The format's human-facing name. | |
| constexpr bool | pulp::interchange::format_has_writer (Format format) noexcept |
| Whether a writer exists for this format. run_export refuses without one. | |
| constexpr bool | pulp::interchange::format_from_id (std::string_view id, Format &out) noexcept |
| Resolve a string id to its format. Returns false when unrecognized. | |
| constexpr const ImportRow & | pulp::interchange::import_capability (Format format, Concept concept_value) noexcept |
| The format's import declaration for one concept. | |
| constexpr const ExportRow & | pulp::interchange::export_capability (Format format, Concept concept_value) noexcept |
| The format's export declaration for one concept, generated the same way (omitted concepts become Drop, so they surface as a loss needing consent). | |
| constexpr bool | pulp::interchange::import_supports (Format format, Concept concept_value) noexcept |
| Whether the format's reader may admit the concept at all. | |
| constexpr bool | pulp::interchange::export_is_lossless (Format format, Concept concept_value) noexcept |
| Whether exporting the concept costs the document anything. | |
Variables | |
| constexpr std::size_t | pulp::interchange::kFormatCount = 2 |
| constexpr FormatRecord | pulp::interchange::detail::kFormatRecords [kFormatCount] |
| constexpr ImportRow | pulp::interchange::detail::kImportRows [kFormatCount][kConceptCount] |
| constexpr ExportRow | pulp::interchange::detail::kExportRows [kFormatCount][kConceptCount] |