I'm using it in all my C++ projects (even in the proprietary ones) and it works very well. The library really simplifies programming, taking care of portability and everyday tasks.
Different modules of Boost library are becoming part of C++ Standard because they:
* are carefully designed
* work as fast as possible (and it's really fast!)
* are widely usable
* are handy
* are portable (Linux, Windows, MacOS, Androind...)
Boost is perfect for server and game development and is very useful in all other cases.
Official site contains a lot of docs and there is a bunch of books about the Boost all around the Internet. Find you favorite library, enjoy programming!
It looks like this implementation has only used CAS, but most lockfree implementation would introduce CAS2 or DCAS to avoid ABA problem (http://fara.cs.uni-potsdam.de/~jsg/nucleus/index.php?itemid=6), will there be an implementation that uses CAS2?
I use Boost in every single of my C++ projects, and you should do so too. Boost just contains too many libraries without which C++ development wouldn't be as much fun. Some - not all! - of these libraries, like shared_ptr, are even so useful that they will go into the upcoming C++ standard. I regularly use more than 20 of its libraries.
Boost consists of a multitude of relatively independent libraries of varying sizes, from very small (Boost.Any) to very big (Boost.Threads and others).
Unfortunately, not all libraries in Boost are maintained as well as one would wish for, and some are outdated or broken to a degree that renders them essentially unusable. For example, I would prefer not to use Boost.uBLAS in new projects because it is just so... outdated. It could have been written in 1998, it's so un-modern! Another example would be Boost.GIL, which apparently - I don't use it personally - is, while a pretty cool idea, just broken. It contains a significant amount of bugs and seems to suffer from design and other problems.
However, Boost contains sufficiently many EXCELLENT libraries to make it a must-have, which I am glad to have as a dependency for all my C++ projects.
Despite its ~30 MB size.
I am sorry, If the article is in the wrong place as a comment, but this is my first day at ohloh and so couldnt find out a way for discussion.
I planning to integrate a database management system library (similar to sqlite) to the project. Is it possible? I have a primitive code for the same...
I guess my 4-star rating is somewhat confused. I don't fault Boost's code: it's rock solid, well written, etc... However, I think the Boost folks have drunk too much STL kool aid.
If you're still writing projects in C++ then Boost is definitely worth your consideration. My main complaint is that it was very difficult to just consume a little bit of it - I ended up finding myself biting off way too much. I'd find myself tweaking my code with publics/privates, etc... just to satisfy the high level of precision the Boost libraries would require.
So, in other words: Boost implementation of STL: 5 stars. STL itself: 3 stars.