For most C++ projects Boost covers a lot of ground component wise but often used solutions and idioms require some boiler plate or ground work. What do you consider so essential that you would have it in every project and thus have it in a small "library"? Some things I thought of:
(The last two are in Loki but Loki has overlap with Boost and people are hesitant to use it.)
Edit: I might should add that I don't ask about the usual extensions of the standard library e.g. copy_if.
None of the above. In particular, definitely not a Singleton class, since the use of Singletons are typically an indication of a design flaw. In the past 15 years, I have never needed a Singleton class and all those that I have found in my travels were hacks or otherwise compromised the robustness of the system they were in.
Generally speaking, aside from a good, Standards-compliant compiler, a desire to never stop learning more about my language of choice and coding standards that don't restrict my movements, I have found that I need nothing in order to write complete systems.
Of particular note, over the past 15 years every job I've had has specifically forbidden the use of Boost. Although I use Boost in my own projects and in little tools I hack up, none of my production code uses it. I am a fan of Boost, but I haven't really missed it. And now with the C++0x support in VS2010, I miss it even less.
That said, over the years I have cooked up an #include library that I take with me wherever I go of useful little things and gizmos. It includes:
sprintf that works with std::stringtransform_ifcopy_ifAnd a few other STL extensions which I use very rarely.
My small library, that I carry along with most projects contains very practical tools:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With