foobar2000 SDK  2015-08-03
Public Types | Public Member Functions | Protected Attributes
pfc::const_iterator< t_item >

#include <iterators.h>

+ Inheritance diagram for pfc::const_iterator< t_item >:

Public Types

typedef _list_node< t_item > t_node
 
typedef refcounted_object_ptr_t< t_nodet_nodeptr
 
typedef const_iterator< t_item > t_self
 

Public Member Functions

 const_iterator ()
 
 const_iterator (t_node *source)
 
 const_iterator (t_nodeptr const &source)
 
 const_iterator (t_self const &other)
 
 const_iterator (t_self &&other)
 
t_node_node () const throw ()
 
void invalidate () throw ()
 
bool is_empty () const throw ()
 
bool is_valid () const throw ()
 
void next () throw ()
 
bool operator!= (const t_self &other) const throw ()
 
const t_item & operator* () const throw ()
 
const t_selfoperator++ () throw ()
 
t_self operator++ (int) throw ()
 
const t_selfoperator-- () throw ()
 
t_self operator-- (int) throw ()
 
const t_item * operator-> () const throw ()
 
t_self const & operator= (t_self const &other)
 
t_self const & operator= (t_self &&other)
 
bool operator== (const t_self &other) const throw ()
 
void prev () throw ()
 
void walk (bool forward) throw ()
 

Protected Attributes

t_nodeptr m_content
 

Detailed Description

template<typename t_item>
class pfc::const_iterator< t_item >

Definition at line 17 of file iterators.h.

Member Typedef Documentation

template<typename t_item>
typedef _list_node<t_item> pfc::const_iterator< t_item >::t_node

Definition at line 19 of file iterators.h.

template<typename t_item>
typedef refcounted_object_ptr_t<t_node> pfc::const_iterator< t_item >::t_nodeptr

Definition at line 20 of file iterators.h.

template<typename t_item>
typedef const_iterator<t_item> pfc::const_iterator< t_item >::t_self

Definition at line 21 of file iterators.h.

Constructor & Destructor Documentation

template<typename t_item>
pfc::const_iterator< t_item >::const_iterator ( )
inline

Definition at line 34 of file iterators.h.

34 {}
template<typename t_item>
pfc::const_iterator< t_item >::const_iterator ( t_node source)
inline

Definition at line 35 of file iterators.h.

35 : m_content(source) {}
t_nodeptr m_content
Definition: iterators.h:54
template<typename t_item>
pfc::const_iterator< t_item >::const_iterator ( t_nodeptr const &  source)
inline

Definition at line 36 of file iterators.h.

36 : m_content(source) {}
t_nodeptr m_content
Definition: iterators.h:54
template<typename t_item>
pfc::const_iterator< t_item >::const_iterator ( t_self const &  other)
inline

Definition at line 37 of file iterators.h.

37 : m_content(other.m_content) {}
t_nodeptr m_content
Definition: iterators.h:54
template<typename t_item>
pfc::const_iterator< t_item >::const_iterator ( t_self &&  other)
inline

Definition at line 38 of file iterators.h.

38 : m_content(std::move(other.m_content)) {}
t_nodeptr m_content
Definition: iterators.h:54

Member Function Documentation

template<typename t_item>
t_node* pfc::const_iterator< t_item >::_node ( ) const
throw (
)
inline

For internal use / list implementations only! Do not call!

Definition at line 32 of file iterators.h.

32 {return m_content.get_ptr();}
t_nodeptr m_content
Definition: iterators.h:54
template<typename t_item>
void pfc::const_iterator< t_item >::invalidate ( )
throw (
)
inline

Definition at line 25 of file iterators.h.

25 {m_content = NULL;}
t_nodeptr m_content
Definition: iterators.h:54
template<typename t_item>
bool pfc::const_iterator< t_item >::is_empty ( ) const
throw (
)
inline

Definition at line 23 of file iterators.h.

