Arduino DLNA Server
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
tiny_dlna::List< T > Class Template Reference

Double linked list. More...

#include <List.h>

Collaboration diagram for tiny_dlna::List< T >:
Collaboration graph
[legend]

Classes

class  Iterator
 
struct  Node
 

Public Member Functions

 List (Allocator &allocator=DefaultAllocator)
 Default constructor. More...
 
 List (List &ref)=default
 copy constructor More...
 
template<size_t N>
 List (const T(&a)[N], Allocator &allocator=DefaultAllocator)
 Constructor using array. More...
 
 ~List ()
 
bool swap (List< T > &ref)
 
bool push_back (T data)
 
bool push_front (T data)
 
bool insert (Iterator it, const T &data)
 
bool pop_front ()
 
bool pop_back ()
 
bool pop_front (T &data)
 
bool pop_back (T &data)
 
bool erase (Iterator it)
 
Iterator begin ()
 
Iterator end ()
 
Iterator rbegin ()
 
Iterator rend ()
 
size_t size ()
 
bool empty ()
 
bool clear ()
 
T & operator[] (int index)
 
void setAllocator (Allocator &allocator)
 
T & back ()
 Provides the last element. More...
 

Protected Member Functions

NodecreateNode ()
 
void deleteNode (Node *p_delete)
 
void link ()
 
NodelastDataNode ()
 
NodefirstDataNode ()
 
void validate ()
 

Protected Attributes

Node first
 
Node last
 
size_t record_count = 0
 
Allocatorp_allocator = &DefaultAllocator
 

Detailed Description

template<class T>
class tiny_dlna::List< T >

Double linked list.

Author
Phil Schatzmann
Template Parameters
T

Constructor & Destructor Documentation

◆ List() [1/3]

template<class T >
tiny_dlna::List< T >::List ( Allocator allocator = DefaultAllocator)
inline

Default constructor.

◆ List() [2/3]

template<class T >
tiny_dlna::List< T >::List ( List< T > &  ref)
default

copy constructor

◆ List() [3/3]

template<class T >
template<size_t N>
tiny_dlna::List< T >::List ( const T(&)  a[N],
Allocator allocator = DefaultAllocator 
)
inline

Constructor using array.

◆ ~List()

template<class T >
tiny_dlna::List< T >::~List ( )
inline

Member Function Documentation

◆ back()

template<class T >
T& tiny_dlna::List< T >::back ( )
inline

Provides the last element.

◆ begin()

template<class T >
Iterator tiny_dlna::List< T >::begin ( )
inline

◆ clear()

template<class T >
bool tiny_dlna::List< T >::clear ( )
inline

◆ createNode()

template<class T >
Node* tiny_dlna::List< T >::createNode ( )
inlineprotected

◆ deleteNode()

template<class T >
void tiny_dlna::List< T >::deleteNode ( Node p_delete)
inlineprotected

◆ empty()

template<class T >
bool tiny_dlna::List< T >::empty ( )
inline

◆ end()

template<class T >
Iterator tiny_dlna::List< T >::end ( )
inline

◆ erase()

template<class T >
bool tiny_dlna::List< T >::erase ( Iterator  it)
inline

◆ firstDataNode()

template<class T >
Node* tiny_dlna::List< T >::firstDataNode ( )
inlineprotected

◆ insert()

template<class T >
bool tiny_dlna::List< T >::insert ( Iterator  it,
const T &  data 
)
inline

◆ lastDataNode()

template<class T >
Node* tiny_dlna::List< T >::lastDataNode ( )
inlineprotected

◆ link()

template<class T >
void tiny_dlna::List< T >::link ( )
inlineprotected

◆ operator[]()

template<class T >
T& tiny_dlna::List< T >::operator[] ( int  index)
inline

◆ pop_back() [1/2]

template<class T >
bool tiny_dlna::List< T >::pop_back ( )
inline

◆ pop_back() [2/2]

template<class T >
bool tiny_dlna::List< T >::pop_back ( T &  data)
inline

◆ pop_front() [1/2]

template<class T >
bool tiny_dlna::List< T >::pop_front ( )
inline

◆ pop_front() [2/2]

template<class T >
bool tiny_dlna::List< T >::pop_front ( T &  data)
inline

◆ push_back()

template<class T >
bool tiny_dlna::List< T >::push_back ( data)
inline

◆ push_front()

template<class T >
bool tiny_dlna::List< T >::push_front ( data)
inline

◆ rbegin()

template<class T >
Iterator tiny_dlna::List< T >::rbegin ( )
inline

◆ rend()

template<class T >
Iterator tiny_dlna::List< T >::rend ( )
inline

◆ setAllocator()

template<class T >
void tiny_dlna::List< T >::setAllocator ( Allocator allocator)
inline

◆ size()

template<class T >
size_t tiny_dlna::List< T >::size ( )
inline

◆ swap()

template<class T >
bool tiny_dlna::List< T >::swap ( List< T > &  ref)
inline

◆ validate()

template<class T >
void tiny_dlna::List< T >::validate ( )
inlineprotected

Member Data Documentation

◆ first

template<class T >
Node tiny_dlna::List< T >::first
protected

◆ last

template<class T >
Node tiny_dlna::List< T >::last
protected

◆ p_allocator

template<class T >
Allocator* tiny_dlna::List< T >::p_allocator = &DefaultAllocator
protected

◆ record_count

template<class T >
size_t tiny_dlna::List< T >::record_count = 0
protected

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