[glibmm] Allow comparison of const and non-const ustring iterators
- From: Daniel Elstner <daniel src gnome org>
- To: svn-commits-list gnome org
- Subject: [glibmm] Allow comparison of const and non-const ustring iterators
- Date: Wed, 6 May 2009 09:21:40 -0400 (EDT)
commit da6b22e7ec6e5e03b4875c6d2c2e4baabbbe1f35
Author: Chris Vine <chris cvine freeserve co uk>
Date: Wed May 6 15:19:45 2009 +0200
Allow comparison of const and non-const ustring iterators
* glib/glibmm/ustring.h (ustring_Iterator<>): Turn the relational
operators into non-templated functions, and rely on the implicit
conversion of ustring::iterator to ustring::const_iterator. This
makes the operators work with mixed argument types. (bgo #580773)
---
ChangeLog | 7 +++++++
glib/glibmm/ustring.h | 24 ++++++++++++------------
2 files changed, 19 insertions(+), 12 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 824acdb..4269a01 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-05-06 Chris Vine <chris cvine freeserve co uk>
+
+ * glib/glibmm/ustring.h (ustring_Iterator<>): Turn the relational
+ operators into non-templated functions, and rely on the implicit
+ conversion of ustring::iterator to ustring::const_iterator. This
+ makes the operators work with mixed argument types. (bgo #580773)
+
2009-04-23 Johannes Schmid <jschmid openismus com>
* tools/pm/DocParser.pm:
diff --git a/glib/glibmm/ustring.h b/glib/glibmm/ustring.h
index 90cb56d..0a7614c 100644
--- a/glib/glibmm/ustring.h
+++ b/glib/glibmm/ustring.h
@@ -991,43 +991,43 @@ const ustring_Iterator<T> ustring_Iterator<T>::operator--(int)
/** @relates Glib::ustring_Iterator */
-template <class T> inline
-bool operator==(const ustring_Iterator<T>& lhs, const ustring_Iterator<T>& rhs)
+inline
+bool operator==(const Glib::ustring::const_iterator& lhs, const Glib::ustring::const_iterator& rhs)
{
return (lhs.base() == rhs.base());
}
/** @relates Glib::ustring_Iterator */
-template <class T> inline
-bool operator!=(const ustring_Iterator<T>& lhs, const ustring_Iterator<T>& rhs)
+inline
+bool operator!=(const Glib::ustring::const_iterator& lhs, const Glib::ustring::const_iterator& rhs)
{
return (lhs.base() != rhs.base());
}
/** @relates Glib::ustring_Iterator */
-template <class T> inline
-bool operator<(const ustring_Iterator<T>& lhs, const ustring_Iterator<T>& rhs)
+inline
+bool operator<(const Glib::ustring::const_iterator& lhs, const Glib::ustring::const_iterator& rhs)
{
return (lhs.base() < rhs.base());
}
/** @relates Glib::ustring_Iterator */
-template <class T> inline
-bool operator>(const ustring_Iterator<T>& lhs, const ustring_Iterator<T>& rhs)
+inline
+bool operator>(const Glib::ustring::const_iterator& lhs, const Glib::ustring::const_iterator& rhs)
{
return (lhs.base() > rhs.base());
}
/** @relates Glib::ustring_Iterator */
-template <class T> inline
-bool operator<=(const ustring_Iterator<T>& lhs, const ustring_Iterator<T>& rhs)
+inline
+bool operator<=(const Glib::ustring::const_iterator& lhs, const Glib::ustring::const_iterator& rhs)
{
return (lhs.base() <= rhs.base());
}
/** @relates Glib::ustring_Iterator */
-template <class T> inline
-bool operator>=(const ustring_Iterator<T>& lhs, const ustring_Iterator<T>& rhs)
+inline
+bool operator>=(const Glib::ustring::const_iterator& lhs, const Glib::ustring::const_iterator& rhs)
{
return (lhs.base() >= rhs.base());
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]