experimental: tolerate the existence of a `__deref` macro

Microsoft's SAL has a `__deref` macro which results in a compilation
failure when building the filesystem module on Windows.  Rename the
member function internally to avoid the conflict.

llvm-svn: 293449
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: a902e7aa941d5a82a44f11a42e4210812cf92d13
diff --git a/include/experimental/filesystem b/include/experimental/filesystem
index f934f7b..011218b 100644
--- a/include/experimental/filesystem
+++ b/include/experimental/filesystem
@@ -1924,7 +1924,7 @@
 
     const directory_entry& operator*() const {
         _LIBCPP_ASSERT(__imp_, "The end iterator cannot be dereferenced");
-        return __deref();
+        return __dereference();
     }
 
     const directory_entry* operator->() const
@@ -1949,11 +1949,14 @@
 
     // construct the dir_stream
     _LIBCPP_FUNC_VIS
-    directory_iterator(const path&, error_code *, directory_options = directory_options::none);
+    directory_iterator(const path&, error_code *,
+                       directory_options = directory_options::none);
+
     _LIBCPP_FUNC_VIS
     directory_iterator& __increment(error_code * __ec = nullptr);
+
     _LIBCPP_FUNC_VIS
-    const directory_entry& __deref() const;
+    const directory_entry& __dereference() const;
 
 private:
     shared_ptr<__dir_stream> __imp_;
@@ -2036,11 +2039,11 @@
 
     _LIBCPP_INLINE_VISIBILITY
     const directory_entry& operator*() const
-    { return __deref(); }
+    { return __dereference(); }
 
     _LIBCPP_INLINE_VISIBILITY
     const directory_entry* operator->() const
-    { return &__deref(); }
+    { return &__dereference(); }
 
     recursive_directory_iterator& operator++()
     { return __increment(); }
@@ -2079,7 +2082,7 @@
                                  error_code *__ec);
 
     _LIBCPP_FUNC_VIS
-    const directory_entry& __deref() const;
+    const directory_entry& __dereference() const;
 
     _LIBCPP_FUNC_VIS
     bool __try_recursion(error_code* __ec);