Simplify and clean up library literals.
authorEd Smith-Rowland <3dw4rd@verizon.net>
Sat, 8 Jun 2013 22:43:18 +0000 (22:43 +0000)
committerEdward Smith-Rowland <emsr@gcc.gnu.org>
Sat, 8 Jun 2013 22:43:18 +0000 (22:43 +0000)
2013-06-07  Ed Smith-Rowland  <3dw4rd@verizon.net>

Simplify and clean up library literals.
* include/std/chrono: Simplify namespace and versioning management.
* include/bits/basic_string.h: Ditto.
* testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
* testsuite/20_util/duration/literals/values.cc: Ditto.
* testsuite/21_strings/basic_string/literals/types.cc: Ditto.
* testsuite/21_strings/basic_string/literals/values.cc: Ditto.

From-SVN: r199861

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/basic_string.h
libstdc++-v3/include/std/chrono
libstdc++-v3/testsuite/20_util/duration/literals/types.cc
libstdc++-v3/testsuite/20_util/duration/literals/values.cc
libstdc++-v3/testsuite/21_strings/basic_string/literals/types.cc
libstdc++-v3/testsuite/21_strings/basic_string/literals/values.cc

index deb7ae2c336b1c584e9064ead62957771d1aefe6..8ca5e1ac814a792ba65d47e9cd49e800b93ffa35 100644 (file)
@@ -1,3 +1,13 @@
+2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
+
+       Simplify and clean up library literals.
+       * include/std/chrono: Simplify namespace and versioning management.
+       * include/bits/basic_string.h: Ditto.
+       * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
+       * testsuite/20_util/duration/literals/values.cc: Ditto.
+       * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
+       * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
+
 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
 
        Implement N3654 - Quoted Strings Library Proposal
index a249df237422f0e9693bc074f7deef7b768dcb38..aec48d7430ae5992400853ebd674ce2d61f55789 100644 (file)
@@ -3103,46 +3103,39 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { };
 #endif
 
-_GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
-
 #if __cplusplus > 201103L
 
-namespace std _GLIBCXX_VISIBILITY(default)
-{
-_GLIBCXX_BEGIN_NAMESPACE_VERSION
+  inline namespace literals {
+  inline namespace string_literals {
 
-inline namespace literals {
-inline namespace string_literals {
-
-  inline basic_string<char>
-  operator"" s(const char* __str, size_t __len)
-  { return basic_string<char>{__str, __len}; }
+    inline basic_string<char>
+    operator"" s(const char* __str, size_t __len)
+    { return basic_string<char>{__str, __len}; }
 
 #ifdef _GLIBCXX_USE_WCHAR_T
-  inline basic_string<wchar_t>
-  operator"" s(const wchar_t* __str, size_t __len)
-  { return basic_string<wchar_t>{__str, __len}; }
+    inline basic_string<wchar_t>
+    operator"" s(const wchar_t* __str, size_t __len)
+    { return basic_string<wchar_t>{__str, __len}; }
 #endif
 
 #ifdef _GLIBCXX_USE_C99_STDINT_TR1
-  inline basic_string<char16_t>
-  operator"" s(const char16_t* __str, size_t __len)
-  { return basic_string<char16_t>{__str, __len}; }
+    inline basic_string<char16_t>
+    operator"" s(const char16_t* __str, size_t __len)
+    { return basic_string<char16_t>{__str, __len}; }
 
-  inline basic_string<char32_t>
-  operator"" s(const char32_t* __str, size_t __len)
-  { return basic_string<char32_t>{__str, __len}; }
+    inline basic_string<char32_t>
+    operator"" s(const char32_t* __str, size_t __len)
+    { return basic_string<char32_t>{__str, __len}; }
 #endif
 
-} // inline namespace string_literals
-} // inline namespace literals
+  } // inline namespace string_literals
+  } // inline namespace literals
+
+#endif // __cplusplus > 201103L
 
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace std
 
-#endif // __cplusplus > 201103L
-
 #endif // C++11
 
 #endif /* _BASIC_STRING_H */
index 7a574a62894cf964c235049f1c86a1d810e94314..b32fb4460deec272140b0d64175dda8ae7612d74 100644 (file)
@@ -713,7 +713,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
      *
      *  Time returned represents wall time from the system-wide clock.
     */
-     struct system_clock
+    struct system_clock
     {
       typedef chrono::nanoseconds                              duration;
       typedef duration::rep                                            rep;
@@ -775,148 +775,137 @@ _GLIBCXX_END_NAMESPACE_VERSION
     */
     using high_resolution_clock = system_clock;
 
-  } // end inline namespace _V2
+    } // end inline namespace _V2
 
   _GLIBCXX_END_NAMESPACE_VERSION
   } // namespace chrono
 
-  // @} group chrono
-} // namespace
+#if __cplusplus > 201103L
 
