Skip to content

sbio::HasGenericIndex

template<typename T>
concept= requires(const typename T::DataUnit* unit,
typename T::StepKind kind,
typename T::DataAccessPtn ptn,
hd_std::uint32_t stream,
hd_std::uint64_t offset) {
typename T::StepKind;
{ T::kind_for_ptn(ptn) } -> std::same_as<typename T::StepKind>;
{ T::kind_for_step(unit) } -> std::convertible_to<hd_std::optional<typename T::StepKind>>;
{ T::locate_bytes(unit) } -> std::convertible_to<std::size_t>;
{ T::locate_step(unit, kind, stream, offset) } -> std::same_as<ByteRegion>;
};