Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

CB2::PStringTokenizer< Tchar > Class Template Reference

Split string to tokens. More...

#include <utils.h>

Inheritance diagram for CB2::PStringTokenizer< Tchar >:

CB2::Class List of all members.

Public Types

typedef PStringTokenizer<
Tchar > 
this_type
 Template type alias.

typedef PString< Tchar > item_type
 Item type.

typedef List< item_typestorage_type
 Storage type.

typedef storage_type::size_type size_type
 Size type.

typedef storage_type::ref_type ref_type
 Reference type.

typedef Iterator< this_type,
ref_type, item_type
iterator
 Iterator.

typedef RevIterator< this_type,
ref_type, item_type
rev_iterator
 Reverse iterator.


Public Member Functions

 PStringTokenizer (const item_type &str, const item_type &delim)
 Constructor.

 ~PStringTokenizer ()
 Destructor.

size_type Len () const
 Number of tokens.

const item_typeoperator[] (const size_type pos) const
 Access token.

ref_type RefBegin () const
 Get starting reference.

ref_type RefEnd () const
 Get final reference.

ref_type RevRefBegin () const
 Get starting reverse reference.

ref_type RevRefEnd () const
 Get final reverse reference.

ref_type RefNext (const ref_type &prev) const
 Get succeding reference.

ref_type RefPrev (const ref_type &prev) const
 Get predecessing reference.

const item_typeDeref (const ref_type &ref) const
 Dereference.

const item_typeRevDeref (const ref_type &ref) const
 Reverse dereference.

iterator Begin () const
 Get starting iterator.

iterator End () const
 Get final iterator.

rev_iterator RevBegin () const
 Get starting reverse iterator.

rev_iterator RevEnd () const
 Get final iterator.


Public Attributes

int tag
 Tag for user-specific data.


Private Attributes

storage_typetokens
 String tokens.


Detailed Description

template<class Tchar>
class CB2::PStringTokenizer< Tchar >

Split string to tokens.

This template splits string into tokens (delimited by another string), which are then accessible using iterators.


Member Typedef Documentation

template<class Tchar>
typedef PString< Tchar> CB2::PStringTokenizer< Tchar >::item_type
 

Item type.

template<class Tchar>
typedef Iterator< this_type, ref_type, item_type> CB2::PStringTokenizer< Tchar >::iterator
 

Iterator.

template<class Tchar>
typedef storage_type::ref_type CB2::PStringTokenizer< Tchar >::ref_type
 

Reference type.

template<class Tchar>
typedef RevIterator< this_type, ref_type, item_type> CB2::PStringTokenizer< Tchar >::rev_iterator
 

Reverse iterator.

template<class Tchar>
typedef storage_type::size_type CB2::PStringTokenizer< Tchar >::size_type
 

Size type.

template<class Tchar>
typedef List< item_type> CB2::PStringTokenizer< Tchar >::storage_type
 

Storage type.

template<class Tchar>
typedef PStringTokenizer< Tchar> CB2::PStringTokenizer< Tchar >::this_type
 

Template type alias.


Constructor & Destructor Documentation

template<class Tchar>
CB2::PStringTokenizer< Tchar >::PStringTokenizer const item_type str,
const item_type delim
[inline]
 

Constructor.

Initialize tokenizer with a string to split and delimiter. Prepare token strings.

Parameters:
str String to tokenize.
delim Token delimiter.

template<class Tchar>
CB2::PStringTokenizer< Tchar >::~PStringTokenizer  )  [inline]
 

Destructor.

Delete tokens.


Member Function Documentation

template<class Tchar>
iterator CB2::PStringTokenizer< Tchar >::Begin  )  const [inline]
 

Get starting iterator.

Returns:
Starting iterator.

template<class Tchar>
const item_type& CB2::PStringTokenizer< Tchar >::Deref const ref_type ref  )  const [inline]
 

Dereference.

Get the token (substring) referenced by 'ref'. For final or invalid references, Substr() method throws ExceptionRange.

Parameters:
ref Token reference.
Returns:
Token value.

template<class Tchar>
iterator CB2::PStringTokenizer< Tchar >::End  )  const [inline]
 

Get final iterator.

Returns:
Final iterator.

template<class Tchar>
size_type CB2::PStringTokenizer< Tchar >::Len  )  const [inline]
 

Number of tokens.

Returns:
Number of tokens.

template<class Tchar>
const item_type& CB2::PStringTokenizer< Tchar >::operator[] const size_type  pos  )  const [inline]
 

Access token.

Parameters:
pos Index of the token to access.
Returns:
Token.

template<class Tchar>
ref_type CB2::PStringTokenizer< Tchar >::RefBegin  )  const [inline]
 

Get starting reference.

Get the reference to the first token in the string.

Returns:
Starting reference.

template<class Tchar>
ref_type CB2::PStringTokenizer< Tchar >::RefEnd  )  const [inline]
 

Get final reference.

Get the final reference. This is a reference pointing after the end of the string.

Returns:
Final reference.

template<class Tchar>
ref_type CB2::PStringTokenizer< Tchar >::RefNext const ref_type prev  )  const [inline]
 

Get succeding reference.

Get the reference to a token succeding the token referenced by 'prev'.

Parameters:
prev Original reference.
Returns:
Next reference.

template<class Tchar>
ref_type CB2::PStringTokenizer< Tchar >::RefPrev const ref_type prev  )  const [inline]
 

Get predecessing reference.

Get the reference to a token predecessing the token referenced by 'prev'.

Parameters:
prev Original reference.
Returns:
Previous reference.

template<class Tchar>
rev_iterator CB2::PStringTokenizer< Tchar >::RevBegin  )  const [inline]
 

Get starting reverse iterator.

Returns:
Starting reverse iterator.

template<class Tchar>
const item_type& CB2::PStringTokenizer< Tchar >::RevDeref const ref_type ref  )  const [inline]
 

Reverse dereference.

Get the token (substring) referenced by 'ref'. For final or invalid references, Substr() method throws ExceptionRange.

Parameters:
ref Token reference.
Returns:
Token value.

template<class Tchar>
rev_iterator CB2::PStringTokenizer< Tchar >::RevEnd  )  const [inline]
 

Get final iterator.

Returns:
Final iterator.

template<class Tchar>
ref_type CB2::PStringTokenizer< Tchar >::RevRefBegin  )  const [inline]
 

Get starting reverse reference.

Get the reference to the last token in the string.

Returns:
Starting reverse reference.

template<class Tchar>
ref_type CB2::PStringTokenizer< Tchar >::RevRefEnd  )  const [inline]
 

Get final reverse reference.

Get the final reverse reference to the first item.

Returns:
Final reverse reference.


Member Data Documentation

int CB2::Class::tag [inherited]
 

Tag for user-specific data.

template<class Tchar>
storage_type* CB2::PStringTokenizer< Tchar >::tokens [private]
 

String tokens.


The documentation for this class was generated from the following file:
Generated on Thu Sep 16 23:26:49 2004 for ColorBox2 by doxygen 1.3.7