4#ifndef _Stroika_Foundation_Streams_ExternallyOwnedMemoryInputStream_h_
5#define _Stroika_Foundation_Streams_ExternallyOwnedMemoryInputStream_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
12#include "Stroika/Foundation/Common/Common.h"
21namespace Stroika::Foundation::Streams::ExternallyOwnedMemoryInputStream {
23 _DeprecatedFile_ (
"DEPRECATED FILE DEPRECATED SINCE STROIKA v3.0d5 - use ExternallyOwnedSpanInputStream");
24 using InputStream::Ptr;
26 template <
typename ELEMENT_TYPE>
27 [[deprecated (
"Since Stroika v3.0d5 use ExternallyOwnedSpanInputStream")]] Ptr<ELEMENT_TYPE> New (
const ELEMENT_TYPE* start,
const ELEMENT_TYPE* end)
29 return ExternallyOwnedSpanInputStream::New<ELEMENT_TYPE> (span{start, end});
31 template <
typename ELEMENT_TYPE, random_access_iterator ELEMENT_ITERATOR>
32 [[deprecated (
"Since Stroika v3.0d5 use ExternallyOwnedSpanInputStream")]] Ptr<ELEMENT_TYPE> New (ELEMENT_ITERATOR start, ELEMENT_ITERATOR end)
33 requires same_as<typename ELEMENT_ITERATOR::value_type, ELEMENT_TYPE> or
34 (same_as<ELEMENT_TYPE, byte> and same_as<typename ELEMENT_ITERATOR::value_type, char>)
36 return ExternallyOwnedSpanInputStream::New<ELEMENT_TYPE> (span{start, end});
38 template <
typename ELEMENT_TYPE>
39 [[deprecated (
"Since Stroika v3.0d5 use ExternallyOwnedSpanInputStream")]] Ptr<ELEMENT_TYPE>
42 return ExternallyOwnedSpanInputStream::New<ELEMENT_TYPE> (span{start, end - start});
44 template <
typename ELEMENT_TYPE, random_access_iterator ELEMENT_ITERATOR>
45 [[deprecated (
"Since Stroika v3.0d5 use ExternallyOwnedSpanInputStream")]] Ptr<ELEMENT_TYPE>
47 requires same_as<typename ELEMENT_ITERATOR::value_type, ELEMENT_TYPE> or
48 (same_as<ELEMENT_TYPE, byte> and same_as<typename ELEMENT_ITERATOR::value_type, char>)
50 return ExternallyOwnedSpanInputStream::New<ELEMENT_TYPE> (span{start, end - start});
52 template <
typename ELEMENT_TYPE>
53 [[deprecated (
"Since Stroika v3.0d5 use ExternallyOwnedSpanInputStream")]] Ptr<ELEMENT_TYPE> New (
const uint8_t* start,
const uint8_t* end)
54 requires same_as<ELEMENT_TYPE, byte>
56 return ExternallyOwnedSpanInputStream::New<ELEMENT_TYPE> (span{start, end});