Lately I have been busy implementing several things using the libraries available under name of Boost. Boost is a free and open source effort, and has a commercial support branch called Boost Consulting that is dedicated to delivering services, training and what they call enterprise releases. I mention Boost Consulting, firstly because that might help to convince your bosses to use Boost at your company, and secondly so I can quote from their site to introduce Boost:
Boost is a development group creating free software libraries suitable for inclusion in the C++ standard. […] Boost libraries cover a wide range of domains, from concurrency to numerics to language interoperability. The Boost libraries, many of which have passed through the C++ standardization process, have become widely known as an industry standard for design and implementation quality, robustness, and reusability.
The reason for us to start using the Boost libraries is the same as why the Boost libraries were initially started. Again, I quote from boost-consulting.com:
[…] Beman Dawes, then chairman of the C++ committee’s library working group, recognized that languages such as Java and Python were growing in popularity precisely because of the ready availability of library components. Some jobs, he argued, were just too hard in C++ — not because of any inherent limitation, but because the right libraries were not available.
Obviously the Boost consultants eat, and also promote their own dogfood, so they conclude:
[…] Boost is much more than a collection of individual experts: a cultural emphasis on collaboration and inquiry creates an environment where synergies evolve and new insights are discovered. I don’t think any of us expected to become quite so reliant on the Boost libraries in our professional development work, but the Boost libraries have proven themselves to be remarkably useful, versatile, and well-designed. Ten Boost libraries have already been accepted into the next version of the C++ standard.
It is about six months ago that I installed Boost and started testing it in a prototype project, and it is true, once you start using it, there is no way back anymore. Boost is remarkably useful, versatile and well-designed; all three at the same time.