Re: [patch] [C++14] Implement N3657: heterogeneous lookup in associative containers.

2015-01-26 Thread François Dumont
Hi Thanks a lot for those explanations, very educative. I was indeed wondering what was the additional template parameter for. So here is a new attempt. While moving __is_transparent to std namespace I renamed to __has_is_transparent to not conflict with existing __is_transparent. I

Re: [patch] [C++14] Implement N3657: heterogeneous lookup in associative containers.

2015-01-26 Thread Jonathan Wakely
On 24/01/15 22:46 +, Jonathan Wakely wrote: On 24/01/15 23:03 +0100, François Dumont wrote: types. I am also surprised that it is not using enable_if, IMHO it makes the code clearer. It doesn't work though. @@ -1155,9 +1150,8 @@ return _S_iter(__y); } - template::

Re: [patch] [C++14] Implement N3657: heterogeneous lookup in associative containers.

2015-01-24 Thread Jonathan Wakely
On 24/01/15 22:46 +, Jonathan Wakely wrote: Observe that my __is_transparent alias template takes two template arguments, so that it depends on the template parameter of the function, not only on _Compare. That means whether if the type is s/whether // invalid that will be found during te

Re: [patch] [C++14] Implement N3657: heterogeneous lookup in associative containers.

2015-01-24 Thread Jonathan Wakely
On 24/01/15 23:03 +0100, François Dumont wrote: Sorry, I hadn't notice the condition to expose the new methods. It was hidden within the _Rb_tree type that I hadn't check (and I do not often check the Standard directly for my limited patches). On my side I am surprised you didn't reuse your co

Re: [patch] [C++14] Implement N3657: heterogeneous lookup in associative containers.

2015-01-24 Thread François Dumont
Sorry, I hadn't notice the condition to expose the new methods. It was hidden within the _Rb_tree type that I hadn't check (and I do not often check the Standard directly for my limited patches). On my side I am surprised you didn't reuse your code to detect member types. I am also surprised t

Re: [patch] [C++14] Implement N3657: heterogeneous lookup in associative containers.

2015-01-21 Thread Jonathan Wakely
On 21/01/15 23:30 +0100, François Dumont wrote: +#if __cplusplus > 201103L + template + std::pair + equal_range(const _Kt& __x) + { + std::pair<_Base_iterator, _Base_iterator> __res = + _Base::equal_range(__x); + return std::make_pair(iterator(__re

Re: [patch] [C++14] Implement N3657: heterogeneous lookup in associative containers.

2015-01-21 Thread Jonathan Wakely
On 21/01/15 23:30 +0100, François Dumont wrote: On 20/01/2015 13:00, Jonathan Wakely wrote: On 19/01/15 17:16 +, Jonathan Wakely wrote: This is the last missing piece of the C++14 library, as proposed in http://www.open-std.org/JTC1/sc22/wg21/docs/papers/2013/n3657.htm Tested x86_64-linux,

Re: [patch] [C++14] Implement N3657: heterogeneous lookup in associative containers.

2015-01-21 Thread François Dumont
On 20/01/2015 13:00, Jonathan Wakely wrote: On 19/01/15 17:16 +, Jonathan Wakely wrote: This is the last missing piece of the C++14 library, as proposed in http://www.open-std.org/JTC1/sc22/wg21/docs/papers/2013/n3657.htm Tested x86_64-linux, *not* committed. Now committed to trunk. Is

Re: [patch] [C++14] Implement N3657: heterogeneous lookup in associative containers.

2015-01-20 Thread Jonathan Wakely
On 19/01/15 17:16 +, Jonathan Wakely wrote: This is the last missing piece of the C++14 library, as proposed in http://www.open-std.org/JTC1/sc22/wg21/docs/papers/2013/n3657.htm Tested x86_64-linux, *not* committed. Now committed to trunk.

[patch] [C++14] Implement N3657: heterogeneous lookup in associative containers.

2015-01-19 Thread Jonathan Wakely
This is the last missing piece of the C++14 library, as proposed in http://www.open-std.org/JTC1/sc22/wg21/docs/papers/2013/n3657.htm Tested x86_64-linux, *not* committed. commit 99d7d1ebce9f290220966e138ef9b9e741878917 Author: Jonathan Wakely Date: Mon Jan 19 17:05:34 2015 + Impleme