5namespace Stroika::Foundation::DataExchange::Variant {
12 inline auto Writer::CloneAsShared_ (
const _IRep& t) -> _SharedPtrIRep
16 inline Writer::Writer (
const shared_ptr<_IRep>& rep)
20 inline optional<filesystem::path> Writer::GetDefaultFileSuffix ()
const
22 return fRep_->GetDefaultFileSuffix ();
26 fRep_->Write (v, out);
30 fRep_->Write (v, out);
34 Write (v, _WrapBinaryOutput (out));
38 Write (v, _WrapTextOutput (out));
40 inline Writer::_IRep& Writer::_GetRep ()
43 return *fRep_.
rwget ();
45 inline const Writer::_IRep& Writer::_GetRep ()
const
48 return *fRep_.
cget ();
50 inline Streams::OutputStream::Ptr<byte> _WrapBinaryOutput (
const Streams::OutputStream::Ptr<byte>& out)
54 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.