| Irrlicht 3D Engine |

Classes | Public Member Functions
irr::core::list< T > Class Template Reference

Doubly linked list template. More...

`#include <irrList.h>`

List of all members.

## Classes

- class ConstIterator
    List iterator for const access. More...
- class Iterator
    List iterator. More...
- struct SKListNode
    List element node with pointer to previous and next element in the list.

## Public Member Functions

- list ()
    Default constructor for empty list.
- list (const list< T > &other)
    Copy constructor.
- ~list ()
    Destructor.
- Iterator begin ()
    Gets first node.
- ConstIterator begin () const
    Gets first node.
- void clear ()
    Clears the list, deletes all elements in the list.
- bool empty () const
    Checks for empty list.
- Iterator end ()
    Gets end node.
- ConstIterator end () const
    Gets end node.
- Iterator erase (Iterator &it)
    Erases an element.
- Iterator getLast ()
    Gets last element.
- ConstIterator getLast () const
    Gets last element.
- u32 getSize () const
- void insert_after (const Iterator &it, const T &element)
    Inserts an element after an element.
- void insert_before (const Iterator &it, const T &element)
    Inserts an element before an element.
- void operator= (const list< T > &other)
    Assignment operator.
- void push_back (const T &element)
    Adds an element at the end of the list.
- void push_front (const T &element)
    Adds an element at the begin of the list.
- u32 size () const
    Returns amount of elements in list.
- void swap (list< T > &other)
    Swap the content of this list container with the content of another list.

## Detailed Description

### template<class T>
class irr::core::list< T >

Doubly linked list template.

Definition at line 20 of file irrList.h.

## Constructor & Destructor Documentation

template<class T>

irr::core::list< T >::list | ( |  | ) | `[inline]`

Default constructor for empty list.

Definition at line 136 of file irrList.h.

template<class T>

irr::core::list< T >::list | ( | const list< T > & | other | ) | `[inline]`

Copy constructor.

Definition at line 141 of file irrList.h.

template<class T>

irr::core::list< T >::~list | ( |  | ) | `[inline]`

Destructor.

Definition at line 148 of file irrList.h.

## Member Function Documentation

template<class T>

Iterator irr::core::list< T >::begin | ( |  | ) | `[inline]`

Gets first node.

Returns:
  A list iterator pointing to the beginning of the list.

Definition at line 257 of file irrList.h.

Referenced by irr::gui::IGUIElement::bringToFront(), irr::scene::ISceneNode::cloneMembers(), irr::gui::IGUIElement::draw(), irr::gui::IGUIElement::getElementFromId(), irr::gui::IGUIElement::getNextElement(), irr::scene::ISceneNode::OnAnimate(), irr::gui::IGUIElement::OnPostRender(), irr::scene::ISceneNode::OnRegisterSceneNode(), irr::gui::IGUIElement::recalculateAbsolutePosition(), irr::scene::ISceneNode::removeAll(), irr::scene::ISceneNode::removeAnimator(), irr::scene::ISceneNode::removeAnimators(), irr::gui::IGUIElement::removeChild(), irr::scene::ISceneNode::removeChild(), irr::gui::IGUIElement::sendToBack(), irr::scene::ISceneNode::setSceneManager(), irr::gui::IGUIElement::updateAbsolutePosition(), irr::gui::IGUIElement::~IGUIElement(), and irr::scene::ISceneNode::~ISceneNode().

template<class T>

ConstIterator irr::core::list< T >::begin | ( |  | ) | const`[inline]`

Gets first node.

Returns:
  A const list iterator pointing to the beginning of the list.

Definition at line 265 of file irrList.h.

template<class T>

void irr::core::list< T >::clear | ( |  | ) | `[inline]`

Clears the list, deletes all elements in the list.

All existing iterators of this list will be invalid.

Definition at line 187 of file irrList.h.

Referenced by irr::core::list< ISceneNode * >::operator=(), irr::scene::ISceneNode::removeAll(), irr::scene::ISceneNode::removeAnimators(), and irr::core::list< ISceneNode * >::~list().

template<class T>

bool irr::core::list< T >::empty | ( |  | ) | const`[inline]`

Checks for empty list.

Returns:
  True if the list is empty and false if not.

Definition at line 205 of file irrList.h.

template<class T>

Iterator irr::core::list< T >::end | ( |  | ) | `[inline]`

Gets end node.

Returns:
  List iterator pointing to null.

Definition at line 273 of file irrList.h.

