# FoundationClasses
TKernel
NCollection

# FoundationClasses
TKernel
NCollection

# NCollection_Queue< TheItemType > Class Template Reference

`#include <NCollection_Queue.hxx>`

Inheritance diagram for NCollection_Queue< TheItemType >:

[legend]

## Public Types

typedef NCollection_TListNode< TheItemType > | QueueNode
typedef NCollection_TListIterator< TheItemType > | Iterator

## Public Member Functions

| NCollection_Queue (const Handle(NCollection_BaseAllocator)&theAllocator=0L)
| Constructor.
| NCollection_Queue (const NCollection_Queue &theOther)
| Copy constructor.
virtual Standard_Integer | Size (void) const
| Size - Number of items.
Standard_Integer | Length (void) const
| Length - number of items.
virtual void | Assign (const NCollection_BaseCollection< TheItemType > &theOther)
| Replace this list by the items of theOther collection.
NCollection_Queue & | operator= (const NCollection_Queue &theOther)
| Replace this list by the items of theOther queue.
void | Clear (void)
| Clear this queue.
const TheItemType & | Front (void) const
| Frontal item - constant.
TheItemType & | ChangeFront (void)
| Frontal item - variable.
void | Push (const TheItemType &theItem)
| Push one item.
void | Pop (void)
| Pop first item.
| ~NCollection_Queue (void)
| Destructor - clears the List.

## Private Member Functions

virtual TYPENAME NCollection_BaseCollection< TheItemType >::Iterator & | CreateIterator (void) const
| Creates Iterator for use on BaseCollection.

## Detailed Description

### template<class TheItemType>
class NCollection_Queue< TheItemType >

Purpose: A queue is a structure where Items are added at the end and removed from the front. The first entered Item will be the first removed. This is called a FIFO (First In First Out). Inherits BaseList, adds the data item to each node.

## Member Typedef Documentation

template<class TheItemType>
typedef NCollection_TListIterator<TheItemType> NCollection_Queue< TheItemType >::Iterator

| Reimplemented from NCollection_BaseList.

template<class TheItemType>
typedef NCollection_TListNode<TheItemType> NCollection_Queue< TheItemType >::QueueNode

## Constructor & Destructor Documentation

template<class TheItemType>
NCollection_Queue< TheItemType >::NCollection_Queue | ( | const Handle(NCollection_BaseAllocator)& | theAllocator = `0L` | ) | `[inline]`

template<class TheItemType>
NCollection_Queue< TheItemType >::NCollection_Queue | ( | const NCollection_Queue< TheItemType > & | theOther | ) | `[inline]`

template<class TheItemType>
NCollection_Queue< TheItemType >::~NCollection_Queue | ( | void |  | ) | `[inline]`

## Member Function Documentation

template<class TheItemType>
virtual void NCollection_Queue< TheItemType >::Assign | ( | const NCollection_BaseCollection< TheItemType > & | theOther | ) | `[inline, virtual]`

template<class TheItemType>
TheItemType& NCollection_Queue< TheItemType >::ChangeFront | ( | void |  | ) | `[inline]`

template<class TheItemType>
void NCollection_Queue< TheItemType >::Clear | ( | void |  | ) | `[inline]`

template<class TheItemType>
virtual TYPENAME NCollection_BaseCollection<TheItemType>::Iterator& NCollection_Queue< TheItemType >::CreateIterator | ( | void |  | ) | const`[inline, private, virtual]`

| Implements NCollection_BaseCollection< TheItemType >.

template<class TheItemType>
const TheItemType& NCollection_Queue< TheItemType >::Front | ( | void |  | ) | const`[inline]`

template<class TheItemType>
Standard_Integer NCollection_Queue< TheItemType >::Length | ( | void |  | ) | const`[inline]`

template<class TheItemType>
NCollection_Queue& NCollection_Queue< TheItemType >::operator= | ( | const NCollection_Queue< TheItemType > & | theOther | ) | `[inline]`

template<class TheItemType>
void NCollection_Queue< TheItemType >::Pop | ( | void |  | ) | `[inline]`

template<class TheItemType>
void NCollection_Queue< TheItemType >::Push | ( | const TheItemType & | theItem | ) | `[inline]`

template<class TheItemType>
virtual Standard_Integer NCollection_Queue< TheItemType >::Size | ( | void |  | ) | const`[inline, virtual]`

| Implements NCollection_BaseCollection< TheItemType >.

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

- NCollection_Queue.hxx