vimpunk / mio

Cross-platform C++11 header-only library for memory mapped file IO

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to change content in read-write mode ?

meftunca opened this issue · comments

How to change content in read-write mode ?

Please check the source code for type aliases

/**
 * This is the basis for all read-only mmap objects and should be preferred over
 * directly using `basic_mmap`.
 */
template<typename ByteT>
using basic_mmap_source = basic_mmap<access_mode::read, ByteT>;

/**
 * This is the basis for all read-write mmap objects and should be preferred over
 * directly using `basic_mmap`.
 */
template<typename ByteT>
using basic_mmap_sink = basic_mmap<access_mode::write, ByteT>;

//......

/**
 * This is the basis for all read-only mmap objects and should be preferred over
 * directly using basic_shared_mmap.
 */
template<typename ByteT>
using basic_shared_mmap_source = basic_shared_mmap<access_mode::read, ByteT>;

/**
 * This is the basis for all read-write mmap objects and should be preferred over
 * directly using basic_shared_mmap.
 */
template<typename ByteT>
using basic_shared_mmap_sink = basic_shared_mmap<access_mode::write, ByteT>;

As long as you open your map in 'write' mode changing content happens auto-magically when you modify anything that the pointer returned by mio is pointing to. Thats the power of memory mapped file. The I/O happens transparently in the background