template class mrpt::serialization::CArchiveStreamBase

CArchive for mrpt::io::CStream classes (use as template argument).

See also:

Easier to use via function archiveFrom()

#include <mrpt/serialization/CArchive.h>

template <class STREAM>
class CArchiveStreamBase: public mrpt::serialization::CArchive
    // construction

    CArchiveStreamBase(STREAM& s);


    virtual std::string getArchiveDescription() const;

Inherited Members


    size_t ReadBuffer(void* Buffer, size_t Count);

    template <typename T>
    size_t ReadBufferFixEndianness(T* ptr, size_t ElementCount);

    void WriteBuffer(const void* Buffer, size_t Count);

    template <typename T>
    void WriteBufferFixEndianness(const T* ptr, size_t ElementCount);

    template <typename STORED_TYPE, typename CAST_TO_TYPE>
    void ReadAsAndCastTo(CAST_TO_TYPE& read_here);

    template <typename STORED_TYPE>
    STORED_TYPE ReadAs();

    void WriteObject(const CSerializable* o);
    CArchive& operator << (const std::monostate&);
    CSerializable::Ptr ReadObject();

    template <typename T>
    T::Ptr ReadObject();

    virtual std::string getArchiveDescription() const;

    template <typename... T>
    std::variant<T...> ReadVariant();

    template <typename T>
    void WriteVariant(T t);

    template <typename T>
    T ReadPOD();

    void ReadObject(CSerializable* existingObj);
    void sendMessage(const CMessage& msg);
    bool receiveMessage(CMessage& msg);
    CArchive& operator << (const CSerializable& obj);
    CArchive& operator << (const CSerializable::Ptr& pObj);
    CArchive& operator >> (CSerializable& obj);
    CArchive& operator >> (CSerializable::Ptr& pObj);


virtual std::string getArchiveDescription() const

If redefined in derived classes, allows finding a human-friendly description of the underlying stream (e.g.