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.
  • 1
    Check out this Answers about why **not ** to use BOOST. stackoverflow.com/questions/1226206/… – Hamzah khammash Dec 8 '11 at 14:12
  • 1
    @Hamzahkhammash: Which basically all say use boost. – Martin York 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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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