
Sorry for multiple mails, there have been a lot of things said since yesterday evening and I have troubles synthesizing my answers. This is the last one :-) On Sat, May 10, 2008 at 12:50 AM, Simonson, Lucanus J <lucanus.j.simonson@intel.com> wrote:
I want to allow partial modeling of the concept, for instance, if a data type doesn't provide a default constructor, or even allow modification of it's data through the traits it should still be allowed to work as a read-only geometry type when those services are not needed. It is, therefore, improper to check that the data type conforms to the full requirements of the concept, when in fact, it is not required for the specific concept function being instantated.
If you face this kind of problem, it means in my opinion that your concept should be separated into several smaller ones. For example , if you want some algorithms to only require read access and some others to only require write access, then you should write a read concept, a write concept, and a read-write concept. I'm not very knowledgeable yet about concepts but if I have well understood, a concept is meant to be checked in its whole. A type satisfies or doesn't satisfy it. C++ gurus will rectify if I'm wrong but I think it's the way in which they will apply in C++0x. Bruno