$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Powell, Gary (powellg_at_[hidden])
Date: 2003-10-17 17:19:30
Actually,
    switch_(condition)
    [
        case_(label1)[expr1],
        case_(label2)[expr2],
        case_(label3)[expr3]
        default_[expr4]
    ]
----------------------------------
has problems with "default_[expr4]"
but I think 
    switch_(condition)
    [
        case_(label1)[expr1],
        case_(label2)[expr2],
        case_(label3)[expr3]
        .default_[expr4]
    ]
or
    switch_(condition)
    [
        case_(label1)[expr1],
        case_(label2)[expr2],
        case_(label3)[expr3],
        default_(expr4)
    ]
could be made to work.
The nice thing about having .default is that it could end the sequence of case_()[]'s by generating a unique expression template which would not allow either a operator,(expression) or operator,(case_expression).
what you also want to avoid is allowing:
    switch_(condition)
    [
        case_(label1)[expr1],
        expr1a,
        case_(label2)[expr2],
        case_(label3)[expr3]
        .default_[expr4]
    ]
or
    switch_(condition)
    [
        case_(label1),
        expr1,
        case_(label2)[expr2],
        case_(label3)[expr3]
        .default_[expr4]
    ]
or
    switch_(condition)
    [
        case_(label1),
        expr1,
        case_(label2)[expr2]
       .default_[expr4],
        case_(label3)[expr3]
 
    ]
where a useless expression is inserted into the middle of the case statements.
BTW, Jaakko and I did most of this work a while ago, playing around, but if Phoenix-2 the merger of LL and Phoenix is due out, there is no point in pushing updates to LL.
    -Gary-