#pragma once #include #include #include #include #include #include typedef boost::interprocess::managed_mapped_file mapped_file_t; typedef boost::interprocess::managed_shared_memory shared_memory_t; template class Segment { public: typedef segment segment_t; typedef typename segment_t::segment_manager segment_manager_t; public: Segment(const char* name, size_t size) : m_name(name), m_size(size), m_segment(boost::interprocess::open_or_create, m_name.c_str(), m_size) { } segment_t& operator()() { return m_segment; } /* ...省略 */ private: std::string m_name; size_t m_size; segment_t m_segment; }; typedef Segment MapedFile; typedef Segment SharedMemory;