-#endif //_GLIBCXX_USE_C99_STDINT_TR1
+  inline namespace literals {
+  inline namespace chrono_literals {
 
-#endif // C++11
+    namespace __detail {
 
-#if __cplusplus > 201103L
+      using namespace __parse_int;
 
-#ifdef _GLIBCXX_USE_C99_STDINT_TR1
+      template<unsigned long long _Val, typename _Dur>
+       struct _Select_type
+       : conditional<
+           _Val <= static_cast<unsigned long long>
+                     (numeric_limits<typename _Dur::rep>::max()),
+           _Dur, void>
+       {
+         static constexpr typename _Select_type::type
+           value{static_cast<typename _Select_type::type>(_Val)};
+       };
 
-namespace std _GLIBCXX_VISIBILITY(default)
-{
-_GLIBCXX_BEGIN_NAMESPACE_VERSION
+      template<unsigned long long _Val, typename _Dur>
+       constexpr typename _Select_type<_Val, _Dur>::type
+       _Select_type<_Val, _Dur>::value;
 
-inline namespace literals {
-inline namespace chrono_literals {
+    } // __detail
 
-  namespace __detail {
+    constexpr chrono::duration<long double, ratio<3600,1>>
+    operator"" h(long double __hours)
+    { return chrono::duration<long double, ratio<3600,1>>{__hours}; }
 
-    using namespace __parse_int;
+    template <char... _Digits>
+      constexpr typename
+      __detail::_Select_type<__select_int::_Select_int<_Digits...>::value,
+                            chrono::hours>::type
+      operator"" h()
+      {
+       return __detail::_Select_type<
+                         __select_int::_Select_int<_Digits...>::value,
+                         chrono::hours>::value;
+      }
+
+    constexpr chrono::duration<long double, ratio<60,1>>
+    operator"" min(long double __mins)
+    { return chrono::duration<long double, ratio<60,1>>{__mins}; }
 
-    template<unsigned long long _Val, typename _Dur>
-      struct _Select_type
-      : conditional<
-         _Val <= static_cast<unsigned long long>
-                   (numeric_limits<typename _Dur::rep>::max()),
-         _Dur, void>
+    template <char... _Digits>
+      constexpr typename
+      __detail::_Select_type<__select_int::_Select_int<_Digits...>::value,
+                            chrono::minutes>::type
+      operator"" min()
       {
-       static constexpr typename _Select_type::type
-         value{static_cast<typename _Select_type::type>(_Val)};
-      };
+       return __detail::_Select_type<
+                         __select_int::_Select_int<_Digits...>::value,
+                         chrono::minutes>::value;
+      }
 
-    template<unsigned long long _Val, typename _Dur>
-      constexpr typename _Select_type<_Val, _Dur>::type
-      _Select_type<_Val, _Dur>::value;
+    constexpr chrono::duration<long double>
+    operator"" s(long double __secs)
+    { return chrono::duration<long double>{__secs}; }
 
-  } // __detail
+    template <char... _Digits>
+      constexpr typename
+      __detail::_Select_type<__select_int::_Select_int<_Digits...>::value,
+                            chrono::seconds>::type
+      operator"" s()
+      {
+       return __detail::_Select_type<
+                         __select_int::_Select_int<_Digits...>::value,
+                         chrono::seconds>::value;
+      }
 
-  constexpr chrono::duration<long double, ratio<3600,1>>
-  operator"" h(long double __hours)
-  { return chrono::duration<long double, ratio<3600,1>>{__hours}; }
+    constexpr chrono::duration<long double, milli>
+    operator"" ms(long double __msecs)
+    { return chrono::duration<long double, milli>{__msecs}; }
 
-  template <char... _Digits>
-    constexpr typename
-    __detail::_Select_type<__select_int::_Select_int<_Digits...>::value,
-                          chrono::hours>::type
-    operator"" h()
-    {
-      return __detail::_Select_type<
-                       __select_int::_Select_int<_Digits...>::value,
-                       chrono::hours>::value;
-    }
-
-  constexpr chrono::duration<long double, ratio<60,1>>
-  operator"" min(long double __mins)
-  { return chrono::duration<long double, ratio<60,1>>{__mins}; }
-
-  template <char... _Digits>
-    constexpr typename
-    __detail::_Select_type<__select_int::_Select_int<_Digits...>::value,
-                          chrono::minutes>::type
-    operator"" min()
-    {
-      return __detail::_Select_type<
-                       __select_int::_Select_int<_Digits...>::value,
-                       chrono::minutes>::value;
-    }
-
-  constexpr chrono::duration<long double>
-  operator"" s(long double __secs)
-  { return chrono::duration<long double>{__secs}; }
-
-  template <char... _Digits>
-    constexpr typename
-    __detail::_Select_type<__select_int::_Select_int<_Digits...>::value,
-                          chrono::seconds>::type
-    operator"" s()
-    {
-      return __detail::_Select_type<
-                       __select_int::_Select_int<_Digits...>::value,
-                       chrono::seconds>::value;
-    }
-
-  constexpr chrono::duration<long double, milli>
-  operator"" ms(long double __msecs)
-  { return chrono::duration<long double, milli>{__msecs}; }
-
-  template <char... _Digits>
-    constexpr typename
-    __detail::_Select_type<__select_int::_Select_int<_Digits...>::value,
-                          chrono::milliseconds>::type
-    operator"" ms()
-    {
-      return __detail::_Select_type<
-                       __select_int::_Select_int<_Digits...>::value,
-                       chrono::milliseconds>::value;
-    }
-
-  constexpr chrono::duration<long double, micro>
-  operator"" us(long double __usecs)
-  { return chrono::duration<long double, micro>{__usecs}; }
-
-  template <char... _Digits>
-    constexpr typename
-    __detail::_Select_type<__select_int::_Select_int<_Digits...>::value,
-                          chrono::microseconds>::type
-    operator"" us()
-    {
-      return __detail::_Select_type<
-                       __select_int::_Select_int<_Digits...>::value,
-                       chrono::microseconds>::value;
-    }
-
-  constexpr chrono::duration<long double, nano>
-  operator"" ns(long double __nsecs)
-  { return chrono::duration<long double, nano>{__nsecs}; }
-
-  template <char... _Digits>
-    constexpr typename
-    __detail::_Select_type<__select_int::_Select_int<_Digits...>::value,
-                          chrono::nanoseconds>::type
-    operator"" ns()
-    {
-      return __detail::_Select_type<
-                       __select_int::_Select_int<_Digits...>::value,
-                       chrono::nanoseconds>::value;
-    }
+    template <char... _Digits>
+      constexpr typename
+      __detail::_Select_type<__select_int::_Select_int<_Digits...>::value,
+                            chrono::milliseconds>::type
+      operator"" ms()
+      {
+       return __detail::_Select_type<
+                         __select_int::_Select_int<_Digits...>::value,
+                         chrono::milliseconds>::value;
+      }
 
-} // inline namespace chrono_literals
-} // inline namespace literals
+    constexpr chrono::duration<long double, micro>
+    operator"" us(long double __usecs)
+    { return chrono::duration<long double, micro>{__usecs}; }
 
-_GLIBCXX_END_NAMESPACE_VERSION
+    template <char... _Digits>
+      constexpr typename
+      __detail::_Select_type<__select_int::_Select_int<_Digits...>::value,
+                            chrono::microseconds>::type
+      operator"" us()
+      {
+       return __detail::_Select_type<
+                         __select_int::_Select_int<_Digits...>::value,
+                         chrono::microseconds>::value;
+      }
+
+    constexpr chrono::duration<long double, nano>
+    operator"" ns(long double __nsecs)
+    { return chrono::duration<long double, nano>{__nsecs}; }
+
+    template <char... _Digits>
+      constexpr typename
+      __detail::_Select_type<__select_int::_Select_int<_Digits...>::value,
+                            chrono::nanoseconds>::type
+      operator"" ns()
+      {
+       return __detail::_Select_type<
+                         __select_int::_Select_int<_Digits...>::value,
+                         chrono::nanoseconds>::value;
+      }
+
+  } // inline namespace chrono_literals
+  } // inline namespace literals
+
+#endif // __cplusplus > 201103L
+
+  // @} group chrono
 } // namespace std
 
 #endif //_GLIBCXX_USE_C99_STDINT_TR1
 
