Sese Framework  3.0.0
A cross-platform framework
Loading...
Searching...
No Matches
sese::system::SharedMemory Class Referencefinal

Shared Memory Class. More...

#include <SharedMemory.h>

Classes

class  Impl
 

Public Types

using Ptr = std::unique_ptr<SharedMemory>
 

Public Member Functions

 ~SharedMemory () noexcept
 
void * getBuffer () const noexcept
 

Static Public Member Functions

static Ptr create (const char *name, size_t size) noexcept
 
static Result< Ptr, ErrorCodecreateEx (const char *name, size_t size) noexcept
 
static Ptr use (const char *name) noexcept
 
static Result< Ptr, ErrorCodeuseEx (const char *name) noexcept
 

Private Member Functions

 SharedMemory (std::unique_ptr< Impl > impl) noexcept
 

Private Attributes

std::unique_ptr< Implimpl
 

Detailed Description

Shared Memory Class.

Member Typedef Documentation

◆ Ptr

Constructor & Destructor Documentation

◆ ~SharedMemory()

SharedMemory::~SharedMemory ( )
noexcept

◆ SharedMemory()

SharedMemory::SharedMemory ( std::unique_ptr< Impl > impl)
explicitprivatenoexcept

Member Function Documentation

◆ create()

SharedMemory::Ptr SharedMemory::create ( const char * name,
size_t size )
staticnoexcept

Create a shared memory block

Parameters
nameShared memory name
sizeShared memory size
Returns
Pointer to the shared memory object
Return values
nullptrCreation failed

References MAKE_UNIQUE_PRIVATE.

Referenced by sese::system::IPCChannel::create().

◆ createEx()

sese::Result< sese::system::SharedMemory::Ptr, sese::ErrorCode > sese::system::SharedMemory::createEx ( const char * name,
size_t size )
staticnoexcept

◆ getBuffer()

void * SharedMemory::getBuffer ( ) const
noexcept

Get the actual address of the shared memory

Returns
Shared memory block

References impl.

◆ use()

SharedMemory::Ptr SharedMemory::use ( const char * name)
staticnoexcept

Use an existing shared memory block

Parameters
nameShared memory name
Returns
Pointer to the shared memory object
Return values
nullptrAcquisition failed

References MAKE_UNIQUE_PRIVATE.

Referenced by sese::system::IPCChannel::use().

◆ useEx()

sese::Result< sese::system::SharedMemory::Ptr, sese::ErrorCode > sese::system::SharedMemory::useEx ( const char * name)
staticnoexcept

Member Data Documentation

◆ impl

std::unique_ptr<Impl> sese::system::SharedMemory::impl
private

Referenced by getBuffer().


The documentation for this class was generated from the following files: