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 optional<filesystem::path> GetDefaultFileSuffix ()
const override
39#if USE_NOISY_TRACE_IN_THIS_MODULE_
52#if USE_NOISY_TRACE_IN_THIS_MODULE_
58 using namespace IO::Network::UniformResourceIdentification;
59 constexpr auto kOpts_ = PCTEncodeOptions{};
63 buf.
push_back (Memory::SpanBytesCast<span<const byte>> (span<const char8_t>{PCTEncode (kvp.fKey, kOpts_)}));
65 buf.
push_back (Memory::SpanBytesCast<span<const byte>> (span<const char8_t>{PCTEncode (kvp.fValue, kOpts_)}));
88FormURLEncoded::Writer::Writer ()
93void FormURLEncoded::Writer::Write (
const Association<String, String>& m,
const OutputStream::Ptr<byte>& out)
const
95 Debug::UncheckedDynamicCast<const Rep_&> (_ConstGetRep ()).Write (m, out);
98Memory::BLOB FormURLEncoded::Writer::WriteAsBLOB (
const Association<String, String>& m)
const
#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.
A Mapping uniquely associates two elements: a key and a value (use Assocation to allow multiple value...
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