The Battle for Wesnoth  1.19.5+dev
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
ucs4::iterator_base< string_type, update_implementation > Class Template Reference

#include <ucs4_iterator_base.hpp>

Public Types

typedef std::input_iterator_tag iterator_category
 
typedef char32_t value_type
 
typedef ptrdiff_t difference_type
 
typedef char32_t * pointer
 
typedef char32_t & reference
 

Public Member Functions

 iterator_base (const string_type &str)
 
 iterator_base (typename string_type::const_iterator const &begin, typename string_type::const_iterator const &end)
 
bool operator== (const iterator_base &a) const
 
bool operator!= (const iterator_base &a) const
 
iterator_baseoperator++ ()
 
char32_t operator* () const
 
bool next_is_end () const
 
const std::pair< typename string_type::const_iterator, typename string_type::const_iterator > & substr () const
 

Static Public Member Functions

static iterator_base begin (const string_type &str)
 
static iterator_base end (const string_type &str)
 

Private Member Functions

void update ()
 

Private Attributes

char32_t current_char
 
string_type::const_iterator string_end
 
std::pair< typename string_type::const_iterator, typename string_type::const_iterator > current_substr
 

Detailed Description

template<typename string_type, typename update_implementation>
class ucs4::iterator_base< string_type, update_implementation >

Definition at line 26 of file ucs4_iterator_base.hpp.

Member Typedef Documentation

◆ difference_type

template<typename string_type , typename update_implementation >
typedef ptrdiff_t ucs4::iterator_base< string_type, update_implementation >::difference_type

Definition at line 31 of file ucs4_iterator_base.hpp.

◆ iterator_category

template<typename string_type , typename update_implementation >
typedef std::input_iterator_tag ucs4::iterator_base< string_type, update_implementation >::iterator_category

Definition at line 29 of file ucs4_iterator_base.hpp.

◆ pointer

template<typename string_type , typename update_implementation >
typedef char32_t* ucs4::iterator_base< string_type, update_implementation >::pointer

Definition at line 32 of file ucs4_iterator_base.hpp.

◆ reference

template<typename string_type , typename update_implementation >
typedef char32_t& ucs4::iterator_base< string_type, update_implementation >::reference

Definition at line 33 of file ucs4_iterator_base.hpp.

◆ value_type

template<typename string_type , typename update_implementation >
typedef char32_t ucs4::iterator_base< string_type, update_implementation >::value_type

Definition at line 30 of file ucs4_iterator_base.hpp.

Constructor & Destructor Documentation

◆ iterator_base() [1/2]

template<typename string_type , typename update_implementation >
ucs4::iterator_base< string_type, update_implementation >::iterator_base ( const string_type &  str)
inline

◆ iterator_base() [2/2]

template<typename string_type , typename update_implementation >
ucs4::iterator_base< string_type, update_implementation >::iterator_base ( typename string_type::const_iterator const &  begin,
typename string_type::const_iterator const &  end 
)
inline

Member Function Documentation

◆ begin()

template<typename string_type , typename update_implementation >
static iterator_base ucs4::iterator_base< string_type, update_implementation >::begin ( const string_type &  str)
inlinestatic

◆ end()

template<typename string_type , typename update_implementation >
static iterator_base ucs4::iterator_base< string_type, update_implementation >::end ( const string_type &  str)
inlinestatic

◆ next_is_end()

template<typename string_type , typename update_implementation >
bool ucs4::iterator_base< string_type, update_implementation >::next_is_end ( ) const
inline

◆ operator!=()

template<typename string_type , typename update_implementation >
bool ucs4::iterator_base< string_type, update_implementation >::operator!= ( const iterator_base< string_type, update_implementation > &  a) const
inline

Definition at line 66 of file ucs4_iterator_base.hpp.

◆ operator*()

template<typename string_type , typename update_implementation >
char32_t ucs4::iterator_base< string_type, update_implementation >::operator* ( ) const
inline

◆ operator++()

template<typename string_type , typename update_implementation >
iterator_base& ucs4::iterator_base< string_type, update_implementation >::operator++ ( )
inline

◆ operator==()

template<typename string_type , typename update_implementation >
bool ucs4::iterator_base< string_type, update_implementation >::operator== ( const iterator_base< string_type, update_implementation > &  a) const
inline

◆ substr()

template<typename string_type , typename update_implementation >
const std::pair<typename string_type::const_iterator, typename string_type::const_iterator>& ucs4::iterator_base< string_type, update_implementation >::substr ( ) const
inline

◆ update()

template<typename string_type , typename update_implementation >
void ucs4::iterator_base< string_type, update_implementation >::update ( )
inlineprivate

Member Data Documentation

◆ current_char

template<typename string_type , typename update_implementation >
char32_t ucs4::iterator_base< string_type, update_implementation >::current_char
private

◆ current_substr

template<typename string_type , typename update_implementation >
std::pair<typename string_type::const_iterator, typename string_type::const_iterator> ucs4::iterator_base< string_type, update_implementation >::current_substr
private

◆ string_end

template<typename string_type , typename update_implementation >
string_type::const_iterator ucs4::iterator_base< string_type, update_implementation >::string_end
private

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