
From: David Abrahams <dave@boost-consulting.com>
Rob Stewart <stewart@sig.com> writes:
Thus, all_of({1, 2, 3}) < any_of({3, 4}) means:
1 < 3: true 2 < 3: true 3 < 3: false 1 < 4: true 2 < 4: true 3 < 4: true result: true
But, each_of({1, 2, 3}) < any_of({3, 4}) means:
1 < 3: true 2 < 3: true 3 < 3: false 3 < 4: true result: true
IMO that's terribly confusing. The first one should be
all_of({1, 2, 3}) < one_of({3, 4})
And the second one should be
all_of({1, 2, 3}) < any_of({3, 4})
Hmmmm. That is what I'm after, isn't it. Fine: we should forget about each_of. Users simply need to formulate the expression correctly with the other operations. I'll have to look at the implementation to ensure we get that behavior when those types are mixed. -- Rob Stewart stewart@sig.com Software Engineer http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;