A class for managing a pointer first-in(3) first-out queue.

Other Alias

SbFifo

SYNOPSIS


#include <Inventor/threads/SbFifo.h>

Public Member Functions


void assign (void *ptr, uint32_t type)

void retrieve (void *&ptr, uint32_t &type)

SbBool tryRetrieve (void *&ptr, uint32_t &type)

unsigned int size (void) const

void lock (void) const

void unlock (void) const

SbBool peek (void *&item, uint32_t &type) const

SbBool contains (void *item) const

SbBool reclaim (void *item)

Detailed Description

A class for managing a pointer first-in, first-out queue.

Member Function Documentation

void SbFifo::assign (void *ptr, uint32_ttype) [inline]

Puts pointer ptr of type type into the fifo.

The type argument is just meant as a user data tag, and a 0 value can be given as the type argument if type data is uninteresting.

void SbFifo::retrieve (void *&ptr, uint32_t &type) [inline]

Reads a pointer from the queue. Blocks until a pointer is available for reading.

SbBool SbFifo::tryRetrieve (void *&ptr, uint32_t &type) [inline]

Tries to read a pointer from the queue. If no data can be read, FALSE is returned, and TRUE otherwise. The function does not block.

unsigned int SbFifo::size (void) const [inline]

Returns number of pointers currently in the queue.

void SbFifo::lock (void) const [inline]

Blocks until the queue can be locked.

void SbFifo::unlock (void) const [inline]

Unlocks the queue.

SbBool SbFifo::peek (void *&item, uint32_t &type) const [inline]

Peeks at the head item of the queue without removing it. In the case where the fifo is empty, FALSE is returned.

The queue must be locked with SbFifo::lock() before using this function, then unlocked.

SbBool SbFifo::contains (void *item) const [inline]

Returns TRUE or FALSE depending on whether the item is in the queue.

The queue must be locked with SbFifo::lock() before using this function, then unlocked.

SbBool SbFifo::reclaim (void *item) [inline]

This function removes the given item from the queue. Returns TRUE or FALSE depending on whether the item was in the queue in the first place.

The queue must be locked with SbFifo::lock() before using this function, then unlocked.

Author

Generated automatically by Doxygen for Coin from the source code.