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
template <class _Tx, class _Tz> friend class XMLObjectChildrenList;
template <class _Tx, class _Tz> friend class XMLObjectPairList;
public:
template <class _Tx, class _Tz> friend class XMLObjectChildrenList;
template <class _Tx, class _Tz> 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<typename _Ty::iterator>::iterator_category iterator_category;
+ typedef typename std::iterator_traits<typename _Ty::iterator>::value_type value_type;
+ typedef typename std::iterator_traits<typename _Ty::iterator>::difference_type difference_type;
+ typedef typename std::iterator_traits<typename _Ty::iterator>::pointer pointer;
+ typedef typename std::iterator_traits<typename _Ty::iterator>::reference reference;
typedef typename _Ty::const_reference const_reference;
typedef typename _Ty::const_pointer const_pointer;
typedef typename _Ty::const_reference const_reference;
typedef typename _Ty::const_pointer const_pointer;
- typedef typename _Ty::difference_type difference_type;
XMLObjectChildrenIterator() {
}
XMLObjectChildrenIterator() {
}
// test for iterator inequality
return (!(m_iter == _Right.m_iter));
}
// test for iterator inequality
return (!(m_iter == _Right.m_iter));
}
+
+ bool operator<(const XMLObjectChildrenIterator &_Right) const {
+ return (m_iter < _Right.m_iter);
+ }