class hiro::Exportable

Overview

Object whose state can be written to and read from stream. More…

#include <Exportable.h>

class Exportable {
public:
    // methods

    static bool ReadVersion(std::istream& str, uint32_t expected_version);
    static void WriteVersion(std::ostream& str, uint32_t version);
    virtual bool ReadFromStream(std::istream& str);
    virtual void WriteToStream(std::ostream& str) const;
    hiro::Exportable& operator>>(std::istream& str);
    hiro::Exportable& operator<<(std::ostream& str);
};

Detailed Documentation

Object whose state can be written to and read from stream.

Methods

static bool ReadVersion(std::istream& str, uint32_t expected_version)

Helper function for reading version number from input stream.

Parameters:

str

Stream to read version number from.

expected_version

Version number to compare stream version number to.

Returns:

Whether the version in file is equal to the expected_version.

static void WriteVersion(std::ostream& str, uint32_t version)

Helper function for writing version number to output stream.

Parameters:

str

Stream to write version number to.

version

Version number to write to stream.

virtual bool ReadFromStream(std::istream& str)

Override this method to specify custom data to be loaded.

virtual void WriteToStream(std::ostream& str) const

Override this method to specify custom data to be stored.