Boost logo

Boost :

From: Arkadiy Vertleyb (vertleyb_at_[hidden])
Date: 2004-02-11 20:23:39


"David Bergman" <davidb_at_[hidden]> wrote in message
news:200402112307.i1BN7P529206_at_heart-of-gold.osl.iu.edu...
> Arkadiy,
>
> Unfortunately, I cannot access the Boost upload area right now, for some
> weird Yahoo Group membership problem. Would it be possible for you to send
> that ZIP to me?

I sent it to your address. Please let me know if you have any problems
getting it.

> I wonder what the connection between (1) RTL, (2) the Boost iterator
> adaptors and (3) VTL (View Template Library) is? I would like to see these
> three libraries interact and extract the various aspects.

We are planning to make our iterators more conformant by using iterator
facade. We were waiting 1.31.0 that contains it. Now that 1.31.0 is
released, this is on our priority list.

As far as I understand VTL, RTL is similar to it in that it defines
relations (views) on top of other relations (views) thus allowing to form
arbitrary complicated expressions, and produce data on the fly. The key
difference, however is that, while VTL operates with any value_type, RTL
always uses tuple (this is our tuple rather than boost::tuple -- the reasons
can be discussed separately).

This difference is rather fundamental -- it allows us to treat tuples and
fields in a regular way. For example, join in VTL creates pairs of original
value_types. In RTL, the value_type of join is a tuple containing all
fields from the original tuple. RTL can also extract fields on one-by-one
basis thus improving performance, create projections, etc.

In other words, while VTL implements relational algebra on arbitrary STL
containers, RTL works with relational tables.

RTL also has transaction support, and in general, tends to model a real
database functionality, but with C++ interface (based on meta-programming)
rather than with SQL.

Arkadiy


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