iterator 589 B

1234567891011121314151617181920212223242526
  1. // -*-c++-*-
  2. // vim: set ft=cpp:
  3. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  4. file LICENSE.rst or https://cmake.org/licensing for details. */
  5. #pragma once
  6. #include <iterator> // IWYU pragma: export
  7. #include <cm/bits/container_helpers.hxx> // IWYU pragma: export
  8. namespace cm {
  9. #if __cplusplus >= 201402L || defined(_MSVC_LANG) && _MSVC_LANG >= 201402L
  10. using std::make_reverse_iterator;
  11. #else
  12. template <class Iter>
  13. std::reverse_iterator<Iter> make_reverse_iterator(Iter it)
  14. {
  15. return std::reverse_iterator<Iter>(it);
  16. }
  17. #endif
  18. } // namespace cm