Plasma Engine  2.0
Loading...
Searching...
No Matches
plStringReverseIterator Struct Reference

STL reverse iterator used by all string classes. Iterates over unicode characters. The iterator starts at the last character of the string and ends at the address before the first character of the string. More...

#include <StringIterator.h>

Public Types

using iterator_category = std::bidirectional_iterator_tag
 
using value_type = plUInt32
 
using difference_type = std::ptrdiff_t
 
using pointer = const char*
 
using reference = plUInt32
 

Public Member Functions

 PL_DECLARE_POD_TYPE ()
 
PL_ALWAYS_INLINE plStringReverseIterator ()=default
 Constructs an invalid iterator.
 
PL_FORCE_INLINE plStringReverseIterator (const char *pStartPtr, const char *pEndPtr, const char *pCurPtr)
 Constructs either a rbegin or rend iterator for the given string.
 
PL_ALWAYS_INLINE bool IsValid () const
 Checks whether this iterator points to a valid element.
 
PL_ALWAYS_INLINE plUInt32 GetCharacter () const
 Returns the currently pointed to character in Utf32 encoding.
 
PL_ALWAYS_INLINE plUInt32 operator* () const
 Returns the currently pointed to character in Utf32 encoding.
 
PL_ALWAYS_INLINE const char * GetData () const
 Returns the address the iterator currently points to.
 
PL_ALWAYS_INLINE bool operator== (const plStringReverseIterator &it2) const
 Checks whether the two iterators point to the same element.
 
 PL_ADD_DEFAULT_OPERATOR_NOTEQUAL (const plStringReverseIterator &)
 
PL_FORCE_INLINE plStringReverseIteratoroperator++ ()
 Move to the next Utf8 character.
 
PL_FORCE_INLINE plStringReverseIteratoroperator-- ()
 Move to the previous Utf8 character.
 
PL_ALWAYS_INLINE plStringReverseIterator operator++ (int)
 Move to the next Utf8 character.
 
PL_ALWAYS_INLINE plStringReverseIterator operator-- (int)
 Move to the previous Utf8 character.
 
PL_FORCE_INLINE void operator+= (difference_type d)
 Advances the iterator forwards by d characters. Does not move it beyond the range's end.
 
PL_FORCE_INLINE void operator-= (difference_type d)
 Moves the iterator backwards by d characters. Does not move it beyond the range's start.
 
PL_ALWAYS_INLINE plStringReverseIterator operator+ (difference_type d) const
 Returns an iterator that is advanced forwards by d characters.
 
PL_ALWAYS_INLINE plStringReverseIterator operator- (difference_type d) const
 Returns an iterator that is advanced backwards by d characters.
 
PL_FORCE_INLINE void SetCurrentPosition (const char *szCurPos)
 Allows to set the 'current' iteration position to a different value.
 

Detailed Description

STL reverse iterator used by all string classes. Iterates over unicode characters. The iterator starts at the last character of the string and ends at the address before the first character of the string.

Member Function Documentation

◆ SetCurrentPosition()

PL_FORCE_INLINE void plStringReverseIterator::SetCurrentPosition ( const char * szCurPos)
inline

Allows to set the 'current' iteration position to a different value.

Must be between the iterators start and end range.


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