# AP4_List< T > Class Template Reference

`#include <Ap4List.h>`

List of all members.

## Public Member Functions
| AP4_List ()
virtual | ~AP4_List ()
AP4_Result | Add (T *data)
AP4_Result | Add (Item *item)
AP4_Result | Remove (T *data)
AP4_Result | Insert (Item *where, T *data)
AP4_Result | Get (AP4_Ordinal idx, T *&data) const
AP4_Result | PopHead (T *&data)
AP4_Result | Apply (const typename Item::Operator &op) const
AP4_Result | ApplyUntilFailure (const typename Item::Operator &op) const
AP4_Result | ApplyUntilSuccess (const typename Item::Operator &op) const
AP4_Result | ReverseApply (const typename Item::Operator &op) const
AP4_Result | Find (const typename Item::Finder &finder, T *&data) const
AP4_Result | ReverseFind (const typename Item::Finder &finder, T *&data) const
AP4_Result | DeleteReferences ()
AP4_Cardinal | ItemCount () const
Item * | FirstItem () const
Item * | LastItem () const
## Protected Attributes
AP4_Cardinal | m_ItemCount
Item * | m_Head
Item * | m_Tail
## Classes
class | Item

## Detailed Description

### template<typename T>
class AP4_List< T >

Definition at line 47 of file Ap4List.h.

## Constructor & Destructor Documentation

template<typename T>

AP4_List< T >::AP4_List | ( |  | ) | `[inline]`

template<typename T>

AP4_List< T >::~AP4_List | ( |  | ) | `[inline, virtual]`

Definition at line 124 of file Ap4List.h.

References AP4_List< T >::m_Head, and AP4_List< T >::Item::m_Next.

## Member Function Documentation

template<typename T>

AP4_Result AP4_List< T >::Add | ( | T * | data | ) | `[inline]`

Definition at line 141 of file Ap4List.h.

Referenced by AP4_List< T >::Insert().

template<typename T>

AP4_Result AP4_List< T >::Add | ( | Item * | item | ) | `[inline]`

Definition at line 151 of file Ap4List.h.

References AP4_SUCCESS, AP4_List< T >::m_Head, AP4_List< T >::m_ItemCount, AP4_List< T >::Item::m_Next, AP4_List< T >::Item::m_Prev, AP4_List< T >::m_Tail, and NULL.

template<typename T>

AP4_Result AP4_List< T >::Remove | ( | T * | data | ) | `[inline]`

Definition at line 177 of file Ap4List.h.

References AP4_ERROR_NO_SUCH_ITEM, AP4_SUCCESS, AP4_List< T >::Item::m_Data, AP4_List< T >::m_Head, AP4_List< T >::m_ItemCount, AP4_List< T >::Item::m_Next, AP4_List< T >::Item::m_Prev, AP4_List< T >::m_Tail, and NULL.

template<typename T>

AP4_Result AP4_List< T >::Insert | ( | Item * | where,
|  | T * | data |
| ) |  |  | `[inline]`

Definition at line 226 of file Ap4List.h.

References AP4_List< T >::Add(), AP4_SUCCESS, AP4_List< T >::m_Head, AP4_List< T >::m_ItemCount, AP4_List< T >::Item::m_Next, AP4_List< T >::Item::m_Prev, AP4_List< T >::m_Tail, and NULL.

template<typename T>

AP4_Result AP4_List< T >::Get | ( | AP4_Ordinal | idx,
|  | T *& | data |
| ) |  |  | const`[inline]`

Definition at line 270 of file Ap4List.h.

References AP4_ERROR_NO_SUCH_ITEM, AP4_SUCCESS, AP4_List< T >::Item::m_Data, AP4_List< T >::m_Head, AP4_List< T >::m_ItemCount, AP4_List< T >::Item::m_Next, and NULL.

template<typename T>

AP4_Result AP4_List< T >::PopHead | ( | T *& | data | ) | `[inline]`

Definition at line 289 of file Ap4List.h.

References AP4_ERROR_LIST_EMPTY, AP4_SUCCESS, AP4_List< T >::Item::m_Data, AP4_List< T >::m_Head, AP4_List< T >::m_ItemCount, AP4_List< T >::Item::m_Next, AP4_List< T >::Item::m_Prev, AP4_List< T >::m_Tail, and NULL.

template<typename T>

AP4_Result AP4_List< T >::Apply | ( | const typename Item::Operator & | op | ) | const`[inline]`

Definition at line 321 of file Ap4List.h.

References AP4_List< T >::Item::Operator::Action(), AP4_SUCCESS, AP4_List< T >::Item::m_Data, AP4_List< T >::m_Head, and AP4_List< T >::Item::m_Next.

template<typename T>

