Skip to content

sbio::IsStreamBroker

template<typename T>
concept= requires(T broker,
typename T::StepIdxType step_idx,
typename T::DataAccessPtn ptn,
typename T::DataRequest req) {
{ broker.allocate_storage() };
{ broker.open_data_stream() } -> std::convertible_to<IOStatus>;
{ broker.discover_metadata() } -> std::convertible_to<IOStatus>;
{ broker.fetch_step(step_idx, ptn) } -> std::convertible_to<IOStatus>;
{ broker.get_data_in_buffer(req, ptn) } -> std::convertible_to<DataResult>;
{ broker.process() } -> std::convertible_to<IOStatus>;
{ broker.capacity() } -> std::convertible_to<std::size_t>;
{ broker.sync_vars() };
};

Determines whether a class conforms to the StreamBroker interface.