Make basic_resolver_entry<> operators inline friend

François Dumont frs.dumont@gmail.com
Wed Oct 24 20:13:00 GMT 2018


I am not yet sending this to gcc-patches because I am quite sceptical on 
the approval.

While running tests with versioned namespace enabled those 2 tests are 
failing:

experimental/net/internet/resolver/ops/lookup.cc
experimental/net/internet/resolver/ops/reverse.cc

This is because basic_resolver_entry<> == operator is using 
basic_resolver_entry<>::host_name or service_name which expect a C++11 
basic_string with the copy allocator aware constructor. But I haven't 
enable C++11 abi string so the compilation error.

I don't know if the COW string implementation is supposed to have this 
constructor but another way to fix those tests is to avoid those 
members. By making operators friend we can access members directly and 
so avoid the copy.

And yes, I also like inline friend operators :-)

What do you think ?

François


-------------- next part --------------
A non-text attachment was scrubbed...
Name: internet.patch
Type: text/x-patch
Size: 1313 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20181024/d9c414c2/attachment.bin>


More information about the Libstdc++ mailing list