4#include "Stroika/Foundation/StroikaPreComp.h"
9#include "Stroika/Foundation/Streams/MemoryStream.h"
10#include "Stroika/Foundation/Streams/TextToBinary.h"
18using namespace Stroika::Foundation::Streams;
19using namespace Stroika::Foundation::Traversal;
21using namespace DataExchange::Variant;
23using Memory::MakeSharedPtr;
33 virtual _SharedPtrIRep Clone ()
const override
35 return MakeSharedPtr<Rep_> ();
37 virtual optional<filesystem::path> GetDefaultFileSuffix ()
const override
43#if USE_NOISY_TRACE_IN_THIS_MODULE_
56#if USE_NOISY_TRACE_IN_THIS_MODULE_
62 using namespace IO::Network::UniformResourceIdentification;
63 constexpr auto kOpts_ = PCTEncodeOptions{};
67 buf.
push_back (Memory::SpanBytesCast<span<const byte>> (span<const char8_t>{PCTEncode (kvp.fKey, kOpts_)}));
69 buf.
push_back (Memory::SpanBytesCast<span<const byte>> (span<const char8_t>{PCTEncode (kvp.fValue, kOpts_)}));
92FormURLEncoded::Writer::Writer ()
99 Debug::UncheckedDynamicCast<Rep_&> (_GetRep ()).Write (m, out);
102Memory::BLOB FormURLEncoded::Writer::WriteAsBLOB (
const Association<String, String>& m)
#define AssertNotImplemented()
auto MakeSharedPtr(ARGS_TYPE &&... args) -> shared_ptr< T >
same as make_shared, but if type T has block allocation, then use block allocation for the 'shared pa...
conditional_t< qStroika_Foundation_Memory_PreferBlockAllocation and andTrueCheck, BlockAllocationUseHelper< T >, Common::Empty > UseBlockAllocationIfAppropriate
Use this to enable block allocation for a particular class. Beware of subclassing.
Simple variant-value (case variant union) object, with (variant) basic types analogous to a value in ...
nonvirtual RETURNTYPE As() const
Logically halfway between std::array and std::vector; Smart 'direct memory array' - which when needed...
nonvirtual void push_back(Common::ArgByValueType< T > e)
nonvirtual bool empty() const noexcept
OutputStream<>::Ptr is Smart pointer to a stream-based sink of data.
nonvirtual void Write(span< ELEMENT_TYPE2, EXTENT_2 > elts) const