string iterator's operator- should return difference_type, not size_t or unsigned
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45347 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -638,7 +638,7 @@ public:
|
|||||||
iterator_name& operator-=(size_t n) \
|
iterator_name& operator-=(size_t n) \
|
||||||
{ m_cur = wxString::AddToIter(m_cur, -(int)n); return *this; } \
|
{ m_cur = wxString::AddToIter(m_cur, -(int)n); return *this; } \
|
||||||
\
|
\
|
||||||
unsigned operator-(const iterator_name& i) const \
|
difference_type operator-(const iterator_name& i) const \
|
||||||
{ return wxString::DiffIters(m_cur, i.m_cur); } \
|
{ return wxString::DiffIters(m_cur, i.m_cur); } \
|
||||||
\
|
\
|
||||||
bool operator==(const iterator_name& i) const \
|
bool operator==(const iterator_name& i) const \
|
||||||
@@ -664,14 +664,14 @@ public:
|
|||||||
friend class WXDLLIMPEXP_BASE wxCStrData; \
|
friend class WXDLLIMPEXP_BASE wxCStrData; \
|
||||||
\
|
\
|
||||||
private: \
|
private: \
|
||||||
underlying_iterator m_cur;
|
underlying_iterator m_cur
|
||||||
|
|
||||||
class const_iterator;
|
class const_iterator;
|
||||||
|
|
||||||
class iterator
|
class iterator
|
||||||
{
|
{
|
||||||
WX_STR_ITERATOR_IMPL(iterator, wxChar*, wxUniCharRef,
|
WX_STR_ITERATOR_IMPL(iterator, wxChar*, wxUniCharRef,
|
||||||
wxUniCharRef::CreateForString(m_cur))
|
wxUniCharRef::CreateForString(m_cur));
|
||||||
|
|
||||||
friend class const_iterator;
|
friend class const_iterator;
|
||||||
};
|
};
|
||||||
@@ -681,7 +681,7 @@ public:
|
|||||||
// NB: reference_type is intentionally value, not reference, the character
|
// NB: reference_type is intentionally value, not reference, the character
|
||||||
// may be encoded differently in wxString data:
|
// may be encoded differently in wxString data:
|
||||||
WX_STR_ITERATOR_IMPL(const_iterator, const wxChar*, wxUniChar,
|
WX_STR_ITERATOR_IMPL(const_iterator, const wxChar*, wxUniChar,
|
||||||
wxUniChar(*m_cur))
|
wxUniChar(*m_cur));
|
||||||
|
|
||||||
public:
|
public:
|
||||||
const_iterator(const iterator& i) : m_cur(i.m_cur) {}
|
const_iterator(const iterator& i) : m_cur(i.m_cur) {}
|
||||||
|
@@ -184,6 +184,7 @@ public:
|
|||||||
typedef wxStringCharType value_type; \
|
typedef wxStringCharType value_type; \
|
||||||
typedef ref_type reference; \
|
typedef ref_type reference; \
|
||||||
typedef ptr_type pointer; \
|
typedef ptr_type pointer; \
|
||||||
|
typedef int difference_type; \
|
||||||
\
|
\
|
||||||
iterator_name(pointer ptr) : m_ptr(ptr) { } \
|
iterator_name(pointer ptr) : m_ptr(ptr) { } \
|
||||||
\
|
\
|
||||||
@@ -222,7 +223,7 @@ public:
|
|||||||
iterator_name& operator-=(size_t n) \
|
iterator_name& operator-=(size_t n) \
|
||||||
{ m_ptr -= n; return *this; } \
|
{ m_ptr -= n; return *this; } \
|
||||||
\
|
\
|
||||||
size_t operator-(const iterator_name& i) const \
|
difference_type operator-(const iterator_name& i) const \
|
||||||
{ return m_ptr - i.m_ptr; } \
|
{ return m_ptr - i.m_ptr; } \
|
||||||
\
|
\
|
||||||
bool operator==(const iterator_name& i) const \
|
bool operator==(const iterator_name& i) const \
|
||||||
@@ -271,6 +272,8 @@ public:
|
|||||||
const wxStringCharType*);
|
const wxStringCharType*);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#undef WX_DEFINE_STRINGIMPL_ITERATOR
|
||||||
|
|
||||||
|
|
||||||
// constructors and destructor
|
// constructors and destructor
|
||||||
// ctor for an empty string
|
// ctor for an empty string
|
||||||
|
Reference in New Issue
Block a user