Boost logo

Boost :

From: Gregory Seidman (gseidman_at_[hidden])
Date: 2001-01-20 15:28:13


Jeremy Siek sez:
} Hi Greg,
} Thanks for the email.
}
} On Sat, 20 Jan 2001, Gregory Seidman wrote:
[...]
} According to 24.1.2 of the standard, an OutputIterator is required to be
} Assignable.
}
} This means that a C++ vendor's version of std::copy could use operator=,
} and that for your code to be portable, you need to provide the operator=.
} It's better to find out this kind of thing sooner than later.

Ugh. I guess I have to use pointers where I would prefer to use references.

[...]
} Yes, I certainly agree that overly-constraining concept checking is a bad
} thing.
}
} I'd encourage you not to think of concept checking itself as a bad thing.
} It's like a messenger carrying bad news... don't shoot the messenger! The
} message is that there are concepts defined in the standard and elsewhere
} that have mistakes in them: over-constraining, under-constraining, too
} vague, etc. In the passed, we could ignore the problems because they
} didn't affect us in a painful way (compiler errors). With concept checks
} they do affect us, and we will need to fix them. In the end, we will have
} much better concept descriptions because of this process.

Well, I see the point of having the concept checking to make sure one's
code is portable (as in the Assignable OutputIterator example above), but
as long as I know better than the concept-checking code (and I shouldn't,
really) it is annoying. Ultimately, this is more of a bug report than a
complaint about the concept of concept checking (if you'll pardon the turn
of phrase).

} Cheers,
} Jeremy
--Greg


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk