4#include "Stroika/Foundation/StroikaPreComp.h"
6#include "Stroika/Foundation/Streams/TextToBinary.h"
13using namespace Stroika::Foundation::Streams;
18using namespace DataExchange::Variant;
27 Rep_ (
const Options& options)
31 virtual _SharedPtrIRep Clone ()
const override
33 return make_shared<Rep_> (fOptions_);
35 virtual optional<filesystem::path> GetDefaultFileSuffix ()
const override
41 Write (v, TextToBinary::Writer::New (out, UnicodeExternalEncodings::eUTF8, ByteOrderMark::eDontInclude));
45#if USE_NOISY_TRACE_IN_THIS_MODULE_
54#if USE_NOISY_TRACE_IN_THIS_MODULE_
63#if USE_NOISY_TRACE_IN_THIS_MODULE_
69 if (i + 1 != line.
end ()) {
70 sb << fOptions_.fSeparator;
71 if (fOptions_.fSpaceSeparate) {
83CharacterDelimitedLines::Writer::Writer (
const Options& options)
84 : inherited{make_shared<Rep_> (options)}
90 return Write (m, Streams::TextToBinary::Writer::New (out));
95 Debug::UncheckedDynamicCast<Rep_&> (_GetRep ()).Write (m, out);
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.
Similar to String, but intended to more efficiently construct a String. Mutable type (String is large...
String is like std::u32string, except it is much easier to use, often much more space efficient,...
A generalization of a vector: a container whose elements are keyed by the natural numbers.
nonvirtual RESULT_CONTAINER Map(ELEMENT_MAPPER &&elementMapper) const
'override' Iterable<>::Map () function so RESULT_CONTAINER defaults to Sequence, and improve that cas...
Simple variant-value (case variant union) object, with (variant) basic types analogous to a value in ...
OutputStream<>::Ptr is Smart pointer to a stream-based sink of data.
nonvirtual void WriteLn(ELT_2_WRITE &&arg) const
Iterable<T> is a base class for containers which easily produce an Iterator<T> to traverse them.
nonvirtual Iterator< T > begin() const
Support for ranged for, and STL syntax in general.
static constexpr default_sentinel_t end() noexcept
Support for ranged for, and STL syntax in general.
An Iterator<T> is a copyable object which allows traversing the contents of some container....