commit 49003a7c6896980c797d7fa2f404a2620f8ed389
Author: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue May 10 13:09:22 2016 +0000
Optimize __directory_iterator_proxy for the common case
* include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
Overload operator* to move from rvalues.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236078 138bc75d-0d04-0410-961f-82ee72b054a4
@@ -158,7 +158,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
struct __directory_iterator_proxy
{
- const directory_entry& operator*() const noexcept { return _M_entry; }
+ const directory_entry& operator*() const& noexcept { return _M_entry; }
+
+ directory_entry operator*() && noexcept { return std::move(_M_entry); }
private:
friend class directory_iterator;