PLCnext API Documentation
22.9.0.33
|
Classes | |
class | Allocator |
class | Mutex |
class | NullMutex |
class | ScopedLock |
Public Types | |
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. More... | |
Static Public Member Functions | |
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) |
![]() | |
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) |
Gets a pointer to the singleton instance. More... | |
static void | DisposeInstance (void) |
Disposes this singleton instance. More... | |
Protected Member Functions | |
SharedData (size_t memorySize) | |
![]() | |
AppDomainSingleton (void)=default | |
The protected default constructor. More... | |
~AppDomainSingleton (void)=default | |
The protected default destructor. More... | |
Friends | |
template<class T > | |
class | Allocator |
Additional Inherited Members | |
![]() | |
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. More... | |
void | Remove (void) |
Removes the shared memory from the system. More... | |
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 , typename ... TArgs> | |
Ptr< T > | ConstructUnnamed (TArgs... args) |
Creates an unnamed 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... | |
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. More... | |
bool | AllMemoryDeallocated (void) |
Checks if all memory has been deallocated. More... | |
bool | CheckSanity (void) |
Performs a sanity check over the shared memory. More... | |
![]() | |
typedef AppDomainSingleton< Derived > | SingletonBase |
Defines this type to be used from derived classes. More... | |
![]() | |
Arp::String | memoryName |
Name of memory identifying the shared memory inside the operating system. More... | |
SharedMemoryImpl | sharedMemoryImpl |
Actual implementation of the shared memory functionality. More... | |