Le 17/02/2016 08:11, Joaquin M LópezMuñoz a écrit :
Vicente J. Botet Escriba
writes: Le 16/02/2016 16:00, Joaquin M LópezMuñoz a écrit :
Vicente J. Botet Escriba
writes: Le 15/02/2016 07:51, Joaquin M LópezMuñoz a écrit : http://coliru.stacked-crooked.com/a/6dab2c556433fb03
[...]
* [...] the obvious drawback (among others) that sizeof(multi_flyweight)==2*sizeof(void*), where sizeof(flyweight) is typically sizeof(void*). Whether this is acceptable or not depends really on the use cases, I'd say. No, I want really a fly weight. If I have N key the multi_flyweight will not be fly weight anymore.
sizeof(multi_flyweight)==N*sizeof(void*) No, this is not the case. sizeof(multi_flyweight)==2*sizeof(void*) for every N. The extra word is Boost.Variant's book-keeping data for type determination (internal member which_).
My bad. I did a diagonal read of the code. This is already better. I believe that I could live with that even if I would prefer to spent only one pointer :)
* Is this a desireable extension to Boost.Flyweight? I don't have a strong opinion myself, others' most welcome. I have no problem if this is in another library or class. What interest me is the functionality with the best performances in space and time. It'd be great if we can gauge potential interest besides your own. You are right, if there is not interest we will lost a possible GSoC student.
Vicente