|
Boost : |
From: Brian Braatz (brianb_at_[hidden])
Date: 2005-07-28 19:46:35
Joaquin!
Glad you responded and Good to be "talking" with you again :)
Below:
> On Behalf Of JOAQUIN LOPEZ MU?Z
[Brian Braatz Writes:]
> >
> > I am not sure if he is still interested, but Joaquin Munez and I
> > exchanged emails awhile back about collaborating on such a beast.
> >
> > The general idea was to take the functionality in multi-index
> > containerand make it work dynamically.
> >
>
[JOAQUIN LOPEZ MUNEZ Writes:]
> I am still interested, and it is my plan to implement a
> dynamic_multi_index_container in the future, if there's
> interest in such a thing --serving as the foundation for
> a DB table structure would be a very exciting application,
> undoubtedly.
>
> Let me sketch what I have in mind: The part of adding/removing
> indices at run time is not too hard: I haven't written any actual
> code, but the design of that feature seems reasonably
> straightforward to me. Some speed/space performance will
> be lost, but I guess this is expected.
>
> The hard part, IMHO, is how to gain access to such indices.
> Clearly some kind of runtime polymorhpisn is involved
> for a dynamic_multi_index_container to have any use:
> otherwise, the user code would have to know the exact type
> of the index it is retrieving. So we need something more powerful
> than the current static get<> interface. A possibility
> is to retrieve indices by mean of *interfaces* as
> defined in Jonathan Turkanis' BIL library:
[Brian Braatz Writes:]
If you would please elaborate. (some of us are "slower" than others :)
).
is the problem getting to the index objects themselves via
inherit_linearly?
if you have dynamic data, then I am thinking you also have dynamically
applied indices?
Maybe I can elaborate-
consider the following pseudo code:
connection con = db.connect("myserver,root,password,mydatabase");
dynamic_table dt;
// the select "*" means bring me back all the fields from that table
// even though I don't know what the fields ARE yet
dt = query("select * from person");
// ok so now dt has an UNKNOWN number of columns
dt.add_index( index("first_name"));
// or something along those lines.
in this case, the index is applied dynamically.
so how does that connect with the things you said ?
Thanks,
Brian
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk