|
Boost : |
From: Rob Stewart (stewart_at_[hidden])
Date: 2005-08-17 21:26:28
I uploaded some fixes to multivalues.zip:
- Workaround for BCB's lack of EBO
- Fixed some overzealous searches/replaces
- Eliminated SFINAE from test program
- Moved some tests out of the macros to assist in debugging,
should anyone have problems with support in a particular
compiler.
Some questions:
- What operator(s) should we use to delimit user-defined
predicates? Here are some interesting candidates:
if (any_of(...) << some_predicate() >> 5)... // 1
if (any_of(...) < some_predicate() > 5)... // 2
if (any_of(...) ^ some_predicate() ^ 5)... // 3
if (any_of(...) / some_predicate() / 5)... // 4
1 seems pretty good because the two-character operators stand
out well. 2 works pretty well, but I'm concerned that the
operators may get lost if the predicate is a specialization of
a template type; the template argument list uses the same
tokens. (1 is better in that case because of the doubled
tokens.)
3 is an unusual operator to overload, so it is largely unique
to this context. 4 works, but I'm concerned that it is gross
misuse of the operator (overloading it for division and
filesystem path manipulation are sensible; is this?).
- Should we attempt VC6 support? If so, some functionality or
syntax will have to be sacrificed. It may be that the
iterator pair support is all that we must sacrifice.
-- Rob Stewart stewart_at_[hidden] Software Engineer http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk