class Poco::SharedMemory
Overview
Create and manage a shared memory object. Moreā¦
#include <SharedMemory.h> class SharedMemory { public: // enums enum AccessMode; // construction SharedMemory(); SharedMemory( const std::string& name, std::size_t size, AccessMode mode, const void* addrHint = 0, bool server = true ); SharedMemory( const File& file, AccessMode mode, const void* addrHint = 0 ); SharedMemory(const SharedMemory& other); // methods SharedMemory& operator=(const SharedMemory& other); void swap(SharedMemory& other); char* begin() const; char* end() const; };
Detailed Documentation
Create and manage a shared memory object.
A SharedMemory object has value semantics, but is implemented using a handle/implementation idiom. Therefore, multiple SharedMemory objects can share a single, reference counted SharedMemoryImpl object.
Construction
SharedMemory()
Default constructor creates an unmapped SharedMemory object.
No clients can connect to an unmapped SharedMemory object.
SharedMemory( const std::string& name, std::size_t size, AccessMode mode, const void* addrHint = 0, bool server = true )
Creates or connects to a shared memory object with the given name.
For maximum portability, name should be a valid Unix filename and not contain any slashes or backslashes.
An address hint can be passed to the system, specifying the desired start address of the shared memory area. Whether the hint is actually honored is, however, up to the system. Windows platform will generally ignore the hint.
If server is set to true, the shared memory region will be unlinked by calling shm_unlink() (on POSIX platforms) when the SharedMemory object is destroyed. The server parameter is ignored on Windows platforms.
SharedMemory( const File& file, AccessMode mode, const void* addrHint = 0 )
Maps the entire contents of file into a shared memory segment.
An address hint can be passed to the system, specifying the desired start address of the shared memory area. Whether the hint is actually honored is, however, up to the system. Windows platform will generally ignore the hint.
SharedMemory(const SharedMemory& other)
Creates a SharedMemory object by copying another one.
Methods
SharedMemory& operator=(const SharedMemory& other)
Assigns another SharedMemory object.
void swap(SharedMemory& other)
Swaps the SharedMemory object with another one.
char* begin() const
Returns the start address of the shared memory segment.
Will be NULL for illegal segments.
char* end() const
Returns the one-past-end end address of the shared memory segment.
Will be NULL for illegal segments.