4#ifndef _Stroika_Foundation_Streams_iostream_InputStreamFromStdIStream_h_
5#define _Stroika_Foundation_Streams_iostream_InputStreamFromStdIStream_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
11#include "Stroika/Foundation/Common/Common.h"
13#include "Stroika/Foundation/Streams/InternallySynchronizedInputStream.h"
27namespace Stroika::Foundation::Streams::iostream::InputStreamFromStdIStream {
29 using InputStream::Ptr;
76 template <
typename ELEMENT_TYPE,
typename BASIC_ISTREAM_ELEMENT_TYPE,
typename BASIC_ISTREAM_TRAITS_TYPE>
77 Ptr<ELEMENT_TYPE> New (basic_istream<BASIC_ISTREAM_ELEMENT_TYPE, BASIC_ISTREAM_TRAITS_TYPE>& originalStream)
78 requires ((same_as<ELEMENT_TYPE, byte> and same_as<BASIC_ISTREAM_ELEMENT_TYPE, char>) or
79 (same_as<ELEMENT_TYPE, Characters::Character> and same_as<BASIC_ISTREAM_ELEMENT_TYPE, wchar_t>));
80 template <
typename ELEMENT_TYPE,
typename BASIC_ISTREAM_ELEMENT_TYPE,
typename BASIC_ISTREAM_TRAITS_TYPE>
81 Ptr<ELEMENT_TYPE> New (basic_istream<BASIC_ISTREAM_ELEMENT_TYPE, BASIC_ISTREAM_TRAITS_TYPE>& originalStream, SeekableFlag seekable)
82 requires ((same_as<ELEMENT_TYPE, byte> and same_as<BASIC_ISTREAM_ELEMENT_TYPE, char>) or
83 (same_as<ELEMENT_TYPE, Characters::Character> and same_as<BASIC_ISTREAM_ELEMENT_TYPE, wchar_t>));
84 template <
typename ELEMENT_TYPE,
typename BASIC_ISTREAM_ELEMENT_TYPE,
typename BASIC_ISTREAM_TRAITS_TYPE>
86 basic_istream<BASIC_ISTREAM_ELEMENT_TYPE, BASIC_ISTREAM_TRAITS_TYPE>& originalStream)
87 requires ((same_as<ELEMENT_TYPE, byte> and same_as<BASIC_ISTREAM_ELEMENT_TYPE, char>) or
88 (same_as<ELEMENT_TYPE, Characters::Character> and same_as<BASIC_ISTREAM_ELEMENT_TYPE, wchar_t>));
89 template <
typename ELEMENT_TYPE,
typename BASIC_ISTREAM_ELEMENT_TYPE,
typename BASIC_ISTREAM_TRAITS_TYPE>
91 basic_istream<BASIC_ISTREAM_ELEMENT_TYPE, BASIC_ISTREAM_TRAITS_TYPE>& originalStream, SeekableFlag seekable)
92 requires ((same_as<ELEMENT_TYPE, byte> and same_as<BASIC_ISTREAM_ELEMENT_TYPE, char>) or
93 (same_as<ELEMENT_TYPE, Characters::Character> and same_as<BASIC_ISTREAM_ELEMENT_TYPE, wchar_t>));
102#include "InputStreamFromStdIStream.inl"