arlo on 6 Jun 2003 22:49:01 -0000 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
[ALACPP] Boost 1.30 works well with vc 7.1 |
I know that a few of you will care deeply about this. Dunno about the rest, but decided to post it anyway. The nice people at Boost (www.boost.org) released version 1.30 last March. They added on a few nice tools (see below, if you're interested). Also, they implemented a number of additional platform workarounds. The (other adjective) people in Redmond have version 7.1 of the compiler out. It fixes a bunch of template stuff, and does another round of improving compiler warnings / errors in the presence of templates. According to the boost compatability site, the unexpected has occurred: the most compatable compiler with Boost is now made by Microsoft (VC 7.1). It has full support for Lambda Lib, etc. Check it out, if you haven't already. For anyone not up to speed with boost, they are a source library of generic code. Most of it is headers-only, and all of it is designed to be extremely portable, thread safe and exception safe. Some of their most useful libraries right now are: NEW: * MPL: Very similar to STL, but operate on vectors of types (or lists of types). Simpler to use than Loki, with a few less features. Easy to modify sources from _Alexandrescu_ (eg, GenScatterHierarchy) to work with MPL. * Test: They're finally getting their testing facilities up to speed. Now similar to CppUnit, with a few added capabilities and a few things still missing. I'll probably wait one more rev (it's missing fixtures), but it's getting there. * Threads: Still basic, but good cross-platform reification of threads, mutexes, locks (scoped lock pattern), and conditions. They added conditions and fixed up a few things - this is the first version of their threading lib that I recommend. * Spirit: In-language parser generator. Makes scriptable C++ code a snap. Works well with dynamic constructs - can handle non context-free grammars easily. * Filesystem: OK filesystem reification. Iterators for paths. PREVIOUS: * Signals: Generic Multicast Observer implementation. Use it if you ever program an event based system. * smart ptr: Smart pointers with useful ownership semmantics. Both noncopyable and reference-counted implementations. Thread and exception safe. Use them whenever you would have used a pointer. * bind / function: allows (basic) functional programming in C++. Bind lets the compiler reify functions for you, function allows you to easily and generically pass functors around. * Python: reflect language constructs back and forth between Python and C++. Even allows cross-language inheritance and virtual function calls. Gavin's having fun with this right now. * Preprocessor: for solving the one thing that you can't do with templates: variable number of template args without copy and paste. * Static Assert: Make compile-time assertions about properties of template parameters. Allows you to avoid long chains of ugly compiler-generated template error messages with a single, simple assertion failure documenting what the user has to change. * Utility: noncopyable (declare a class to be non-copyable), ref (a reference with value semmantics), and a few other useful small things. Arlo _______________________________________________ alacpp mailing list alacpp@xxxxxxxxxxx http://lists.ellipsis.cx/mailman/listinfo/alacpp