Boost logo

Boost :

From: Terje Slettebø (tslettebo_at_[hidden])
Date: 2008-05-08 20:39:10


Hi Michael.

Thanks for your kind remarks. (Having been away from the C++ community a few
years, I get reminded of how great it is.)

I've put the library here:

http://home.broadpark.no/~terjesl/files/concept_traits_original.zip
http://home.broadpark.no/~terjesl/files/concept_traits.zip

The first one is the original version. Tobias Schwinger has done a lot of
work with the library, speeding up the compilation a lot. However, I don't
know how finished it is, but the second link above is the latest version I
have of the new version, although Tobias may have a newer one.

Nevertheless, the first one has been tested, it has the same interface as
the new version, and it might be easier to understand (as it uses Boost.MPL
for the metaprogramming), so it might be best to start experimenting with
that one.

The library includes documentation, examples and unit tests. It's not a
Boost library, but it uses the same directory structure and naming
conventions as Boost, allowing it to work well together with Boost (and it
depends on a few Boost libraries, as well, such as Boost.MPL and Type
Traits).

The library includes traits for all the documented concepts in the C++
standard, as well as the MPL concepts.

Feel free to contact me off list if you have any questions or comments about
it.

Regards,

Terje

----- Original Message -----
From: "Michael Fawcett" <michael.fawcett_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Wednesday, May 07, 2008 10:48 PM
Subject: Re: [boost] Overloading on concepts

On Wed, May 7, 2008 at 2:15 PM, Terje Slettebø <tslettebo_at_[hidden]>
wrote:
> >From: "Anthony Williams" <anthony_w.geo_at_[hidden]>
>
> > Does the boost concept checking library support overloading on
concepts,
> so and
> > 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
>
(http://web.archive.org/web/20050428001254/http://neoscientists.org/~tschwin
> 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 looks extremely interesting. I needed this a few months ago, and
was disappointed when I discovered that you couldn't do this with
BCCL.

I would love if this was made available somehow.

--Michael Fawcett
_______________________________________________
Unsubscribe & other changes:
http://lists.boost.org/mailman/listinfo.cgi/boost


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