[libcxx] r202994 - 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.

Sebastian Redl sebastian.redl at getdesigned.at
Thu Mar 6 01:38:39 PST 2014


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



More information about the cfe-commits mailing list