@Marcin Jaczewski
I'm not talking about putting limits on compilation time. I'm talking about introducing constraints in a form of Big O notation with regards to time complexity that needs to be met by compiler implementer in order to conform to the standard.

On Thu, Jul 9, 2020 at 11:34 PM Mandeep Sandhu via Std-Discussion <std-discussion@lists.isocpp.org> wrote:
> Overload resolution. Try passing suffixed-string literals,
> const std::unordered_set<std::string> my_set ({"item1"s, "item2"s, ....});

I tried creating UDL strings like you suggested (but with a space
between the literal & s), but it doesn't compile for me.

A simple program like:
const unordered_set<string> myset ({ "a" s, "b" s, "c" s, });
int main()
  cout << "size of myset = " << myset.size() << endl;

Doesn't compile, I get the error:
error: expected ‘}’ before ‘s’
    7 | const unordered_set<string> myset ({ "a" s, "b" s, "c" s, });

Maybe I'm doing it wrong (I haven't used UDLs before).

Std-Discussion mailing list


Best regards
Artur Czajkowski