concept= requires(impl::PlaceholderDataSource& ds,
const typename T::DataSourceParameters& spec,
typename T::StreamParameters& cfg) {
typename T::DataSourceParameters;
{ T::make_stream_brokers(ds, spec, cfg) } -> std::convertible_to<bool>;
{ T::PartitioningStrategy } -> std::convertible_to<StreamPartitioningStrategy>;
{ T::RoleCount } -> std::convertible_to<std::size_t>;
typename T::DataAccessPtn;
{ T::DataAccessPtnCount } -> std::convertible_to<std::size_t>;
typename T::StreamParameters;
requires std::is_trivially_copyable_v<typename T::StreamParameters>;
requires !std::is_void_v<std::remove_cvref_t<typename T::StreamParameters>>;