Define path::_Cmpt after specializing path::__is_encoded_char
authorJonathan Wakely <jwakely@redhat.com>
Tue, 1 Dec 2015 11:33:17 +0000 (11:33 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 1 Dec 2015 11:33:17 +0000 (11:33 +0000)
* include/experimental/bits/fs_path.h (path::_Cmpt): Move definition
after path::__is_encoded_char explicit specializations.

From-SVN: r231107

libstdc++-v3/ChangeLog
libstdc++-v3/include/experimental/bits/fs_path.h

index 19aea8437d005eaa6455b9423904ca52e2f3e8a8..337a4e2a3e3e9c7a05985dc6516a00e4b6f04da7 100644 (file)
@@ -1,3 +1,8 @@
+2015-12-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/bits/fs_path.h (path::_Cmpt): Move definition
+       after __is_encoded_char explicit specializations.
+
 2015-11-26  Jonathan Wakely  <jwakely@redhat.com>
 
        * testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to
index 40462a6ab197d2cc860cd7857d66928e90bc60af..98820ad29b158b827dd8e6f7aeab062efb5a6cd4 100644 (file)
@@ -549,16 +549,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
     std::string _M_what = _M_gen_what();
   };
 
-  struct path::_Cmpt : path
-  {
-    _Cmpt(string_type __s, _Type __t, size_t __pos)
-      : path(std::move(__s), __t), _M_pos(__pos) { }
-
-    _Cmpt() : _M_pos(-1) { }
-
-    size_t _M_pos;
-  };
-
   template<>
     struct path::__is_encoded_char<char> : std::true_type
     { using value_type = char; };
@@ -575,6 +565,16 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
     struct path::__is_encoded_char<char32_t> : std::true_type
     { using value_type = char32_t; };
 
+  struct path::_Cmpt : path
+  {
+    _Cmpt(string_type __s, _Type __t, size_t __pos)
+      : path(std::move(__s), __t), _M_pos(__pos) { }
+
+    _Cmpt() : _M_pos(-1) { }
+
+    size_t _M_pos;
+  };
+
   // specialize _Cvt for degenerate 'noconv' case
   template<>
     struct path::_Cvt<path::value_type>