Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::interchange::ConceptCensus Class Reference

Which interchange concepts a document uses, how often, and where. More...

#include <census.hpp>

Public Member Functions

bool contains (Concept concept_value) const noexcept
std::uint64_t count (Concept concept_value) const noexcept
std::span< const timeline::ItemId > owners (Concept concept_value) const noexcept
 Up to CensusLimits::max_owners_per_concept ids of the items that carry the concept.
std::vector< Concept > present () const
 Concepts recorded at least once, in vocabulary order.
bool empty () const noexcept
void record (Concept concept_value, timeline::ItemId owner, const CensusLimits &limits)
 Record one sighting.

Detailed Description

Which interchange concepts a document uses, how often, and where.

One walker serves every format. Formats differ in what they can carry, not in what a document contains, so the walk happens once and each format's capability table is applied to the same result.

Member Function Documentation

◆ contains()

bool pulp::interchange::ConceptCensus::contains ( Concept concept_value) const
noexcept

◆ count()

std::uint64_t pulp::interchange::ConceptCensus::count ( Concept concept_value) const
noexcept

◆ empty()

bool pulp::interchange::ConceptCensus::empty ( ) const
noexcept

◆ owners()

std::span< const timeline::ItemId > pulp::interchange::ConceptCensus::owners ( Concept concept_value) const
noexcept

Up to CensusLimits::max_owners_per_concept ids of the items that carry the concept.

May be shorter than count().

◆ present()

std::vector< Concept > pulp::interchange::ConceptCensus::present ( ) const

Concepts recorded at least once, in vocabulary order.

◆ record()

void pulp::interchange::ConceptCensus::record ( Concept concept_value,
timeline::ItemId owner,
const CensusLimits & limits )

Record one sighting.

Readers tag constructs with this as they recognize them; the walker below uses it for documents already in the model.


The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/core/interchange/include/pulp/interchange/census.hpp