Template class to map typed vector into shared memory.
More...
#include <mapped.h>
Public Member Functions |
void * | addLock (void) |
| Add mapped space while holding lock for one object.
|
unsigned | getSize (void) |
| Get member size of typed objects that can be held in mapped vector.
|
void | initialize (void) |
| Initialize typed data in mapped array.
|
| mapped_array (char *name, unsigned number) |
| Construct mapped vector array of typed objects.
|
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.
|
void | copy (size_t offset, void *buffer, size_t size) |
| Copy memory from specific offset within the mapped memory segment.
|
caddr_t | getStart (void) |
| Get starting address of mapped segment.
|
size_t | len (void) |
| Get size of mapped segment.
|
| MappedMemory (char *name, size_t size) |
| Construct a read/write access mapped shared segment of memory of a known size.
|
| MappedMemory (char *name) |
| Provide read-only mapped access to an existing named shared memory segment.
|
void * | offset (size_t offset) |
| Get memory from a specific offset within the mapped memory segment.
|
| operator bool () |
| Test if map active.
|
bool | operator! () |
| 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.
|
Protected Member Functions |
void | create (char *fn, unsigned members) |
void | create (char *name, size_t size=(size_t) 0) |
| Supporting function to construct a new or access an existing shared memory segment.
|
virtual void | fault (void) |
| Handler to invoke in derived class when accessing outside the shared memory segment boundary.
|
Additional Inherited Members |
static void | disable (void) |
| An API that allows "disabling" of publishing shared memory maps.
|
static void | remove (char *name) |
| Destroy a previously existing memory segment under the specified name.
|
bool | erase |
char | idname [65] |
size_t | size |
size_t | used |
Detailed Description
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.
Constructor & Destructor Documentation
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 288 of file mapped.h.
Member Function Documentation
Add mapped space while holding lock for one object.
- Returns
- address of object.
Definition at line 302 of file mapped.h.
Get member size of typed objects that can be held in mapped vector.
- Returns
- members mapped in segment.
Definition at line 332 of file mapped.h.
Initialize typed data in mapped array.
Assumes default constructor for type.
Definition at line 295 of file mapped.h.
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 310 of file mapped.h.
Allocate mapped space for one object.
- Returns
- address of object.
Definition at line 317 of file mapped.h.
Reference typed object of vector in mapped segment.
- Parameters
-
- Returns
- typed reference.
Definition at line 325 of file mapped.h.
The documentation for this class was generated from the following file: