diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-07-17 16:20:32 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-07-17 16:20:32 +0200 |
commit | e187af6b40020053e3420a4c35a697f487308791 (patch) | |
tree | 72ecfbe49ff60e0c92111721955c5459486b66fa /butl/path | |
parent | 86a1e204d5b7e93ec42696afc0b8725d2c37ca54 (diff) |
Add reverse iteration support to path
Diffstat (limited to 'butl/path')
-rw-r--r-- | butl/path | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -236,6 +236,7 @@ namespace butl typedef path_traits<C> traits; struct iterator; + typedef std::reverse_iterator<iterator> reverse_iterator; // Construct special empty path. Note that we have to provide our // own implementation rather than using '=default' to make clang @@ -263,6 +264,9 @@ namespace butl // basic_path (const iterator& begin, const iterator& end); + basic_path (const reverse_iterator& rbegin, const reverse_iterator& rend) + : basic_path (end.base (), begin.base ()) {} + void swap (basic_path& p) { @@ -436,6 +440,9 @@ namespace butl iterator begin () const; iterator end () const; + reverse_iterator rbegin () const {return reverse_iterator (end ());} + reverse_iterator rend () const {return reverse_iterator (begin ());} + public: // Normalize the path. This includes collapsing the '.' and '..' // directories if possible, collapsing multiple directory |