ReactOS  0.4.11-dev-946-g431643b
kjk::stringz_iterator< Type, Traits > Class Template Reference

#include <stringz_iterator.h>

Inheritance diagram for kjk::stringz_iterator< Type, Traits >:
Collaboration diagram for kjk::stringz_iterator< Type, Traits >:

Public Member Functions

 stringz_iterator ()
 
 stringz_iterator (const stringz_iterator &That)
 
const stringz_iteratoroperator= (const stringz_iterator &That)
 
bool operator== (const stringz_iterator &That) const
 
bool operator!= (const stringz_iterator &That) const
 
reference_ operator* () const
 
const stringz_iteratoroperator++ ()
 
stringz_iterator operator++ (int)
 
pointer_ base () const
 

Private Types

typedef const Typepointer_
 
typedef const Typereference_
 

Private Member Functions

 stringz_iterator (pointer_ p)
 

Static Private Member Functions

static pointer_ set_pointer (pointer_ p)
 

Private Attributes

pointer_ m_p
 

Friends

template<class CharT2 >
stringz_iterator< CharT2 > stringz_begin (const CharT2 *)
 
template<class Traits2 , class CharT2 >
stringz_iterator< CharT2, Traits2 > stringz_begin (const CharT2 *)
 
template<class CharT2 >
stringz_iterator< CharT2 > stringz_end (const CharT2 *)
 
template<class Traits2 , class CharT2 >
stringz_iterator< CharT2, Traits2 > stringz_end (const CharT2 *)
 

Detailed Description

template<class Type, class Traits>
class kjk::stringz_iterator< Type, Traits >

Definition at line 31 of file stringz_iterator.h.

Member Typedef Documentation

◆ pointer_

template<class Type, class Traits>
typedef const Type* kjk::stringz_iterator< Type, Traits >::pointer_
private

Definition at line 50 of file stringz_iterator.h.

◆ reference_

template<class Type, class Traits>
typedef const Type& kjk::stringz_iterator< Type, Traits >::reference_
private

Definition at line 51 of file stringz_iterator.h.

Constructor & Destructor Documentation

◆ stringz_iterator() [1/3]

template<class Type, class Traits>
kjk::stringz_iterator< Type, Traits >::stringz_iterator ( pointer_  p)
inlineexplicitprivate

Definition at line 63 of file stringz_iterator.h.

63 : m_p(set_pointer(p)) { }
GLfloat GLfloat p
Definition: glext.h:8902
static pointer_ set_pointer(pointer_ p)

◆ stringz_iterator() [2/3]

template<class Type, class Traits>
kjk::stringz_iterator< Type, Traits >::stringz_iterator ( )
inline

Definition at line 66 of file stringz_iterator.h.

66 : m_p() {}

◆ stringz_iterator() [3/3]

template<class Type, class Traits>
kjk::stringz_iterator< Type, Traits >::stringz_iterator ( const stringz_iterator< Type, Traits > &  That)
inline

Definition at line 67 of file stringz_iterator.h.

67 : m_p(set_pointer(That.m_p)) { }
static pointer_ set_pointer(pointer_ p)

Member Function Documentation

◆ base()

template<class Type, class Traits>
pointer_ kjk::stringz_iterator< Type, Traits >::base ( ) const
inline

Definition at line 100 of file stringz_iterator.h.

100 { return m_p; }

◆ operator!=()

template<class Type, class Traits>
bool kjk::stringz_iterator< Type, Traits >::operator!= ( const stringz_iterator< Type, Traits > &  That) const
inline

Definition at line 80 of file stringz_iterator.h.

81  {
82  return m_p != That.m_p;
83  }

◆ operator*()

template<class Type, class Traits>
reference_ kjk::stringz_iterator< Type, Traits >::operator* ( ) const
inline

Definition at line 85 of file stringz_iterator.h.

85 { return *m_p; }

◆ operator++() [1/2]

template<class Type, class Traits>
const stringz_iterator& kjk::stringz_iterator< Type, Traits >::operator++ ( )
inline

Definition at line 87 of file stringz_iterator.h.

88  {
89  m_p = set_pointer(m_p + 1);
90  return *this;
91  }
static pointer_ set_pointer(pointer_ p)

◆ operator++() [2/2]

template<class Type, class Traits>
stringz_iterator kjk::stringz_iterator< Type, Traits >::operator++ ( int  )
inline

Definition at line 93 of file stringz_iterator.h.

94  {
95  stringz_iterator oldValue(*this);
96  ++ (*this);
97  return oldValue;
98  }

◆ operator=()

template<class Type, class Traits>
const stringz_iterator& kjk::stringz_iterator< Type, Traits >::operator= ( const stringz_iterator< Type, Traits > &  That)
inline

Definition at line 69 of file stringz_iterator.h.

70  {
71  m_p = set_pointer(That.m_p);
72  return *this;
73  }
static pointer_ set_pointer(pointer_ p)

◆ operator==()

template<class Type, class Traits>
bool kjk::stringz_iterator< Type, Traits >::operator== ( const stringz_iterator< Type, Traits > &  That) const
inline

Definition at line 75 of file stringz_iterator.h.

76  {
77  return m_p == That.m_p;
78  }

◆ set_pointer()

template<class Type, class Traits>
static pointer_ kjk::stringz_iterator< Type, Traits >::set_pointer ( pointer_  p)
inlinestaticprivate

Definition at line 55 of file stringz_iterator.h.

Referenced by kjk::stringz_iterator< Type, Traits >::operator++(), and kjk::stringz_iterator< Type, Traits >::operator=().

56  {
57  if(p != 0 && Traits::eq_int_type(Traits::to_int_type(*p), 0))
58  return 0;
59  else
60  return p;
61  }
GLfloat GLfloat p
Definition: glext.h:8902

Friends And Related Function Documentation

◆ stringz_begin [1/2]

template<class Type, class Traits>
template<class CharT2 >
stringz_iterator<CharT2> stringz_begin ( const CharT2 *  )
friend

◆ stringz_begin [2/2]

template<class Type, class Traits>
template<class Traits2 , class CharT2 >
stringz_iterator<CharT2, Traits2> stringz_begin ( const CharT2 *  )
friend

◆ stringz_end [1/2]

template<class Type, class Traits>
template<class CharT2 >
stringz_iterator<CharT2> stringz_end ( const CharT2 *  )
friend

◆ stringz_end [2/2]

template<class Type, class Traits>
template<class Traits2 , class CharT2 >
stringz_iterator<CharT2, Traits2> stringz_end ( const CharT2 *  )
friend

Member Data Documentation

◆ m_p


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