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