peerplays-fc/include/fc/interprocess/file_mapping.hpp

39 lines
826 B
C++
Raw Normal View History

2012-12-30 23:14:27 +00:00
#pragma once
#include <fc/fwd.hpp>
#include <fc/utility.hpp>
namespace boost {
namespace interprocess {
class file_mapping;
class mapped_region;
}
}
namespace fc {
enum mode_t {
read_only,
write_only,
read_write
};
class file_mapping {
public:
file_mapping( const char* file, mode_t );
~file_mapping();
private:
friend class mapped_region;
2012-12-03 19:51:31 +00:00
fc::fwd<boost::interprocess::file_mapping,0x24> my;
};
class mapped_region {
public:
mapped_region( const file_mapping& fm, mode_t m, uint64_t start, size_t size );
mapped_region( const file_mapping& fm, mode_t m );
~mapped_region();
2013-01-27 15:24:11 +00:00
void flush();
void* get_address()const;
size_t get_size()const;
private:
fc::fwd<boost::interprocess::mapped_region,40> my;
};
}