Referenced by irr::gui::IGUIElement::bringToFront(), irr::scene::ISceneNode::cloneMembers(), irr::gui::IGUIElement::draw(), irr::gui::IGUIElement::getElementFromId(), irr::gui::IGUIElement::getElementFromPoint(), irr::gui::IGUIElement::getNextElement(), irr::scene::ISceneNode::OnAnimate(), irr::gui::IGUIElement::OnPostRender(), irr::scene::ISceneNode::OnRegisterSceneNode(), irr::gui::IGUIElement::recalculateAbsolutePosition(), irr::scene::ISceneNode::removeAll(), irr::scene::ISceneNode::removeAnimator(), irr::scene::ISceneNode::removeAnimators(), irr::gui::IGUIElement::removeChild(), irr::scene::ISceneNode::removeChild(), irr::gui::IGUIElement::sendToBack(), irr::scene::ISceneNode::setSceneManager(), irr::gui::IGUIElement::updateAbsolutePosition(), irr::gui::IGUIElement::~IGUIElement(), and irr::scene::ISceneNode::~ISceneNode().

template<class T>

ConstIterator irr::core::list< T >::end | ( |  | ) | const`[inline]`

Gets end node.

Returns:
  Const list iterator pointing to null.

Definition at line 281 of file irrList.h.

template<class T>

Iterator irr::core::list< T >::erase | ( | Iterator & | it | ) | `[inline]`

Erases an element.

Parameters:

  it | Iterator pointing to the element which shall be erased.

Returns:
  Iterator pointing to next element.

Definition at line 354 of file irrList.h.

Referenced by irr::gui::IGUIElement::bringToFront(), irr::scene::ISceneNode::removeAnimator(), irr::gui::IGUIElement::removeChild(), irr::scene::ISceneNode::removeChild(), and irr::gui::IGUIElement::sendToBack().

template<class T>

Iterator irr::core::list< T >::getLast | ( |  | ) | `[inline]`

Gets last element.

Returns:
  List iterator pointing to the last element of the list.

Definition at line 289 of file irrList.h.

Referenced by irr::gui::IGUIElement::getElementFromPoint().

template<class T>

ConstIterator irr::core::list< T >::getLast | ( |  | ) | const`[inline]`

Gets last element.

Returns:
  Const list iterator pointing to the last element of the list.

Definition at line 297 of file irrList.h.

template<class T>

u32 irr::core::list< T >::getSize | ( |  | ) | const`[inline]`

Definition at line 179 of file irrList.h.

template<class T>

void irr::core::list< T >::insert_after | ( | const Iterator & | it,
|  | const T & | element
| ) |  | `[inline]`

Inserts an element after an element.

Parameters:

  it | Iterator pointing to element after which the new element should be inserted.
  element | The new element to be inserted into the list.

Definition at line 308 of file irrList.h.

template<class T>

void irr::core::list< T >::insert_before | ( | const Iterator & | it,
|  | const T & | element
| ) |  | `[inline]`

Inserts an element before an element.

Parameters:

  it | Iterator pointing to element before which the new element should be inserted.
  element | The new element to be inserted into the list.

Definition at line 332 of file irrList.h.

template<class T>

void irr::core::list< T >::operator= | ( | const list< T > & | other | ) | `[inline]`

Assignment operator.

Definition at line 155 of file irrList.h.

template<class T>

void irr::core::list< T >::push_back | ( | const T & | element | ) | `[inline]`

Adds an element at the end of the list.

Parameters:

  element | Element to add to the list.

Definition at line 213 of file irrList.h.

Referenced by irr::scene::ISceneNode::addAnimator(), irr::scene::ISceneNode::addChild(), irr::gui::IGUIElement::addChildToEnd(), irr::gui::IGUIElement::bringToFront(), and irr::core::list< ISceneNode * >::operator=().

template<class T>

void irr::core::list< T >::push_front | ( | const T & | element | ) | `[inline]`

Adds an element at the begin of the list.

Parameters:

  element,: | Element to add to the list.

Definition at line 234 of file irrList.h.

Referenced by irr::gui::IGUIElement::sendToBack().

template<class T>

u32 irr::core::list< T >::size | ( |  | ) | const`[inline]`

Returns amount of elements in list.

Returns:
  Amount of elements in the list.

Definition at line 175 of file irrList.h.

template<class T>

void irr::core::list< T >::swap | ( | list< T > & | other | ) | `[inline]`

Swap the content of this list container with the content of another list.

Afterwards this object will contain the content of the other object and the other object will contain the content of this object. Iterators will afterwards be valid for the swapped object.

Parameters:

  other | Swap content with this object

Definition at line 393 of file irrList.h.

Referenced by irr::core::list< ISceneNode * >::swap().

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

- irrList.h