Re: multi_index

2012-03-05 Thread Steven Schveighoffer
On Fri, 17 Feb 2012 22:29:42 -0500, Ellery Newcomer ellery-newco...@utulsa.edu wrote: Felicitations. Last summer I wrote a port of boost::multi_index when I had some down time (I haven't had too much since until now). It is here: https://bitbucket.org/ariovistus/multi_index/ some

Re: multi_index

2012-03-05 Thread mist
Ah, boost::multi_index! I tend to dream that one day this approach (with template mess cleaned using D capabilities) will find it's way to std.container So yummy.

Re: multi_index

2012-03-05 Thread Andrei Alexandrescu
On 2/17/12 9:29 PM, Ellery Newcomer wrote: Felicitations. Last summer I wrote a port of boost::multi_index when I had some down time (I haven't had too much since until now). It is here: https://bitbucket.org/ariovistus/multi_index/ some cursory ddoc here: http://ariovistus.bitbucket.org

Re: multi_index

2012-03-05 Thread Steven Schveighoffer
On Mon, 05 Mar 2012 08:05:16 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/17/12 9:29 PM, Ellery Newcomer wrote: Felicitations. Last summer I wrote a port of boost::multi_index when I had some down time (I haven't had too much since until now). It is here: https

Re: multi_index

2012-03-05 Thread Ellery Newcomer
). Andrei The point of that would just be to have your collection sorted multiple ways, right? It kinda seems like multi_index is most useful in that case, but then I don't use multi_index that often, so I don't know. It would be a nice addition for RedBlackTree. code golf import

Re: multi_index

2012-03-05 Thread Andrei Alexandrescu
On 3/5/12 6:21 AM, Steven Schveighoffer wrote: Sounds like an interesting idea. I'd have to redesign RBT's node to use N sets of tree pointers. Exactly. The advantage here is that you have the same payload sitting in different trees, which saves duplication. Multikey rb-trees are used

Re: multi_index

2012-03-05 Thread Andrei Alexandrescu
On 3/5/12 11:07 AM, Ellery Newcomer wrote: import multi_index; import replace; template RBTreeZ(Value, Preds...){ template Splat(size_t i, size_t N){ static if(i = N) enum Splat = ; else{ enum Splat = Replace!(q{ OrderedUnique!(a, Preds[$i]), }, $i,i) ~ Splat!(i+1, N); } } enum ss = (Replace

multi_index

2012-02-17 Thread Ellery Newcomer
Felicitations. Last summer I wrote a port of boost::multi_index when I had some down time (I haven't had too much since until now). It is here: https://bitbucket.org/ariovistus/multi_index/ some cursory ddoc here: http://ariovistus.bitbucket.org/multi_index.html It is functional