diff options
Diffstat (limited to 'include/mglpp/system/MemoryMappedFile.hpp')
-rw-r--r-- | include/mglpp/system/MemoryMappedFile.hpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/mglpp/system/MemoryMappedFile.hpp b/include/mglpp/system/MemoryMappedFile.hpp new file mode 100644 index 0000000..508518a --- /dev/null +++ b/include/mglpp/system/MemoryMappedFile.hpp @@ -0,0 +1,30 @@ +#ifndef MGLPP_MEMORY_MAPPED_FILE_HPP +#define MGLPP_MEMORY_MAPPED_FILE_HPP + +extern "C" { +#include <mgl/system/fileutils.h> +} + +namespace mgl { + class MemoryMappedFile { + public: + struct LoadOptions { + bool readable; + bool writable; + }; + + MemoryMappedFile(); + ~MemoryMappedFile(); + + bool load(const char *filepath, LoadOptions load_options = { true, true }); + + void* data(); + size_t size(); + + const mgl_memory_mapped_file* internal_mapped_file() const; + private: + mgl_memory_mapped_file memory_mapped_file; + }; +} + +#endif /* MGLPP_MEMORY_MAPPED_FILE_HPP */ |