diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-06-26 20:32:52 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-06-26 20:32:52 +0000 | 
| commit | 08bbd35a80bf7765fe0d3043f9eb5a2f2786b649 (patch) | |
| tree | 80108f0f128657f8623f8f66ad9735b4d88e7b47 /include/llvm/Support/Path.h | |
| parent | 7c7aba6e5fef47a01a136be655b0a92cfd7090f6 (diff) | |
Notes
Diffstat (limited to 'include/llvm/Support/Path.h')
| -rw-r--r-- | include/llvm/Support/Path.h | 11 | 
1 files changed, 5 insertions, 6 deletions
diff --git a/include/llvm/Support/Path.h b/include/llvm/Support/Path.h index 6ac51195519e..e5979674cf1c 100644 --- a/include/llvm/Support/Path.h +++ b/include/llvm/Support/Path.h @@ -17,6 +17,7 @@  #define LLVM_SUPPORT_PATH_H  #include "llvm/ADT/Twine.h" +#include "llvm/ADT/iterator.h"  #include "llvm/Support/DataTypes.h"  #include <iterator> @@ -49,7 +50,8 @@ enum class Style { windows, posix, native };  ///   C:\foo\bar => C:,/,foo,bar  /// @endcode  class const_iterator -    : public std::iterator<std::input_iterator_tag, const StringRef> { +    : public iterator_facade_base<const_iterator, std::input_iterator_tag, +                                  const StringRef> {    StringRef Path;      ///< The entire path.    StringRef Component; ///< The current component. Not necessarily in Path.    size_t    Position;  ///< The iterators current position within Path. @@ -61,10 +63,8 @@ class const_iterator  public:    reference operator*() const { return Component; } -  pointer   operator->() const { return &Component; }    const_iterator &operator++();    // preincrement    bool operator==(const const_iterator &RHS) const; -  bool operator!=(const const_iterator &RHS) const { return !(*this == RHS); }    /// @brief Difference in bytes between this and RHS.    ptrdiff_t operator-(const const_iterator &RHS) const; @@ -76,7 +76,8 @@ public:  /// \a path in reverse order. The traversal order is exactly reversed from that  /// of \a const_iterator  class reverse_iterator -    : public std::iterator<std::input_iterator_tag, const StringRef> { +    : public iterator_facade_base<reverse_iterator, std::input_iterator_tag, +                                  const StringRef> {    StringRef Path;      ///< The entire path.    StringRef Component; ///< The current component. Not necessarily in Path.    size_t    Position;  ///< The iterators current position within Path. @@ -87,10 +88,8 @@ class reverse_iterator  public:    reference operator*() const { return Component; } -  pointer   operator->() const { return &Component; }    reverse_iterator &operator++();    // preincrement    bool operator==(const reverse_iterator &RHS) const; -  bool operator!=(const reverse_iterator &RHS) const { return !(*this == RHS); }    /// @brief Difference in bytes between this and RHS.    ptrdiff_t operator-(const reverse_iterator &RHS) const;  | 
