Skip to content

sbio::CanDiscoverMetadata

template<typename T, typename IO, typename StorageViewT>
concept= requires(Stream<IO, T>* streams,
StorageViewT& storage,
typename T::MetadataInventory& inv,
std::size_t entry_no,
const char* name,
typename T::DataAccessPtn ptn) {
{ T::discover_metadata(streams, storage, inv) } -> std::convertible_to<IOStatus>;
{ inv.entry_matches(entry_no, name, ptn) } -> std::same_as<bool>;
{ inv.metadata_for(entry_no) } -> std::convertible_to<std::pair<const char*, std::uint32_t>>;
{ inv.num_entries() } -> std::same_as<std::size_t>;
};