Boost logo

Boost :

Subject: Re: [boost] [generic] status?
From: Dave Abrahams (dave_at_[hidden])
Date: 2012-05-06 08:55:42


on Sat May 05 2012, lcaminiti <lorcaminiti-AT-gmail.com> wrote:

> Hello all,
>
> What's the status of Matt Calabrese's Boost.Generic library?

Whom are you asking? I wouldn't wait around for Matt to answer; sadly, I
haven't seen him around the list in months.

> I was looking at the similarities between Boost.Generic and Boost.Contract
> syntax, and I think the following syntax can be implemented to define
> concepts, concepts_maps, axioms, etc
>
> CONTRACT_CONCEPT(
> concept (Iterator) ( typename X ) extends( Semiregular<X> )
> (
> typename(MoveConstructible) reference, as typename X::reference ,
> typename(MoveConstructible) postinc_result ,
> requires HasDereference<postinc_result> ,
>
> (reference) operator(*)(deref) ( X& ) ,
> (reference) operator(*)(deref) ( X&& ) ,
> (X&) operator(++)(preinc) ( X& ) ,
> (postinc_result) operator(++)(postinc) ( X&, int )
> )
> )

It looks beautiful to me!

> More examples here (auto concepts, concept maps, axioms, etc):
> http://contractpp.svn.sourceforge.net/viewvc/contractpp/trunk/doc/html/contract__/grammar.html#contract__.grammar.possible_concept_definition_syntax

Even more so!

> If there was real interest using this syntax to define concepts, either the
> syntax could replace the on of Boost.Generic or Boost.Contract could provide
> the syntax and then use Boost.Generic behind the scene to actually define
> the concepts (same as Boost.Contract now does for Boost.Parameter).
>
> What do you think?

I want this yesterday. When can we review it?

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

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