Boost logo

Boost :

From: Calum Grant (calum_at_[hidden])
Date: 2005-10-03 15:22:08

> Macros are useful tools - you only have to look at
> Boost.PreProcessor to
> see how powerful it can be! However, macros/preprocessor sould be,
> wherever possible, restricted to implementation (like Boost.Function).

I think the solution is to provide both syntaxes. Macro-haters can

        typedef relational::row< unique<int>, indexed<std::string> >
        enum { person_id, person_name };
        table<Person> people;

        select(people, col<person_name>() == "Reece");

while people who don't mind macros can write

                unique<int>, id,
                indexed<std::string>, name);
        table<Person> people;

        select(people, == "Reece");

It seems pretty clear that there are varying tastes, so the only
solution is to provide both. The notation provided first was the
original approach that RML used, and was free from macros, so it would
not be too much trouble to put that code back in. I will do that in the
next release of RML (which will probably be a couple of weeks as I
collate feedback).

Thanks all for the feedback, keep it coming,


Boost list run by bdawes at, gregod at, cpdaniel at, john at