Boost logo

Geometry :

Subject: [ggl] spacial index construction interface
From: Barend Gehrels (barend)
Date: 2011-03-07 16:03:07


Hi Adam,

>> In the currently running xint review the CRTP is proposed instead of
>> virtual functions, and it might be that this is also possible here. If
>> so, that is probably preferable.
>
> Details in this case could be usefull.
>
> There are many things which might be changed. Nevertheles, we need
> runtime polimorphism so there must be virtual functions or some
> condition check with type casting. All in runtime. CRTP is
> compile-time technique.

I know.

It is only that we would like to enhance performance and/or design, if
possible, and I know these things were already there.

Mocking virtual inheritance by type casting is probably not the best way
indeed.

So I don't know the solution, but I asked if there is a possible solution.

If a tree is three levels deep, I might imagine that only the deepest
level is a leaf, and there rest are nodes including containers to
contain deeper levels. No virtual methods then. As a sort of
compile-time tree. But I'm not sure if this is feasable. Didn't work it out.

>
> More in the next email.

I've read it and will react.

> I've just presented what is implemented in the rtree. There are two
> remove() methods. First takes Value and second takes Box but in the
> second case only an element with box equal to the parameter is removed
> (btw, function description is wrong).

I understand, but we are free to create any new interface (the "best"
interface) we can think of. The old interface was OK as a first
interface and I could do what I want with it, but before it is a
candidate for release it must be generic and all functions must have a
reason. You did a very good job with the range adaptors and I like that
kind of interface very much. So this is the next step.

Regards, Barend

-- 
Barend Gehrels
http://about.me/barendgehrels

Geometry list run by mateusz at loskot.net