4#ifndef _Stroika_Foundation_Streams_InternallySynchronizedInputStream_h_
5#define _Stroika_Foundation_Streams_InternallySynchronizedInputStream_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
20namespace Stroika::Foundation::Streams::InternallySynchronizedInputStream {
22 using InputStream::Ptr;
26 struct DefaultOptions {
30 using MutexType = mutex;
43 template <
typename BASE_REP_TYPE,
typename OPTIONS = DefaultOptions,
typename... ARGS>
44 Ptr<typename BASE_REP_TYPE::ElementType> New (
const OPTIONS& o = {}, ARGS&&... args);
45 template <
typename ELEMENT_TYPE,
typename OPTIONS = DefaultOptions>
46 Ptr<ELEMENT_TYPE> New (
const OPTIONS& o,
const InputStream::Ptr<ELEMENT_TYPE>& stream2Wrap);
55#include "InternallySynchronizedInputStream.inl"