Boost logo

Boost :

Subject: Re: [boost] Is there BOOST_ENABLE_IF macro now?
From: Matt Calabrese (rivorus_at_[hidden])
Date: 2013-08-20 14:32:27


On Tue, Aug 20, 2013 at 2:03 PM, Mathias Gaunard <
mathias.gaunard_at_[hidden]> wrote:

>
>> All existing C++ concepts have requirements specified as a list of valid
> expressions with the right properties, not with a class-like function list.
>
> The new approach is more fitting to concepts as they've been used in C++.

That has already been discussed many times, and years ago at that, which is
why C++0x concepts managed to make it to the working paper to begin with.
It has not been a strong point of contention for those advocating
ConceptsLite. Needless to say, the standard concepts could have been less
ambiguous with a pseudo-signature style approach. That the 98 standard
introduced the specification of the standard's concepts via usage
requirements should not hold back adoption of proper pseudo-signatures in a
concepts language feature, nor should it prevent the specification of the
standard concepts from being improved in future standards. We have learned
since then and shouldn't have the original, entirely external specification
of standard concepts hamper progress with respect to a concepts language
feature, especially given that most programmers probably do not reference
the concept specifications in the standard when writing code anyway (while
I'd like to think that the boost community is representative of the C++
community in general, that is far from the case). Rather, that change
mostly impacts generic library developers, who also happen to be able to
benefit most from the change. Compatible language-level concepts were
introduced in the 0x proposal and a transition to that approach would only
cause problems in already-suspicious code that probably shouldn't have be
acceptable anyway had the original concepts been more precise.

-- 
-Matt Calabrese

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