Changeset f041811 in mainline
- Timestamp:
- 2018-07-05T21:41:17Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 56521a2
- Parents:
- 604038c
- git-author:
- Jaroslav Jindrak <dzejrou@…> (2017-10-24 19:30:27)
- git-committer:
- Dzejrou <dzejrou@…> (2018-07-05 21:41:17)
- Location:
- uspace/lib/cpp/include/impl
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/cpp/include/impl/algorithm.hpp
r604038c rf041811 30 30 #define LIBCPP_ALGORITHM 31 31 32 #include <iterator> 32 33 #include <utility> 33 34 -
uspace/lib/cpp/include/impl/iterator.hpp
r604038c rf041811 30 30 #define LIBCPP_ITERATOR 31 31 32 #include <cstdlib> 33 32 34 namespace std 33 35 { … … 118 120 public: 119 121 using iterator_type = Iterator; 120 using difference_type = typename Iterator::difference_type;121 using reference = typename Iterator::reference;122 using pointer = typename Iterator::pointer;122 using difference_type = typename iterator_traits<Iterator>::difference_type; 123 using reference = typename iterator_traits<Iterator>::reference; 124 using pointer = typename iterator_traits<Iterator>::pointer; 123 125 124 126 reverse_iterator() … … 229 231 const reverse_iterator<Iterator2>& rhs) 230 232 { 231 return lhs. current_ == rhs.current_;233 return lhs.base() == rhs.base(); 232 234 } 233 235 234 236 template<class Iterator1, class Iterator2> 235 237 bool operator<(const reverse_iterator<Iterator1>& lhs, 236 238 const reverse_iterator<Iterator2>& rhs) 237 239 { 238 240 // Remember: they are reversed! 239 return lhs. current_ > rhs.current_;241 return lhs.base() > rhs.base(); 240 242 } 241 243 … … 244 246 const reverse_iterator<Iterator2>& rhs) 245 247 { 246 return lhs. current_ != rhs.current_;248 return lhs.base() != rhs.base(); 247 249 } 248 250 … … 251 253 const reverse_iterator<Iterator2>& rhs) 252 254 { 253 return lhs. current_ < rhs.current_;255 return lhs.base() < rhs.base(); 254 256 } 255 257 … … 258 260 const reverse_iterator<Iterator2>& rhs) 259 261 { 260 return lhs. current_ <= rhs.current_;262 return lhs.base() <= rhs.base(); 261 263 } 262 264 … … 265 267 const reverse_iterator<Iterator2>& rhs) 266 268 { 267 return lhs. current_ >= rhs.current_;269 return lhs.base() >= rhs.base(); 268 270 } 269 271 … … 273 275 -> decltype(rhs.base() - lhs.base()) 274 276 { 275 return rhs. current_ - lhs.current_;277 return rhs.base() - lhs.base(); 276 278 } 277 279 … … 282 284 ) 283 285 { 284 return reverse_iterator<Iterator>{it. current_- n};286 return reverse_iterator<Iterator>{it.base() - n}; 285 287 } 286 288 -
uspace/lib/cpp/include/impl/utility.hpp
r604038c rf041811 38 38 */ 39 39 40 template<typename T> 41 bool operator!=(const T& lhs, const T& rhs) 42 { 43 return !(lhs == rhs); 44 } 45 46 template<typename T> 47 bool operator>(const T& lhs, const T& rhs) 48 { 49 return (rhs < lhs); 50 } 51 52 template<typename T> 53 bool operator<=(const T& lhs, const T& rhs) 54 { 55 return !(rhs < lhs); 56 } 57 58 template<typename T> 59 bool operator>=(const T& lhs, const T& rhs) 60 { 61 return !(lhs < rhs); 40 namespace rel_ops 41 { 42 template<typename T> 43 bool operator!=(const T& lhs, const T& rhs) 44 { 45 return !(lhs == rhs); 46 } 47 48 template<typename T> 49 bool operator>(const T& lhs, const T& rhs) 50 { 51 return (rhs < lhs); 52 } 53 54 template<typename T> 55 bool operator<=(const T& lhs, const T& rhs) 56 { 57 return !(rhs < lhs); 58 } 59 60 template<typename T> 61 bool operator>=(const T& lhs, const T& rhs) 62 { 63 return !(lhs < rhs); 64 } 62 65 } 63 66
Note:
See TracChangeset
for help on using the changeset viewer.