21 Feb
2017
21 Feb
'17
10:32 p.m.
Bruno Dutra wrote:
That alone however opens a whole trunk of worms, because one has to deal with stuff like this:
join<std::tuple<>, std::map<X, Y>, std::unique_ptr<Z>>
Should this be valid and if so what should be the result?
Let me check...
Should it then be std::tuple<X, Y, std::less<X>, std::allocator<std::pair<X const, Y>>, Z, std::default_delete<Z>>?
Yes. :-)
But why should the result List "type" be std::tuple?
The type of the first list is used by convention.
Conundrums like these made it very tricky to implement even the simplest of the algorithms and had a inevitable impact on performance.
Well... it does make things a bit more convoluted here or there, but it's not that big of a burden.