|
using | Base = SharedMemory |
|
using | DerivedType = Derived |
|
using | SingletonBase = AppDomainSingleton< Derived > |
|
using | SharedMemory = boost::interprocess::managed_shared_memory |
|
using | SegmentManager = SharedMemory::segment_manager |
|
using | SharedMemoryPermission = boost::interprocess::permissions |
|
template<class T > |
using | Ptr = boost::interprocess::offset_ptr< T > |
|
template<class T > |
using | ConstPtr = boost::interprocess::offset_ptr< const T > |
|
using | String = boost::interprocess::basic_string< char, std::char_traits< char >, Allocator< char > > |
|
template<class T > |
using | vector = boost::interprocess::vector< T, Allocator< T > > |
|
template<class T > |
using | list = boost::interprocess::list< T, Allocator< T > > |
|
template<class TKey , class T , class TCompare = std::less<TKey>> |
using | map = boost::interprocess::map< TKey, T, TCompare, Allocator< std::pair< const TKey, T > > > |
|
template<class T , class TCompare = std::less<T>> |
using | set = boost::interprocess::set< T, TCompare, Allocator< T > > |
|
typedef boost::interprocess::managed_shared_memory | SharedMemoryImpl |
|
typedef SharedMemoryImpl::segment_manager | SegmentManager |
|
typedef boost::interprocess::permissions | SharedMemoryPermission |
|
template<class T > |
using | Ptr = boost::interprocess::offset_ptr< T > |
| Returned pointer types are shared memory based offset pointer.
|
|
|
static ARP_CXX_SYMBOL_EXPORT void | CreateInstance (size_t memorySize) |
|
static void | OpenInstance (void) |
|
static void | CloseInstance (bool removeMemory=false) |
|
static void | Remove (void) |
|
static void | WaitInstance (const char *waitMessage, uint32 timeout=-1) |
|
Static Public Member Functions inherited from Arp::AppDomainSingleton< Derived > |
template<class T = Instance, class ... Args> |
static Derived & | CreateInstance (Args &&... args) |
| Creates this singleton instance. More...
|
|
static bool | IsCreated (void) |
| Determines if this singleton instance is created yet. More...
|
|
static Derived & | GetInstance (void) |
| Gets a reference of the singleton instance. More...
|
|
static Derived * | GetInstancePtr (void) |
| Depreacated! Gets a pointer to the singleton instance. More...
|
|
static void | DisposeInstance (void) |
| Disposes this singleton instance. More...
|
|
|
| SharedMemory (const char *name) |
| Opens an existing shared memory. More...
|
|
| SharedMemory (const char *name, size_t memorySize) |
| Creates an non-existing instance, throws if yet exists. More...
|
|
| ~SharedMemory (void)=default |
| Deallocates the memory for this management object but not the memory shared between processes.
|
|
void | Remove (void) |
| Removes the shared memory from the system.
|
|
const Arp::String & | GetName (void) const |
| Returns the name of the memory object. More...
|
|
size_t | GetSize (void) const |
| Returns the capacity of the shared memory in bytes. More...
|
|
byte * | Allocate (size_t size) |
| Tries to allocate size amount of bytes in the memory. More...
|
|
void | Deallocate (byte *pMemory) |
| Marks the memory pointed to by pMemory available for new allocation requests. More...
|
|
template<class T > |
Ptr< T > | Get (const char *name) |
| Tries to find a previously allocated named object. More...
|
|
template<class T , typename ... TArgs> |
Ptr< T > | GetOrConstruct (const char *name, TArgs... args) |
| Tries to find object identified by name , creates a new one if the object does not exists yet. More...
|
|
template<class T , typename ... TArgs> |
Ptr< T > | Construct (const char *name, TArgs... args) |
| Creates a named object in the shared memory. More...
|
|
template<class T > |
void | Destroy (const char *name) |
| Deallocates the object in the shared memory, also calling the objects destructor. More...
|
|
template<class T , typename ... TArgs> |
Ptr< T > | ConstructUnnamed (TArgs... args) |
| Creates an unnamed object in the shared memory. More...
|
|
template<class T > |
void | DestroyUnnamed (SharedMemory::Ptr< T > ptr) |
| Deallocates the unnamed object in the shared memory, also calling the objects destructor. More...
|
|
size_t | GetFreeMemory (void) const |
| Obtain the number of free bytes in the shared memory. More...
|
|
void | ZeroFreeMemory (void) |
| Writes zero in all bytes not yet allocated.
|
|
bool | AllMemoryDeallocated (void) |
| Checks if all memory has been deallocated. More...
|
|
bool | CheckSanity (void) |
| Performs a sanity check over the shared memory. More...
|
|
Protected Types inherited from Arp::AppDomainSingleton< Derived > |
typedef AppDomainSingleton< Derived > | SingletonBase |
| Defines this type to be used from derived classes.
|
|
Arp::String | memoryName |
| Name of memory identifying the shared memory inside the operating system.
|
|
SharedMemoryImpl | sharedMemoryImpl |
| Actual implementation of the shared memory functionality.
|
|