On 2014-03-05 20:06, Marshall Clow wrote:
Author: marshall
Date: Wed Mar  5 13:06:20 2014
New Revision: 202994

URL: http://llvm.org/viewvc/llvm-project?rev=202994&view=rev
Log:
Implement LWG 2193. Default constructors for standard library containers are 
explicit. Note that libc++ already did this for string/deque/forward_list/list/vector 
and the unordered containers; implement it for set/multiset/map/multimap. Add tests 
for all the containers. Two drive-by fixes as well: add a missing explicit in 
<deque>, and remove a tab that snuck into a container test. This issue is also 
LLVM bug 15724, and resolves it.

Modified: libcxx/trunk/include/map
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/map?rev=202994&r1=202993&r2=202994&view=diff
==============================================================================
--- libcxx/trunk/include/map (original)
+++ libcxx/trunk/include/map Wed Mar  5 13:06:20 2014
@@ -835,7 +835,7 @@ public:
      typedef _VSTD::reverse_iterator<const_iterator>         
const_reverse_iterator;
_LIBCPP_INLINE_VISIBILITY
-    explicit map(const key_compare& __comp = key_compare())
+    map(const key_compare& __comp = key_compare())
          _NOEXCEPT_(
              is_nothrow_default_constructible<allocator_type>::value &&
              is_nothrow_default_constructible<key_compare>::value &&
This looks like the wrong fix. Now the associative containers all have implicit converting constructors from their key_compare.

Sebastian
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to