|
Boost : |
From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-10-02 18:07:28
Larry Evans wrote:
> On 10/02/2005 04:53 PM, Reece Dunn wrote:
> [snip]
>
>>The RML database and results could be kept in tuples, so CREATE TABLE
>>would be:
>>
>> typedef boost::tuple< std::string, std::string, int >
>> people_table;
>> static const int first_name = 0;
>> ...
>
> But, as Calum pointed out in:
>
> http://lists.boost.org/Archives/boost/2005/09/94348.php
>
> I.e. the "first_name" column may be 2 for
> customers, and 3 for products. Hence, this would
> have to be qualified with the table or record name, e.g.
>
> customers::first_name
> products::first_name
>
> and this would lead to the readability problem which
> Jonathan repeated in:
>
> http://lists.boost.org/Archives/boost/2005/10/94661.php
True. Here, macros would be needed for something like:
BOOST_CREATE_TABLE( mytable,
BOOST_TABLE_ROW( first_name, std::string )
...
);
but this would no longer be a tuple :(. Unless you have something like:
struct people
{
typedef tuple< ... > table;
static const int first_name = 0;
};
then the macro definition breaks :(.
- Reece
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk