STL icon indicating copy to clipboard operation
STL copied to clipboard

`<regex>`: What names can and should `regex_traits::lookup_collatename()` recognize?

Open muellerj2 opened this issue 9 months ago • 0 comments

The title states this as one question, but it's really two.

First is an actual choice: Should the portable character names in the POSIX standard be recognized and translated bylookup_collatename()?

Cons:

  • These aren't actually names for locale-specific collating elements (which are defined in Chapter 7); they are symbolic names of characters for internal use in the POSIX standard.
  • TR1 was deliberately changed to not mandate that these are recognized by lookup_coolatename() (see the end of Section 2 of N1623).

Pro:

  • Boost.Regex and the other standard libraries recognize these names as an extension.
  • After #5392, these names are the final puzzle piece to make a few more libcxx tests pass.

The second question is a technical issue that I don't have an answer to yet: Can we actually access the set of locale-specific (multi-character) collating elements or recognize them in a reasonable way using some Windows API? Or is there some other reasonable approach to recognize locale-specific collating elements like "ch" in Czech or "dzs" in Hungarian?

muellerj2 avatar Apr 06 '25 11:04 muellerj2