5namespace Stroika::Foundation::DataExchange::Variant {
12 inline Writer::_SharedPtrIRep Writer::_Rep_Cloner::operator() (
const _IRep& t)
const
22 inline Writer::Writer (
const shared_ptr<_IRep>& rep)
26 inline optional<filesystem::path> Writer::GetDefaultFileSuffix ()
const
28 return fRep_->GetDefaultFileSuffix ();
32 fRep_->Write (v, out);
36 fRep_->Write (v, out);
40 Write (v, _WrapBinaryOutput (out));
44 Write (v, _WrapTextOutput (out));
46 inline Writer::_IRep& Writer::_GetRep ()
49 return *fRep_.
rwget ();
51 inline const Writer::_IRep& Writer::_GetRep ()
const
54 return *fRep_.
cget ();
56 inline Streams::OutputStream::Ptr<byte> _WrapBinaryOutput (
const Streams::OutputStream::Ptr<byte>& out)
60 inline Streams::OutputStream::Ptr<Characters::Character> _WrapTextOutput (
const Streams::OutputStream::Ptr<Characters::Character>& out)
nonvirtual void Write(const VariantValue &v, const Streams::OutputStream::Ptr< byte > &out) const
Simple variant-value (case variant union) object, with (variant) basic types analogous to a value in ...
nonvirtual const element_type * cget() const noexcept
nonvirtual element_type * rwget()
OutputStream<>::Ptr is Smart pointer to a stream-based sink of data.