1.1 --- a/epoc32/include/stdapis/stlportv5/stl/_iterator_old.h Wed Mar 31 12:27:01 2010 +0100
1.2 +++ b/epoc32/include/stdapis/stlportv5/stl/_iterator_old.h Wed Mar 31 12:33:34 2010 +0100
1.3 @@ -9,13 +9,13 @@
1.4 * Copyright (c) 1997
1.5 * Moscow Center for SPARC Technology
1.6 *
1.7 - * Copyright (c) 1999
1.8 + * Copyright (c) 1999
1.9 * Boris Fomitchev
1.10 *
1.11 * This material is provided "as is", with absolutely no warranty expressed
1.12 * or implied. Any use is at your own risk.
1.13 *
1.14 - * Permission to use or copy this software for any purpose is hereby granted
1.15 + * Permission to use or copy this software for any purpose is hereby granted
1.16 * without fee, provided the above notices are retained on all copies.
1.17 * Permission to modify the code and to distribute modified code is granted,
1.18 * provided the above notices are retained, and a notice that the code was
1.19 @@ -53,18 +53,18 @@
1.20 # if defined (_STLP_MSVC50_COMPATIBILITY)
1.21 # define __Reference _Reference, class _Pointer
1.22 # define Reference__ _Reference, _Pointer
1.23 -template <class _BidirectionalIterator, class _Tp,
1.24 - __DFL_TMPL_PARAM(_Reference, _Tp& ),
1.25 - __DFL_TMPL_PARAM(_Pointer, _Tp*),
1.26 - __DFL_TYPE_PARAM(_Distance, ptrdiff_t)>
1.27 +template <class _BidirectionalIterator, class _Tp,
1.28 + _STLP_DFL_TMPL_PARAM(_Reference, _Tp& ),
1.29 + _STLP_DFL_TMPL_PARAM(_Pointer, _Tp*),
1.30 + _STLP_DFL_TYPE_PARAM(_Distance, ptrdiff_t)>
1.31 # else
1.32 # define __Reference _Reference
1.33 # define Reference__ _Reference
1.34 -template <class _BidirectionalIterator, class _Tp, __DFL_TMPL_PARAM(_Reference, _Tp& ),
1.35 - __DFL_TYPE_PARAM(_Distance, ptrdiff_t)>
1.36 +template <class _BidirectionalIterator, class _Tp, _STLP_DFL_TMPL_PARAM(_Reference, _Tp& ),
1.37 + _STLP_DFL_TYPE_PARAM(_Distance, ptrdiff_t)>
1.38 # endif
1.39 class reverse_bidirectional_iterator {
1.40 - typedef reverse_bidirectional_iterator<_BidirectionalIterator, _Tp,
1.41 + typedef reverse_bidirectional_iterator<_BidirectionalIterator, _Tp,
1.42 Reference__, _Distance> _Self;
1.43 // friend inline bool operator== _STLP_NULL_TMPL_ARGS (const _Self& x, const _Self& y);
1.44 protected:
1.45 @@ -86,7 +86,7 @@
1.46 _BidirectionalIterator base() const { return current; }
1.47 _Reference operator*() const {
1.48 _BidirectionalIterator __tmp = current;
1.49 - return *--__tmp;
1.50 + return *(--__tmp);
1.51 }
1.52 # if !(defined _STLP_NO_ARROW_OPERATOR)
1.53 _STLP_DEFINE_ARROW_OPERATOR
1.54 @@ -112,24 +112,24 @@
1.55 };
1.56
1.57 # ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES
1.58 -template <class _BidirectionalIterator, class _Tp, class __Reference,
1.59 +template <class _BidirectionalIterator, class _Tp, class __Reference,
1.60 class _Distance>
1.61 inline bidirectional_iterator_tag _STLP_CALL
1.62 -iterator_category(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&)
1.63 +iterator_category(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&)
1.64 { return bidirectional_iterator_tag(); }
1.65 -template <class _BidirectionalIterator, class _Tp, class __Reference,
1.66 +template <class _BidirectionalIterator, class _Tp, class __Reference,
1.67 class _Distance>
1.68 inline _Tp* _STLP_CALL
1.69 value_type(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&)
1.70 { return (_Tp*) 0; }
1.71 -template <class _BidirectionalIterator, class _Tp, class __Reference,
1.72 +template <class _BidirectionalIterator, class _Tp, class __Reference,
1.73 class _Distance>
1.74 inline _Distance* _STLP_CALL
1.75 distance_type(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, Reference__, _Distance>&)
1.76 { return (_Distance*) 0; }
1.77 #endif
1.78
1.79 -template <class _BidirectionalIterator, class _Tp, class __Reference,
1.80 +template <class _BidirectionalIterator, class _Tp, class __Reference,
1.81 class _Distance>
1.82 inline bool _STLP_CALL operator==(
1.83 const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp,
1.84 @@ -144,7 +144,7 @@
1.85
1.86 template <class _BiIter, class _Tp, class __Reference, class _Distance>
1.87 inline bool _STLP_CALL operator!=(
1.88 - const reverse_bidirectional_iterator<_BiIter, _Tp, Reference__, _Distance>& __x,
1.89 + const reverse_bidirectional_iterator<_BiIter, _Tp, Reference__, _Distance>& __x,
1.90 const reverse_bidirectional_iterator<_BiIter, _Tp, Reference__, _Distance>& __y)
1.91 {
1.92 return !(__x == __y);
1.93 @@ -157,20 +157,20 @@
1.94 // This is the old version of reverse_iterator, as found in the original
1.95 // HP STL. It does not use partial specialization.
1.96
1.97 -template <class _RandomAccessIterator,
1.98 +template <class _RandomAccessIterator,
1.99 # if defined (__MSL__) && (__MSL__ >= 0x2405) \
1.100 - || defined(__MRC__) || (defined(__SC__) && !defined(__DMC__)) //*ty 03/22/2001 - give the default to the secont param under MPW.
1.101 - // I believe giving the default will cause any harm even though the 2nd type parameter
1.102 - // still have to be provided for T* type iterators.
1.103 - __DFL_TMPL_PARAM(_Tp,iterator_traits<_RandomAccessIterator>::value_type),
1.104 + || defined(__MRC__) || (defined(__SC__) && !defined(__DMC__)) //*ty 03/22/2001 - give the default to the secont param under MPW.
1.105 + // I believe giving the default will cause any harm even though the 2nd type parameter
1.106 + // still have to be provided for T* type iterators.
1.107 + _STLP_DFL_TMPL_PARAM(_Tp,iterator_traits<_RandomAccessIterator>::value_type),
1.108 # else
1.109 - class _Tp,
1.110 + class _Tp,
1.111 #endif
1.112 - __DFL_TMPL_PARAM(_Reference,_Tp&),
1.113 + _STLP_DFL_TMPL_PARAM(_Reference,_Tp&),
1.114 # if defined (_STLP_MSVC50_COMPATIBILITY)
1.115 - __DFL_TMPL_PARAM(_Pointer, _Tp*),
1.116 + _STLP_DFL_TMPL_PARAM(_Pointer, _Tp*),
1.117 # endif
1.118 - __DFL_TYPE_PARAM(_Distance,ptrdiff_t)>
1.119 + _STLP_DFL_TYPE_PARAM(_Distance,ptrdiff_t)>
1.120 class reverse_iterator {
1.121 typedef reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance>
1.122 _Self;
1.123 @@ -190,8 +190,8 @@
1.124 reverse_iterator() {}
1.125 reverse_iterator(const _Self& __x) : __current(__x.base()) {}
1.126 explicit reverse_iterator(_RandomAccessIterator __x) : __current(__x) {}
1.127 - _Self& operator=(const _Self& __x) {__current = __x.base(); return *this; }
1.128 -
1.129 + _Self& operator=(const _Self& __x) {__current = __x.base(); return *this; }
1.130 +
1.131 _RandomAccessIterator base() const { return __current; }
1.132 _Reference operator*() const { return *(__current - (difference_type)1); }
1.133
1.134 @@ -235,7 +235,7 @@
1.135 };
1.136
1.137 # ifdef _STLP_USE_OLD_HP_ITERATOR_QUERIES
1.138 -template <class _RandomAccessIterator, class _Tp,
1.139 +template <class _RandomAccessIterator, class _Tp,
1.140 class __Reference, class _Distance>
1.141 inline random_access_iterator_tag _STLP_CALL
1.142 iterator_category(const reverse_iterator<_RandomAccessIterator, _Tp, Reference__, _Distance>&)
1.143 @@ -255,7 +255,7 @@
1.144 class __Reference, class _Distance>
1.145 inline bool _STLP_CALL
1.146 operator==(const reverse_iterator<_RandomAccessIterator, _Tp,
1.147 - Reference__, _Distance>& __x,
1.148 + Reference__, _Distance>& __x,
1.149 const reverse_iterator<_RandomAccessIterator, _Tp,
1.150 Reference__, _Distance>& __y)
1.151 {
1.152 @@ -264,9 +264,9 @@
1.153
1.154 template <class _RandomAccessIterator, class _Tp,
1.155 class __Reference, class _Distance>
1.156 -inline bool _STLP_CALL
1.157 +inline bool _STLP_CALL
1.158 operator<(const reverse_iterator<_RandomAccessIterator, _Tp,
1.159 - Reference__, _Distance>& __x,
1.160 + Reference__, _Distance>& __x,
1.161 const reverse_iterator<_RandomAccessIterator, _Tp,
1.162 Reference__, _Distance>& __y)
1.163 {
1.164 @@ -277,9 +277,9 @@
1.165
1.166 template <class _RandomAccessIterator, class _Tp,
1.167 class __Reference, class _Distance>
1.168 -inline bool _STLP_CALL
1.169 +inline bool _STLP_CALL
1.170 operator!=(const reverse_iterator<_RandomAccessIterator, _Tp,
1.171 - Reference__, _Distance>& __x,
1.172 + Reference__, _Distance>& __x,
1.173 const reverse_iterator<_RandomAccessIterator, _Tp,
1.174 Reference__, _Distance>& __y) {
1.175 return !(__x == __y);
1.176 @@ -287,9 +287,9 @@
1.177
1.178 template <class _RandomAccessIterator, class _Tp,
1.179 class __Reference, class _Distance>
1.180 -inline bool _STLP_CALL
1.181 +inline bool _STLP_CALL
1.182 operator>(const reverse_iterator<_RandomAccessIterator, _Tp,
1.183 - Reference__, _Distance>& __x,
1.184 + Reference__, _Distance>& __x,
1.185 const reverse_iterator<_RandomAccessIterator, _Tp,
1.186 Reference__, _Distance>& __y) {
1.187 return __y < __x;
1.188 @@ -297,9 +297,9 @@
1.189
1.190 template <class _RandomAccessIterator, class _Tp,
1.191 class __Reference, class _Distance>
1.192 -inline bool _STLP_CALL
1.193 +inline bool _STLP_CALL
1.194 operator<=(const reverse_iterator<_RandomAccessIterator, _Tp,
1.195 - Reference__, _Distance>& __x,
1.196 + Reference__, _Distance>& __x,
1.197 const reverse_iterator<_RandomAccessIterator, _Tp,
1.198 Reference__, _Distance>& __y) {
1.199 return !(__y < __x);
1.200 @@ -307,9 +307,9 @@
1.201
1.202 template <class _RandomAccessIterator, class _Tp,
1.203 class __Reference, class _Distance>
1.204 -inline bool _STLP_CALL
1.205 +inline bool _STLP_CALL
1.206 operator>=(const reverse_iterator<_RandomAccessIterator, _Tp,
1.207 - Reference__, _Distance>& __x,
1.208 + Reference__, _Distance>& __x,
1.209 const reverse_iterator<_RandomAccessIterator, _Tp,
1.210 Reference__, _Distance>& __y) {
1.211 return !(__x < __y);
1.212 @@ -321,7 +321,7 @@
1.213 class __Reference, class _Distance>
1.214 inline _Distance _STLP_CALL
1.215 operator-(const reverse_iterator<_RandomAccessIterator, _Tp,
1.216 - Reference__, _Distance>& __x,
1.217 + Reference__, _Distance>& __x,
1.218 const reverse_iterator<_RandomAccessIterator, _Tp,
1.219 Reference__, _Distance>& __y)
1.220 {