4#include "Stroika/Foundation/StroikaPreComp.h"
6#include "Stroika/Foundation/Containers/Support/ReserveTweaks.h"
16using namespace Stroika::Foundation::Streams;
30DISABLE_COMPILER_MSC_WARNING_START (6262)
32Memory::
BLOB InputStream::
Ptr<
byte>::ReadAll (
size_t upTo)
const
34#if USE_NOISY_TRACE_IN_THIS_MODULE_
39 for (
size_t nEltsLeft = upTo; nEltsLeft != 0;) {
40#if USE_NOISY_TRACE_IN_THIS_MODULE_
41 DbgTrace (
"nEltsLeft=%llu",
static_cast<unsigned long long> (nEltsLeft));
44 byte* s = std::begin (buf);
45 byte* e = std::end (buf);
46 if (nEltsLeft < Memory::NEltsOf (buf)) {
50 size_t n = ReadBlocking (span{s, e}).size ();
51 Assert (0 <= n and n <= nEltsLeft);
52 Assert (0 <= n and n <= Memory::NEltsOf (buf));
60 Assert (n <= nEltsLeft);
65#if USE_NOISY_TRACE_IN_THIS_MODULE_
70DISABLE_COMPILER_MSC_WARNING_END (6262)
String is like std::u32string, except it is much easier to use, often much more space efficient,...
Logically halfway between std::array and std::vector; Smart 'direct memory array' - which when needed...
nonvirtual void push_back(Common::ArgByValueType< T > e)
nonvirtual size_t size() const noexcept
A Streams::Ptr<ELEMENT_TYPE> is a smart-pointer to a stream of elements of type T.