Boost logo

Boost :

Subject: Re: [boost] Boost.Generic, C++0x Concepts, and C++1y Concepts
From: Lorenzo Caminiti (lorcaminiti_at_[hidden])
Date: 2012-09-27 16:00:08


On Thu, Sep 27, 2012 at 12:48 PM, Matt Calabrese <rivorus_at_[hidden]> wrote:
> On Thu, Sep 27, 2012 at 3:32 PM, Lorenzo Caminiti <lorcaminiti_at_[hidden]>wrote:
>
>> I will definitely take a look at your code
>>
>
> As a warning, I hope by looking at my code you don't mean looking at it's
> implementation, heh.

Yes, I meant the impl also but don't worry, I understand it's a
work-in-progress.

> A lot of the preprocessor stuff is somewhat of an
> undocumented mess and I had to hand-roll many macros as it was developed
> before VMD existed and before Boost.Preprocessor were updated for
> variadics. A lot of the low-level backend preprocessor stuff is also very
> old and stems from a time before I understood how to make good use of the
> preprocessor.

I'd probably be more interested in the part of the impl that expands
the macro code to implement concepts, not necessarily the pp stuff.

> If I continue development, I'm probably going to rewrite a
> lot of the low-level stuff, hopefully even sharing some of your contract
> code, as I imagine there are a lot of similar ideas between the libraries.
> I'd also really like to experiment with getting rid of some of the
> parentheses, as you and I talked about last year.

It might help to start by taking a look at
contract/detail/preprocessor/traits/. Also, this is a possible syntax
I had in mind for C++0x concept definitions:

http://contractpp.svn.sourceforge.net/viewvc/contractpp/releases/contractpp_0_4_1/doc/html/contract__/concepts.html#contract__.concepts.concept_definitions__not_implemented_

> At this point, though,
> I'm not sure anyone is going to be interested in seeing Boost.Generic given
> that the new C++1y concepts are so different.

I can't speak for this yet because I'm just now looking into C++1y concepts.

Thanks.
--Lorenzo


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