Public Member Functions

fawkes::SharedMemory::SharedMemoryIterator Class Reference

Shared Memory iterator. More...

#include <>>

List of all members.

Public Member Functions

 SharedMemoryIterator ()
 Constructor.
 SharedMemoryIterator (const SharedMemoryIterator &shmit)
 Copy constructor.
 SharedMemoryIterator (const char *magic_token, SharedMemoryHeader *header)
 Constructor.
 ~SharedMemoryIterator ()
 Destructor.
SharedMemoryIteratoroperator++ ()
 Prefix increment.
SharedMemoryIterator operator++ (int inc)
 Postfix increment operator.
SharedMemoryIteratoroperator+ (unsigned int i)
 Advance by i steps.
SharedMemoryIteratoroperator+= (unsigned int i)
 Advance by i steps.
bool operator== (const SharedMemoryIterator &s) const
 Check iterators for equality.
bool operator!= (const SharedMemoryIterator &s) const
 Check iterators for inequality.
const SharedMemoryHeaderoperator* () const
 Get SharedMemoryHeader.
SharedMemoryIteratoroperator= (const SharedMemoryIterator &shmit)
 Make this instance point to the same segment as shmit.
const char * magic_token () const
 Get magic token.
int shmid () const
 Get shared memory ID.
int semaphore () const
 Get semaphore.
size_t segmsize () const
 Get segment size.
size_t segmnattch () const
 Get number of attached parties.
void * databuf () const
 Get pointer to data buffer.

Detailed Description

Shared Memory iterator.

This iterator is used to iterate over shared memory segments which satisfy some criterion. Use SharedMemory::find() and SharedMemory::list() to get the iterator.

Author:
Tim Niemueller

Definition at line 105 of file shm.h.


Constructor & Destructor Documentation

fawkes::SharedMemory::SharedMemoryIterator::SharedMemoryIterator (  ) 

Constructor.

Constructs invalid iterator.

Definition at line 1207 of file shm.cpp.

fawkes::SharedMemory::SharedMemoryIterator::SharedMemoryIterator ( const SharedMemoryIterator shmit  ) 

Copy constructor.

Parameters:
shmit shared memory iterator to copy

Definition at line 1225 of file shm.cpp.

References fawkes::SharedMemoryHeader::clone().

fawkes::SharedMemory::SharedMemoryIterator::SharedMemoryIterator ( const char *  magic_token,
SharedMemoryHeader header 
)

Constructor.

Parameters:
magic_token magic token
header shared memory header

Definition at line 1256 of file shm.cpp.

References fawkes::SharedMemoryHeader::clone().

fawkes::SharedMemory::SharedMemoryIterator::~SharedMemoryIterator (  ) 

Destructor.

Definition at line 1276 of file shm.cpp.

References fawkes::SharedMemory::free().


Member Function Documentation

void * fawkes::SharedMemory::SharedMemoryIterator::databuf (  )  const

Get pointer to data buffer.

Returns:
data buffer

Definition at line 1549 of file shm.cpp.

Referenced by fawkes::SharedMemory::erase(), fawkes::SharedMemory::erase_orphaned(), and fawkes::SharedMemory::list().

const char * fawkes::SharedMemory::SharedMemoryIterator::magic_token (  )  const

Get magic token.

Returns:
magic token.

Definition at line 1499 of file shm.cpp.

bool fawkes::SharedMemory::SharedMemoryIterator::operator!= ( const SharedMemoryIterator s  )  const

Check iterators for inequality.

Parameters:
s iterator to compare to
Returns:
true if iteraters point to the same shared memory segment, false otherwise

Definition at line 1445 of file shm.cpp.

const SharedMemoryHeader * fawkes::SharedMemory::SharedMemoryIterator::operator* (  )  const

Get SharedMemoryHeader.

Returns:
shared memory header

Definition at line 1455 of file shm.cpp.

SharedMemory::SharedMemoryIterator & fawkes::SharedMemory::SharedMemoryIterator::operator+ ( unsigned int  i  ) 

Advance by i steps.

Parameters:
i number of (matching) segments to advance.
Returns:
reference to this after advancing

Definition at line 1406 of file shm.cpp.

SharedMemory::SharedMemoryIterator fawkes::SharedMemory::SharedMemoryIterator::operator++ ( int  inc  ) 

Postfix increment operator.

Parameters:
inc ignored
Returns:
instance before advancing to the next shared memory segment

Definition at line 1393 of file shm.cpp.

SharedMemory::SharedMemoryIterator & fawkes::SharedMemory::SharedMemoryIterator::operator++ (  ) 
SharedMemory::SharedMemoryIterator & fawkes::SharedMemory::SharedMemoryIterator::operator+= ( unsigned int  i  ) 

Advance by i steps.

Parameters:
i number of (matching) segments to advance.
Returns:
reference to this after advancing

Definition at line 1420 of file shm.cpp.

SharedMemory::SharedMemoryIterator & fawkes::SharedMemory::SharedMemoryIterator::operator= ( const SharedMemoryIterator shmit  ) 

Make this instance point to the same segment as shmit.

Parameters:
shmit shared memory iterator
Returns:
reference to this instance

Definition at line 1466 of file shm.cpp.

References fawkes::SharedMemoryHeader::clone().

bool fawkes::SharedMemory::SharedMemoryIterator::operator== ( const SharedMemoryIterator s  )  const

Check iterators for equality.

Parameters:
s iterator to compare to
Returns:
true if iterators point to the same shared memory segment, false otherwise

Definition at line 1434 of file shm.cpp.

size_t fawkes::SharedMemory::SharedMemoryIterator::segmnattch (  )  const

Get number of attached parties.

Returns:
number of attached parties

Definition at line 1539 of file shm.cpp.

Referenced by fawkes::SharedMemory::erase_orphaned().

size_t fawkes::SharedMemory::SharedMemoryIterator::segmsize (  )  const

Get segment size.

Returns:
segment size

Definition at line 1529 of file shm.cpp.

Referenced by fawkes::SharedMemory::erase(), fawkes::SharedMemory::erase_orphaned(), and fawkes::SharedMemory::list().

int fawkes::SharedMemory::SharedMemoryIterator::semaphore (  )  const

Get semaphore.

Returns:
semaphore

Definition at line 1519 of file shm.cpp.

Referenced by fawkes::SharedMemory::erase(), fawkes::SharedMemory::erase_orphaned(), and fawkes::SharedMemory::list().

int fawkes::SharedMemory::SharedMemoryIterator::shmid (  )  const

Get shared memory ID.

Returns:
shared memory ID

Definition at line 1509 of file shm.cpp.

Referenced by fawkes::SharedMemory::erase(), fawkes::SharedMemory::erase_orphaned(), and fawkes::SharedMemory::list().


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