On 09/08/16 18:00 +0300, Ville Voutilainen wrote:
                                    _Args&&...> = false>
diff --git a/libstdc++-v3/include/std/utility b/libstdc++-v3/include/std/utility
index 0c03644..e1a523f 100644
--- a/libstdc++-v3/include/std/utility
+++ b/libstdc++-v3/include/std/utility
@@ -356,6 +356,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
  template <size_t _Idx>
    in_place_tag in_place(__in_place_index<_Idx>*) {terminate();}

+  template<typename>
+    struct __is_in_place_impl : false_type
+    { };
+
+  template<typename _Tp>
+  struct __is_in_place_impl<in_place_type_t<_Tp>> : true_type

Indentation nit.

+    { };
+
+  template<typename _Tp>
+    struct __is_in_place
+    : public __is_in_place_impl<std::remove_cv_t<std::remove_reference_t<_Tp>>>

Any reason not to use decay_t here? In all the cases where decay is
different to stripping references and cv-qualifiers the result will be
false either way.

I wouldn't have bothered with the std:: qualification either, but it's
fine as it is.

OK for trunk, thanks.

Reply via email to