Boost Libraries and C++ - dummies

By John Paul Mueller, Jeff Cogswell

Many developers use the Boost libraries because it provides high-quality code — so high quality that some of Boost is being standardized for inclusion in the Standard Library. One of the best things about Boost is that the library itself is free.

The Boost website makes a point of letting developers know that they won’t pay anything for using Boost, even in a commercial setting. In addition, Boost doesn’t have any expenses, so you probably won’t ever need to pay for it.

You need to download boost before proceeding, and you should probably read the associated Getting Started guide so you know how to perform the installation for your platform. A number of people and organizations contribute to Boost, including (but not limited to)

  • Open Systems Lab at Indiana University

  • SourceForge

  • Boost Consulting

  • MetaCommunications

  • Individuals, companies, and other organizations that run the regression tests

However, don’t get the idea that Boost is completely free. If you want commercial-level support, you’ll pay for it, just as you would with any other product. Only the library itself is free.

Boost features

You might think that Boost couldn’t really be all that complete if you can get it free. Actually, Boost includes a significant number of features — far more features than the average developer will use in writing typical applications.

It’s interesting to note that you probably have an application on your system that relies on Boost, Adobe Acrobat. That’s right, major applications do rely on Boost because it’s a feature-rich application development library. In fact, you can see entire lists of applications you know and use (simply choose one of the categories, such as Shrink Wrapped Boost, to see the applications in that category).

The current version of Boost contains in excess of a hundred libraries in categories that meet an incredible number of needs (new libraries are added all of the time). In some cases, you’ll need only Boost to meet all your development needs. Because these libraries meet specific conformity requirements, you never find yourself calling a function one way with one library and another way when using a different library.

In addition to libraries, Boost also provides a number of tools to make your development experience more enjoyable. Most of this chapter discusses these specialized tools. Because you get the source code for all the tools, you can build a version of the tool for every platform in your organization, which means that every developer can use the same toolset.

Using a common toolset reduces training time and tends to improve the consistency of development output.

Licensing

The Boost license is friendly to individual users, consultants, and organizations. Even if you work in an enterprise environment, you can use Boost for free. The developers behind Boost are concerned enough about legal matters that they continue working on the license so that usage requirements are easy to understand.

The Boost license and the GNU General Public License (GPL) differ in some important ways. The most important consideration for organizations is that the Boost license lets you make changes to the libraries without having to share these changes with anyone. You get to keep your source code secret, which is a big plus for organizations that create commercial applications.

Paid support

When working with Boost, you gain access to the source code and community support. For some organizations, the lack of a formal support mechanism is a problem. Fortunately, you can also get paid support from BoostPro Computing. Most importantly, BoostPro Computing offers formal training in using Boost, which means your organization can get up to speed quickly. You can find additional companies that provide Boost support.