UCommon
Public Member Functions
ucommon::mapped_view< T > Class Template Reference

Class to access a named mapped segment published from another process. More...

#include <mapped.h>

Inheritance diagram for ucommon::mapped_view< T >:
Inheritance graph
[legend]
Collaboration diagram for ucommon::mapped_view< T >:
Collaboration graph
[legend]

Public Member Functions

void copy (unsigned member, T *buffer)
volatile T * get (unsigned member)
unsigned getCount (void)
 Get count of typed member objects held in this map.
 mapped_view (char *name)
 Map existing named memory segment.
volatile T * operator() (unsigned member)
 Access typed member object in the mapped segment.
volatile T & operator[] (unsigned member)
 Reference typed member object in the mapped segment.

Additional Inherited Members

- Protected Member Functions inherited from ucommon::MappedMemory
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.
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.
- Static Protected Member Functions inherited from ucommon::MappedMemory
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.

Detailed Description

template<class T>
class ucommon::mapped_view< T >

Class to access a named mapped segment published from another process.

This offers a simple typed vector interface to access the shared memory segment in read-only mode.

Author:
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org

Definition at line 463 of file mapped.h.


Constructor & Destructor Documentation

template<class T >
ucommon::mapped_view< T >::mapped_view ( char *  name)
inline

Map existing named memory segment.

The size of the map is derived from the existing map alone.

Parameters:
nameof memory segment to map.

Definition at line 471 of file mapped.h.


Member Function Documentation

template<class T >
unsigned ucommon::mapped_view< T >::getCount ( void  )
inline

Get count of typed member objects held in this map.

Returns:
count of typed member objects.

Definition at line 500 of file mapped.h.

template<class T >
volatile T* ucommon::mapped_view< T >::operator() ( unsigned  member)
inline

Access typed member object in the mapped segment.

Parameters:
memberto access.
Returns:
typed object pointer.

Definition at line 479 of file mapped.h.

template<class T >
volatile T& ucommon::mapped_view< T >::operator[] ( unsigned  member)
inline

Reference typed member object in the mapped segment.

Parameters:
memberto access.
Returns:
typed object reference.

Definition at line 487 of file mapped.h.


The documentation for this class was generated from the following file: