Template class to map typed vector into shared memory.
More...
#include <mapped.h>
|
void * | addLock (void) |
| Add mapped space while holding lock for one object. More...
|
|
void | initialize (void) |
| Initialize typed data in mapped array. More...
|
|
| mapped_array (const char *name, unsigned number) |
| Construct mapped vector array of typed objects. More...
|
|
unsigned | max (void) const |
| Get member size of typed objects that can be held in mapped vector. More...
|
|
T * | operator() (unsigned member) |
| Get typed pointer to member object of vector in mapped segment. More...
|
|
T * | operator() (void) |
| Allocate mapped space for one object. More...
|
|
T & | operator[] (unsigned member) |
| Reference typed object of vector in mapped segment. More...
|
|
caddr_t | addr (void) |
| Get starting address of mapped segment. More...
|
|
bool | copy (size_t offset, void *buffer, size_t size) const |
| Copy memory from specific offset within the mapped memory segment. More...
|
|
size_t | len (void) const |
| Get size of mapped segment. More...
|
|
| MappedMemory (const char *name, size_t size) |
| Construct a read/write access mapped shared segment of memory of a known size. More...
|
|
| MappedMemory (const char *name) |
| Provide read-only mapped access to an existing named shared memory segment. More...
|
|
void * | offset (size_t offset) const |
| Get memory from a specific offset within the mapped memory segment. More...
|
|
| operator bool () const |
| Test if map active. More...
|
|
bool | operator! () const |
| Test if map is inactive. More...
|
|
void | release (void) |
| Unmap memory segment.
|
|
void * | sbrk (size_t size) |
| Extend size of managed heap on shared memory segment. More...
|
|
virtual | ~MappedMemory () |
| Unmap memory segment.
|
|
|
void | create (const char *fn, unsigned members) |
|
void | create (const char *name, size_t size=(size_t) 0) |
| Supporting function to construct a new or access an existing shared memory segment. More...
|
|
|
static void | disable (void) |
| An API that allows "disabling" of publishing shared memory maps. More...
|
|
static void | remove (const char *name) |
| Destroy a previously existing memory segment under the specified name. More...
|
|
bool | erase |
|
char | idname [65] |
|
size_t | size |
|
size_t | used |
|
template<class T>
class ucommon::mapped_array< T >
Template class to map typed vector into shared memory.
This is used to construct a typed read/write vector of objects that are held in a named shared memory segment.
- Author
- David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
Definition at line 271 of file mapped.h.
◆ mapped_array()
Construct mapped vector array of typed objects.
This is constructed for read/write access. mapped_view is used in all cases for read-only access to mapped data. Member objects are linearly allocated from the shared memory segment, or may simply be directly accessed by offset.
- Parameters
-
name | of mapped segment to construct. |
number | of objects in the mapped vector. |
Definition at line 291 of file mapped.h.
◆ addLock()
Add mapped space while holding lock for one object.
- Returns
- address of object.
Definition at line 305 of file mapped.h.
◆ initialize()
Initialize typed data in mapped array.
Assumes default constructor for type.
Definition at line 298 of file mapped.h.
◆ max()
Get member size of typed objects that can be held in mapped vector.
- Returns
- members mapped in segment.
Definition at line 335 of file mapped.h.
◆ operator()() [1/2]
Get typed pointer to member object of vector in mapped segment.
- Parameters
-
- Returns
- typed pointer or NULL if past end of array.
Definition at line 313 of file mapped.h.
◆ operator()() [2/2]
Allocate mapped space for one object.
- Returns
- address of object.
Definition at line 320 of file mapped.h.
◆ operator[]()
Reference typed object of vector in mapped segment.
- Parameters
-
- Returns
- typed reference.
Definition at line 328 of file mapped.h.
The documentation for this class was generated from the following file: