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;
71 template <
typename ELEMENT_TYPE,
typename BASIC_ISTREAM_ELEMENT_TYPE,
typename BASIC_ISTREAM_TRAITS_TYPE>
72 Ptr<ELEMENT_TYPE> New (basic_istream<BASIC_ISTREAM_ELEMENT_TYPE, BASIC_ISTREAM_TRAITS_TYPE>& originalStream)
73 requires ((same_as<ELEMENT_TYPE, byte> and same_as<BASIC_ISTREAM_ELEMENT_TYPE, char>) or
74 (same_as<ELEMENT_TYPE, Characters::Character> and same_as<BASIC_ISTREAM_ELEMENT_TYPE, wchar_t>));
75 template <
typename ELEMENT_TYPE,
typename BASIC_ISTREAM_ELEMENT_TYPE,
typename BASIC_ISTREAM_TRAITS_TYPE>
76 Ptr<ELEMENT_TYPE> New (basic_istream<BASIC_ISTREAM_ELEMENT_TYPE, BASIC_ISTREAM_TRAITS_TYPE>& originalStream, SeekableFlag seekable)
77 requires ((same_as<ELEMENT_TYPE, byte> and same_as<BASIC_ISTREAM_ELEMENT_TYPE, char>) or
78 (same_as<ELEMENT_TYPE, Characters::Character> and same_as<BASIC_ISTREAM_ELEMENT_TYPE, wchar_t>));
79 template <
typename ELEMENT_TYPE,
typename BASIC_ISTREAM_ELEMENT_TYPE,
typename BASIC_ISTREAM_TRAITS_TYPE>
81 basic_istream<BASIC_ISTREAM_ELEMENT_TYPE, BASIC_ISTREAM_TRAITS_TYPE>& originalStream)
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, SeekableFlag seekable)
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>));
97#include "InputStreamFromStdIStream.inl"