
From: Paul <elegant_dice@yahoo.com>
Rob Stewart wrote:
From: FlSt@gmx.de
If I read this correctly, Rob's interpretation of the set algebra is slightly incorrect.
( any_of( a ) >= any_of( b ) ) <= any_of( c )
Or if the comparison returns an container:
any_of( any_of( a ) >= any_of( b ) ) <= any_of( c )
Why would you write those? What do they mean?
any_of(a) >= any_of(b) would return a subset of values from 'a', where those items are >= than any item in 'b'.
We have been discussing expressions that return a bool, not a subset, for quite some time. You snipped quite a bit of context, so I'm not sure how old this discussion really is.
You can't do this:
(any_of(a) >= min_element(b)) <= max_element(c)
because you are placing a total-ordering requirement on all sets.
I don't know what interpretation you're referring to; you apparently snipped something from my reply. Otherwise, I was just questioning the value of such an expression.
what if the sets only satisfy the partial-ordering definition?
Example, let there be b[i] < b[j], but a[k] < b[i] and a[k] > b[j]. So the any_of/any_of variant's result would include a[k] (a[k] > b[j]) but min_element won't, as a[k] < min_element (which is b[i])
Possibly so, but that's for a different library than we are now discussing. -- Rob Stewart stewart@sig.com Software Engineer http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;