Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am planning to use boost libraries, as it is quiet rich, and will save lots of time. But my question is, what are the guidelines i have to follow, so that

  1. I can replace some part of boost with standard C++ as and when they are supported, considering so many new features are coming in C++11.
  2. Also, how to encapsulate them in a way so that i have to change least when i change platform/compiler/boost version.
  3. Also is there a category which suggest, which portion of the library to use and avoid, considering stability and standard.
share|improve this question
Check out this Answers about why **not ** to use BOOST.… – Hamzah khammash Dec 8 '11 at 14:12
@Hamzahkhammash: Which basically all say use boost. – Loki Astari Dec 8 '11 at 17:46
@Hamzahkhammash thanks for the link. It answered most of my concerns. Hope i could have selected this as an answer. – rakesh Dec 9 '11 at 7:13

For questions 1 and 2 the answer is relatively straightforward through boost itself - the boost::tr1 library wraps the original "TR1" (technical report 1 I think) parts of the C++11 standard in a way that you will get your native implementation if it's available or the boost implementation if it's not, in the std::tr1 namespace.

For 3: all libraries in boost are quite stable, though some are not ideal (boost::python has memory leaks when embedding python, for example), and some are very complex (spirit, MPL) and you may want to avoid them for those reasons.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.