-#endif // __cplusplus > 201103L
+#endif // C++11
 
 #endif //_GLIBCXX_CHRONO
index 67ef2faf2927247821eb0893453859d122172a18..710dc425655fee5fb66cf6c6144a33188ccda56c 100644 (file)
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// NOTE: This makes use of the fact that we know how moveable
-// is implemented on string (via swap). If the implementation changed
-// this test may begin to fail.
-
 #include <chrono>
 #include <type_traits>
 
index 37bbbd02cb70292abd87c7b257d82419378b3e50..8f2be113749bccdac22ba2ef07ff036749527069 100644 (file)
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// NOTE: This makes use of the fact that we know how moveable
-// is implemented on string (via swap). If the implementation changed
-// this test may begin to fail.
-
 #include <chrono>
 #include <testsuite_hooks.h>
 
index 677f5bf85601fa8531cfb2b821e19aaff59f3a3e..25803853dd8d434a234190a428ac0dcd0ff6e829 100644 (file)
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// NOTE: This makes use of the fact that we know how moveable
-// is implemented on string (via swap). If the implementation changed
-// this test may begin to fail.
-
 #include <string>
 #include <type_traits>
 
index 09285590e2a8a1c5b4f9cd4ea8f6663e28d55e4a..4732f29f814af0ae233fafca63376cf423087e14 100644 (file)
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// NOTE: This makes use of the fact that we know how moveable
-// is implemented on string (via swap). If the implementation changed
-// this test may begin to fail.
-
 #include <string>
 #include <testsuite_hooks.h>