Boost logo

Boost :

From: Steven Watanabe (steven_at_[hidden])
Date: 2007-02-02 14:16:54


AMDG

    Is there any interest in a function template that generates a switch
statement?

struct f {
    typedef void result_type;
    void operator()(mpl::int_<0>) const {
       std::cout << "2" << std::endl;
    }
    void operator()(mpl::int_<1>) const {
       std::cout << "1" << std::endl;
    }
    void operator()(mpl::int_<5>) const {
       std::cout << "0" << std::endl;
    }
};

int main() {
    typedef mpl::vector<mpl::int_<0>, mpl::int_<1>, mpl::int_<5> > cases;
    switch<cases>(5, f()); //prints 0
    try {
        switch<cases>(3, f());
    } catch(bad_switch&) {}
}

In Christ,
Steven Watanabe


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk