Boost logo

Boost :

Subject: Re: [boost] [container] [flat_map] Error with heterogeneous comparator and std::string_view
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2018-08-12 22:43:45


On 12/08/2018 18:26, Viktor Sehr via Boost wrote:
> On MSVC (latest) the following code yields a compile error with flat_map,
> but not with std::map. I do not have the knowledge of std::less<> to
> resolve what causes the error.
>
> auto fm = boost::container::flat_map<std::string, int, std::less<> >{};
> auto m = std::map<std::string, int, std::less<> >{};
> auto k = std::string_view{ "my_key" };
> auto x = m.find(k); // Compiles
> auto y = fm.find(k); // Does NOT compile

Looks like a bug in the is_transparent trait. It seems that used
transparent comparator in tests was not detecting the issue. Working on
a patch.

Best,

Ion


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk