Boost logo

Boost :

From: Johan Torp (johan.torp_at_[hidden])
Date: 2008-05-08 03:58:27

Terje Slettebø wrote:
>>From: "Anthony Williams" <anthony_w.geo_at_[hidden]>
>> Does the boost concept checking library support overloading on concepts,
> so
>> you can have one implementation of an algorithm for random access
> iterators,
>> and another for bidirectional iterators, for example?
> As someone was pointed out in another posting, you can't use BCCL for
> this,
> since the checks fail with a compile error if a concept doesn't match.
> However, if you're able to define compile-time traits performing the
> concept
> check, then you _can_ overload on concepts, using enable_if. See the
> Concept
> Traits Library
> (
> ger/boostdev/concept_traits/libs/concept_traits/doc/) for an approach to
> this.
> This library is no longer maintained (at least by me, and unfortunately I
> don't have the source available right now, but Tobias Schwinger may have
> it
> around somewhere), not at least due to the upcoming C++0x, where this is
> supported in the language.
> The above library was mostly an experiment about how to get support for
> concepts in a library solution, but you really need language support to
> get
> the full effect of concepts.

That's really interesting and exactly what I was looking for a while back!
According to David Abrahams
( you can't
implement all requirements of all concepts as traits though. Did you bump
into this? What kind of requirements can't be implemented as traits?

I'll have a look at your library later on today.

Best Regards, Johan

View this message in context:
Sent from the Boost - Dev mailing list archive at

Boost list run by bdawes at, gregod at, cpdaniel at, john at