Boost logo

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