| 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