class EE::System::FileMapped

#include <filemapped.hpp>

class FileMapped {
public:
    // enums

    enum Mode;

    // construction

    FileMapped();
    FileMapped(const std::string& path, Mode mode = Mode::Read);
    FileMapped(const FileMapped&);
    FileMapped(FileMapped&& other);
    ~FileMapped();

    // methods

    FileMapped& operator=(const FileMapped&);
    FileMapped& operator=(FileMapped&& other);
    bool open(const std::string& path, Mode mode = Mode::Read);
    void close();
    bool flush();
    bool isOpen() const;
    bool isMapped() const;
    bool isReadWrite() const;
    const Uint8* data() const;
    Uint8* data();
    const char* cdata() const;
    char* cdata();
    std::string_view view() const;
    size_t size() const;
    bool empty() const;
    const std::string& getLastError() const;
};