From cfe28ccd9dc92b05ec6981fa8b031b5150f3b323 Mon Sep 17 00:00:00 2001 From: cantor Date: Fri, 9 Nov 2007 04:14:10 +0000 Subject: [PATCH] Added < operator for iterator class. Another attempt to get iterator nested types declared portably. git-svn-id: https://svn.middleware.georgetown.edu/cpp-xmltooling/trunk@419 de75baf8-a10c-0410-a50a-987c0e22f00f --- xmltooling/util/XMLObjectChildrenList.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/xmltooling/util/XMLObjectChildrenList.h b/xmltooling/util/XMLObjectChildrenList.h index df6b860..f897df0 100644 --- a/xmltooling/util/XMLObjectChildrenList.h +++ b/xmltooling/util/XMLObjectChildrenList.h @@ -91,12 +91,13 @@ namespace xmltooling { template friend class XMLObjectChildrenList; template friend class XMLObjectPairList; public: - typedef typename _Ty::value_type value_type; - typedef typename _Ty::reference reference; - typedef typename _Ty::pointer pointer; + typedef typename std::iterator_traits::iterator_category iterator_category; + typedef typename std::iterator_traits::value_type value_type; + typedef typename std::iterator_traits::difference_type difference_type; + typedef typename std::iterator_traits::pointer pointer; + typedef typename std::iterator_traits::reference reference; typedef typename _Ty::const_reference const_reference; typedef typename _Ty::const_pointer const_pointer; - typedef typename _Ty::difference_type difference_type; XMLObjectChildrenIterator() { } @@ -180,6 +181,10 @@ namespace xmltooling { // test for iterator inequality return (!(m_iter == _Right.m_iter)); } + + bool operator<(const XMLObjectChildrenIterator &_Right) const { + return (m_iter < _Right.m_iter); + } /// @endcond }; -- 2.1.4