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.
|
| |
| void | initialize (void) |
| | Initialize typed data in mapped array.
|
| |
| | mapped_array (const char *name, unsigned number) |
| | Construct mapped vector array of typed objects.
|
| |
| unsigned | max (void) const |
| | Get member size of typed objects that can be held in mapped vector.
|
| |
| T * | operator() (unsigned member) |
| | Get typed pointer to member object of vector in mapped segment.
|
| |
| T * | operator() (void) |
| | Allocate mapped space for one object.
|
| |
| T & | operator[] (unsigned member) |
| | Reference typed object of vector in mapped segment.
|
| |
| caddr_t | addr (void) |
| | Get starting address of mapped segment.
|
| |
| bool | copy (size_t offset, void *buffer, size_t size) const |
| | Copy memory from specific offset within the mapped memory segment.
|
| |
| size_t | len (void) const |
| | Get size of mapped segment.
|
| |
| | MappedMemory (const char *name) |
| | Provide read-only mapped access to an existing named shared memory segment.
|
| |
| | MappedMemory (const char *name, size_t size) |
| | Construct a read/write access mapped shared segment of memory of a known size.
|
| |
| void * | offset (size_t offset) const |
| | Get memory from a specific offset within the mapped memory segment.
|
| |
| | operator bool () const |
| | Test if map active.
|
| |
| bool | operator! () const |
| | Test if map is inactive.
|
| |
|
void | release (void) |
| | Unmap memory segment.
|
| |
| void * | sbrk (size_t size) |
| | Extend size of managed heap on shared memory segment.
|
| |
|
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.
|
| |
|
| static void | disable (void) |
| | An API that allows "disabling" of publishing shared memory maps.
|
| |
| static void | remove (const char *name) |
| | Destroy a previously existing memory segment under the specified name.
|
| |
| 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() [1/2]
◆ mapped_array() [2/2]
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.
◆ create()
◆ 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:
- /builddir/build/BUILD/commoncpp-7.0.1/inc/ucommon/mapped.h