AP4_Result AP4_List< T >::ApplyUntilFailure | ( | const typename Item::Operator & | op | ) | const`[inline]`

Definition at line 339 of file Ap4List.h.

References AP4_List< T >::Item::Operator::Action(), AP4_SUCCESS, AP4_List< T >::Item::m_Data, AP4_List< T >::m_Head, and AP4_List< T >::Item::m_Next.

template<typename T>

AP4_Result AP4_List< T >::ApplyUntilSuccess | ( | const typename Item::Operator & | op | ) | const`[inline]`

Definition at line 359 of file Ap4List.h.

References AP4_List< T >::Item::Operator::Action(), AP4_FAILURE, AP4_SUCCESS, AP4_List< T >::Item::m_Data, AP4_List< T >::m_Head, and AP4_List< T >::Item::m_Next.

template<typename T>

AP4_Result AP4_List< T >::ReverseApply | ( | const typename Item::Operator & | op | ) | const`[inline]`

Definition at line 379 of file Ap4List.h.

References AP4_List< T >::Item::Operator::Action(), AP4_ERROR_LIST_OPERATION_ABORTED, AP4_SUCCESS, AP4_List< T >::Item::m_Data, AP4_List< T >::Item::m_Prev, and AP4_List< T >::m_Tail.

template<typename T>

AP4_Result AP4_List< T >::Find | ( | const typename Item::Finder & | finder,
|  | T *& | data |
| ) |  |  | const`[inline]`

Definition at line 399 of file Ap4List.h.

References AP4_ERROR_NO_SUCH_ITEM, AP4_SUCCESS, AP4_List< T >::Item::m_Data, AP4_List< T >::m_Head, AP4_List< T >::Item::m_Next, NULL, and AP4_List< T >::Item::Finder::Test().

template<typename T>

AP4_Result AP4_List< T >::ReverseFind | ( | const typename Item::Finder & | finder,
|  | T *& | data |
| ) |  |  | const`[inline]`

Definition at line 421 of file Ap4List.h.

References AP4_ERROR_NO_SUCH_ITEM, AP4_SUCCESS, AP4_List< T >::Item::m_Data, AP4_List< T >::Item::m_Prev, AP4_List< T >::m_Tail, NULL, and AP4_List< T >::Item::Finder::Test().

template<typename T>

AP4_Result AP4_List< T >::DeleteReferences | ( |  | ) | `[inline]`

Definition at line 443 of file Ap4List.h.

References AP4_SUCCESS, AP4_List< T >::Item::m_Data, AP4_List< T >::m_Head, AP4_List< T >::m_ItemCount, AP4_List< T >::Item::m_Next, AP4_List< T >::m_Tail, and NULL.

template<typename T>

AP4_Cardinal AP4_List< T >::ItemCount | ( |  | ) | const`[inline]`

Definition at line 104 of file Ap4List.h.

template<typename T>

Item* AP4_List< T >::FirstItem | ( |  | ) | const`[inline]`

Definition at line 105 of file Ap4List.h.

template<typename T>

Item* AP4_List< T >::LastItem | ( |  | ) | const`[inline]`

Definition at line 106 of file Ap4List.h.

## Member Data Documentation

template<typename T>

AP4_Cardinal AP4_List< T >::m_ItemCount`[protected]`

Definition at line 110 of file Ap4List.h.

Referenced by AP4_List< T >::Add(), AP4_List< T >::DeleteReferences(), AP4_List< T >::Get(), AP4_List< T >::Insert(), AP4_List< AP4_RtpPacket >::ItemCount(), AP4_List< T >::PopHead(), and AP4_List< T >::Remove().

template<typename T>

Item* AP4_List< T >::m_Head`[protected]`

Definition at line 111 of file Ap4List.h.

Referenced by AP4_List< T >::Add(), AP4_List< T >::Apply(), AP4_List< T >::ApplyUntilFailure(), AP4_List< T >::ApplyUntilSuccess(), AP4_List< T >::DeleteReferences(), AP4_List< T >::Find(), AP4_List< AP4_RtpPacket >::FirstItem(), AP4_List< T >::Get(), AP4_List< T >::Insert(), AP4_List< T >::PopHead(), AP4_List< T >::Remove(), and AP4_List< T >::~AP4_List().

template<typename T>

Item* AP4_List< T >::m_Tail`[protected]`

Definition at line 112 of file Ap4List.h.

Referenced by AP4_List< T >::Add(), AP4_List< T >::DeleteReferences(), AP4_List< T >::Insert(), AP4_List< AP4_RtpPacket >::LastItem(), AP4_List< T >::PopHead(), AP4_List< T >::Remove(), AP4_List< T >::ReverseApply(), and AP4_List< T >::ReverseFind().

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

- Ap4List.h