23 {return m_content.is_empty();}
t_nodeptr m_content
Definition: iterators.h:54
template<typename t_item>
bool pfc::const_iterator< t_item >::is_valid ( ) const
throw (
)
inline

Definition at line 24 of file iterators.h.

24 {return m_content.is_valid();}
t_nodeptr m_content
Definition: iterators.h:54
template<typename t_item>
void pfc::const_iterator< t_item >::next ( )
throw (
)
inline

Definition at line 29 of file iterators.h.

29 {m_content = m_content->next();}
virtual t_self * next()
Definition: iterators.h:12
t_nodeptr m_content
Definition: iterators.h:54
template<typename t_item>
bool pfc::const_iterator< t_item >::operator!= ( const t_self other) const
throw (
)
inline

Definition at line 52 of file iterators.h.

52 {return this->m_content != other.m_content;}
t_nodeptr m_content
Definition: iterators.h:54
template<typename t_item>
const t_item& pfc::const_iterator< t_item >::operator* ( ) const
throw (
)
inline

Definition at line 43 of file iterators.h.

43 {return m_content->m_content;}
t_nodeptr m_content
Definition: iterators.h:54
template<typename t_item>
const t_self& pfc::const_iterator< t_item >::operator++ ( )
throw (
)
inline

Definition at line 46 of file iterators.h.

46 {this->next(); return *this;}
template<typename t_item>
t_self pfc::const_iterator< t_item >::operator++ ( int  )
throw (
)
inline

Definition at line 48 of file iterators.h.

48 {t_self old = *this; this->next(); return old;}
const_iterator< t_item > t_self
Definition: iterators.h:21
template<typename t_item>
const t_self& pfc::const_iterator< t_item >::operator-- ( )
throw (
)
inline

Definition at line 47 of file iterators.h.

47 {this->prev(); return *this;}
template<typename t_item>
t_self pfc::const_iterator< t_item >::operator-- ( int  )
throw (
)
inline

Definition at line 49 of file iterators.h.

49 {t_self old = *this; this->prev(); return old;}
const_iterator< t_item > t_self
Definition: iterators.h:21
template<typename t_item>
const t_item* pfc::const_iterator< t_item >::operator-> ( ) const
throw (
)
inline

Definition at line 44 of file iterators.h.

44 {return &m_content->m_content;}
t_nodeptr m_content
Definition: iterators.h:54
template<typename t_item>
t_self const& pfc::const_iterator< t_item >::operator= ( t_self const &  other)
inline

Definition at line 40 of file iterators.h.

40 {m_content = other.m_content; return *this;}
t_nodeptr m_content
Definition: iterators.h:54
template<typename t_item>
t_self const& pfc::const_iterator< t_item >::operator= ( t_self &&  other)
inline

Definition at line 41 of file iterators.h.

41 {m_content = std::move(other.m_content); return *this;}
t_nodeptr m_content
Definition: iterators.h:54
template<typename t_item>
bool pfc::const_iterator< t_item >::operator== ( const t_self other) const
throw (
)
inline

Definition at line 51 of file iterators.h.

51 {return this->m_content == other.m_content;}
t_nodeptr m_content
Definition: iterators.h:54
template<typename t_item>
void pfc::const_iterator< t_item >::prev ( )
throw (
)
inline

Definition at line 28 of file iterators.h.

28 {m_content = m_content->prev();}
t_nodeptr m_content
Definition: iterators.h:54
virtual t_self * prev()
Definition: iterators.h:11
template<typename t_item>
void pfc::const_iterator< t_item >::walk ( bool  forward)
throw (
)
inline

Definition at line 27 of file iterators.h.

27 {m_content = m_content->walk(forward);}
t_nodeptr m_content
Definition: iterators.h:54
t_self * walk(bool forward)
Definition: iterators.h:14

Field Documentation

template<typename t_item>
t_nodeptr pfc::const_iterator< t_item >::m_content
protected

Definition at line 54 of file iterators.h.


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