csFIFO< T, ElementHandler, MemoryAllocator, CapacityHandler > Class Template Reference (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions
csFIFO< T, ElementHandler, MemoryAllocator, CapacityHandler > Class Template Reference

A FIFO implemented on top of csArray, but faster than using just a single array. More...

`#include <csutil/fifo.h>`

List of all members.

## Public Member Functions
T & | Bottom ()
| Return the last element.
bool | Contains (T const &what)
| Linearly search for an item.
| csFIFO (size_t icapacity=0, const CapacityHandler &ch=CapacityHandler())
| Construct the FIFO.
bool | Delete (T const &what)
| Linearly search for an item and delete it.
void | DeleteAll ()
| Delete all items.
size_t | GetSize () const
| Return the number of elements in the FIFO.
size_t | Length () const
| Return the number of elements in the FIFO.
T | PopBottom ()
| Return and remove the last element.
T | PopTop ()
| Return and remove the first element.
void | Push (T const &what)
| Push an element onto the FIFO.
T & | Top ()
| Return the first element.

## Detailed Description

### template<class T, class ElementHandler = csArrayElementHandler<T>, class MemoryAllocator = CS::Container::ArrayAllocDefault, class CapacityHandler = csArrayCapacityFixedGrow<16>>
class csFIFO< T, ElementHandler, MemoryAllocator, CapacityHandler >

A FIFO implemented on top of csArray, but faster than using just a single array.

Definition at line 36 of file fifo.h.

## Constructor & Destructor Documentation

template<class T, class ElementHandler = csArrayElementHandler<T>, class MemoryAllocator = CS::Container::ArrayAllocDefault, class CapacityHandler = csArrayCapacityFixedGrow<16>>

csFIFO< T, ElementHandler, MemoryAllocator, CapacityHandler >::csFIFO | ( | size_t | icapacity = `0`,
|  | const CapacityHandler & | ch = `CapacityHandler()`
| ) |  | `[inline]`

Construct the FIFO.

See csArray documentation for meaning of parameters.

Definition at line 51 of file fifo.h.

## Member Function Documentation

template<class T, class ElementHandler = csArrayElementHandler<T>, class MemoryAllocator = CS::Container::ArrayAllocDefault, class CapacityHandler = csArrayCapacityFixedGrow<16>>

T& csFIFO< T, ElementHandler, MemoryAllocator, CapacityHandler >::Bottom | ( |  | ) | `[inline]`

Return the last element.

Definition at line 114 of file fifo.h.

template<class T, class ElementHandler = csArrayElementHandler<T>, class MemoryAllocator = CS::Container::ArrayAllocDefault, class CapacityHandler = csArrayCapacityFixedGrow<16>>

bool csFIFO< T, ElementHandler, MemoryAllocator, CapacityHandler >::Contains | ( | T const & | what | ) | `[inline]`

Linearly search for an item.

Returns:
  Whether the item was found.

Definition at line 166 of file fifo.h.

template<class T, class ElementHandler = csArrayElementHandler<T>, class MemoryAllocator = CS::Container::ArrayAllocDefault, class CapacityHandler = csArrayCapacityFixedGrow<16>>

bool csFIFO< T, ElementHandler, MemoryAllocator, CapacityHandler >::Delete | ( | T const & | what | ) | `[inline]`

Linearly search for an item and delete it.

Returns:
  Whether the item was found and subsequently deleled.

Definition at line 157 of file fifo.h.

template<class T, class ElementHandler = csArrayElementHandler<T>, class MemoryAllocator = CS::Container::ArrayAllocDefault, class CapacityHandler = csArrayCapacityFixedGrow<16>>

void csFIFO< T, ElementHandler, MemoryAllocator, CapacityHandler >::DeleteAll | ( |  | ) | `[inline]`

Delete all items.

Definition at line 173 of file fifo.h.

template<class T, class ElementHandler = csArrayElementHandler<T>, class MemoryAllocator = CS::Container::ArrayAllocDefault, class CapacityHandler = csArrayCapacityFixedGrow<16>>

size_t csFIFO< T, ElementHandler, MemoryAllocator, CapacityHandler >::GetSize | ( |  | ) | const`[inline]`

Return the number of elements in the FIFO.

Definition at line 138 of file fifo.h.

template<class T, class ElementHandler = csArrayElementHandler<T>, class MemoryAllocator = CS::Container::ArrayAllocDefault, class CapacityHandler = csArrayCapacityFixedGrow<16>>

size_t csFIFO< T, ElementHandler, MemoryAllocator, CapacityHandler >::Length | ( |  | ) | const`[inline]`

Return the number of elements in the FIFO.

Deprecated:
  Use GetSize() instead.

Definition at line 148 of file fifo.h.

template<class T, class ElementHandler = csArrayElementHandler<T>, class MemoryAllocator = CS::Container::ArrayAllocDefault, class CapacityHandler = csArrayCapacityFixedGrow<16>>

T csFIFO< T, ElementHandler, MemoryAllocator, CapacityHandler >::PopBottom | ( |  | ) | `[inline]`

Return and remove the last element.

Definition at line 95 of file fifo.h.

template<class T, class ElementHandler = csArrayElementHandler<T>, class MemoryAllocator = CS::Container::ArrayAllocDefault, class CapacityHandler = csArrayCapacityFixedGrow<16>>

T csFIFO< T, ElementHandler, MemoryAllocator, CapacityHandler >::PopTop | ( |  | ) | `[inline]`

Return and remove the first element.

Definition at line 58 of file fifo.h.

template<class T, class ElementHandler = csArrayElementHandler<T>, class MemoryAllocator = CS::Container::ArrayAllocDefault, class CapacityHandler = csArrayCapacityFixedGrow<16>>

void csFIFO< T, ElementHandler, MemoryAllocator, CapacityHandler >::Push | ( | T const & | what | ) | `[inline]`

Push an element onto the FIFO.

Definition at line 132 of file fifo.h.

template<class T, class ElementHandler = csArrayElementHandler<T>, class MemoryAllocator = CS::Container::ArrayAllocDefault, class CapacityHandler = csArrayCapacityFixedGrow<16>>

T& csFIFO< T, ElementHandler, MemoryAllocator, CapacityHandler >::Top | ( |  | ) | `[inline]`

Return the first element.

Definition at line 76 of file fifo.h.

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

- csutil/fifo.h