The Best C++ Library

71 points by asb


tjammer

This post makes me happy!

It feels a bit pointless, because why would anyone want to create a STL replacement in a (what seems like a) non-corporate context. I don’t see it gaining real traction. On the other hand, the author clearly cared about this and knows their stuff. There are some wonderful touches in there, like the .match on their sum types. It’s far from done but it seems well thought out (so far), I’d prefer it to my daily C++ at work.

Still, no one will rewrite a code base using their library, because at that point might as well RIIR.

Also, I didn’t know the monospace font they use (spline sans mono), I’ll have to try it.

laqq3

A similar effort was recently described here.

For my hobby C++ projects, I avoid using the standard library, including rolling my own versions of vector/unordered map/tuples, and so on. Probably too extreme of a position, but it helps in keeping compile times down and compiler error messages relatively manageable.

icefox

Well I can’t say they’re not ambitious enough!

charlottia

mods: link has a #fnref:terrible-people at the end which should be removed.

cblake

Am I the only one who thought his code coloring scheme with “blue flame”/judicious green/yellow/etc. was also off the beaten path beautiful? :-) Someone somewhere probably gave such a “name”, but I don’t know it.

wareya

I think it might cause problems later down the line to call the btree-backed associative array type just “tree” without any additional qualifiers.

dataangel

The special format {:!} “forwards from above”; when used in a formatting implementation, it uses the format specifier the caller used. This is useful for causing formats to be “passed through”, such as when printing lists or best::option.

I don’t follow, how does the caller specify it?

dpercy

How does that “abridge” symbol shortener work? In the past I’ve had problems with large variant types (like 50 cases) having large symbols, so I was interested if this would help. It’s doing something with decltype, but I’m still not sure how abridge<T> can be shorter than T.