4#ifndef _Stroika_Foundation_Streams_MemoryStream_h_
5#define _Stroika_Foundation_Streams_MemoryStream_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
12#include "Stroika/Foundation/Common/Common.h"
23namespace Stroika::Foundation::Streams::MemoryStream {
25 using Characters::Character;
26 using Characters::String;
29 template <
typename ELEMENT_TYPE>
79 template <
typename ELEMENT_TYPE>
80 Ptr<ELEMENT_TYPE> New ();
81 template <
typename ELEMENT_TYPE,
size_t EXTENT>
82 Ptr<ELEMENT_TYPE> New (span<const ELEMENT_TYPE, EXTENT> copyFrom);
83 template <
typename ELEMENT_TYPE>
84 Ptr<ELEMENT_TYPE> New (
const Memory::BLOB& copyFrom)
85 requires (same_as<ELEMENT_TYPE, byte>);
88 template <
typename ELEMENT_TYPE>
97 template <
typename ELEMENT_TYPE>
114 Ptr (
const shared_ptr<Private_::Rep_<ELEMENT_TYPE>>&
from);
117 nonvirtual
Ptr& operator= (
const Ptr&
rhs) =
default;
133 template <
typename T>
164#include "MemoryStream.inl"
String is like std::u32string, except it is much easier to use, often much more space efficient,...
nonvirtual String ToString() const