16 #include <string_view> 40 virtual explicit operator int32_t()
const = 0;
41 virtual explicit operator uint32_t()
const = 0;
42 virtual explicit operator int64_t()
const = 0;
43 virtual explicit operator uint64_t()
const = 0;
44 virtual explicit operator float()
const = 0;
45 virtual explicit operator double()
const = 0;
46 virtual explicit operator bool()
const = 0;
47 virtual explicit operator std::string()
const = 0;
86 pimpl->setParent(
this);
97 return (*pimpl).operator=(
val);
101 return (*pimpl).operator=(
val);
105 return (*pimpl).operator=(
val);
109 return (*pimpl).operator=(
val);
113 return (*pimpl).operator=(
val);
117 return (*pimpl).operator=(
val);
121 return (*pimpl).operator=(
val);
125 return (*pimpl).operator=(
val);
129 explicit operator int32_t()
const {
return static_cast<int32_t
>(*pimpl); }
130 explicit operator uint32_t()
const {
return static_cast<uint32_t
>(*pimpl); }
131 explicit operator int64_t()
const {
return static_cast<int64_t
>(*pimpl); }
132 explicit operator uint64_t()
const {
return static_cast<uint64_t
>(*pimpl); }
133 explicit operator float()
const {
return static_cast<float>(*pimpl); }
134 explicit operator double()
const {
return static_cast<double>(*pimpl); }
135 explicit operator bool()
const {
return static_cast<bool>(*pimpl); }
136 explicit operator std::string()
const 138 return static_cast<std::string
>(*pimpl);
143 return (*pimpl).operator=(obj);
148 return (*pimpl).operator[](
val);
153 return (*pimpl).operator[](
val);
170 std::unique_ptr<CSchemeArchiveBase_impl>
pimpl;
183 a.
pimpl->readFromStream(in);
virtual ~CSchemeArchiveBase_impl()=default
CSchemeArchiveBase & operator=(const int32_t val)
virtual void serializeTo(CArchive &out) const =0
Pure virtual method for writing (serializing) to an abstract archive.
CSchemeArchiveBase & operator=(const float val)
virtual std::ostream & writeToStream(std::ostream &out) const =0
Writes the scheme to a plain-text output.
Pure virtual class carrying the implementation of CSchemeArchiveBase as per the PIMPL idiom...
friend std::ostream & operator<<(std::ostream &out, const CSchemeArchiveBase &a)
static void ReadObject(CSchemeArchiveBase &out, const CSerializable &obj)
virtual void serializeFrom(CArchive &in, uint8_t serial_version)=0
Pure virtual method for reading (deserializing) from an abstract archive.
spimpl::impl_ptr< T > pimpl
CSchemeArchiveBase & operator=(const std::string val)
void WriteObject(CSchemeArchiveBase &in, CSerializable &obj)
virtual ~CSchemeArchiveBase()=default
CSchemeArchiveBase & operator=(const uint32_t val)
CSchemeArchiveBase & operator=(const mrpt::serialization::CSerializable &obj)
Virtual base class for "schematic archives" (JSON, XML,...)
virtual CSchemeArchiveBase operator[](size_t)=0
virtual std::istream & readFromStream(std::istream &in)=0
Reads the scheme from a plain-text input.
friend std::istream & operator>>(std::istream &in, CSchemeArchiveBase &a)
CSchemeArchiveBase(CSchemeArchiveBase &&o)
CSchemeArchiveBase & operator=(const std::nullptr_t val)
CSchemeArchiveBase * m_parent
CSchemeArchiveBase & operator=(const int64_t val)
CArchive & operator>>(CArchive &s, mrpt::aligned_std_vector< float > &a)
void setParent(CSchemeArchiveBase *parent)
CSchemeArchiveBase(std::unique_ptr< CSchemeArchiveBase_impl > ptr)
CSchemeArchiveBase operator[](std::string val)
mrpt::vision::TStereoCalibResults out
CSchemeArchiveBase & operator=(bool val)
void readTo(CSerializable &obj)
CArchive & operator<<(CArchive &s, const mrpt::aligned_std_vector< float > &a)
virtual void readTo(CSerializable &obj)=0
Reads object from the archive.
The virtual base class which provides a unified interface for all persistent objects in MRPT...
CSchemeArchiveBase operator[](size_t val)
static void WriteObject(CSchemeArchiveBase &in, CSerializable &obj)
CSchemeArchiveBase & operator=(const double val)
std::unique_ptr< CSchemeArchiveBase_impl > pimpl
virtual CSchemeArchiveBase & operator=(const int32_t)=0
CSchemeArchiveBase & operator=(const uint64_t val)
void ReadObject(CSchemeArchiveBase &out, const CSerializable &obj)