Boost logo

Boost :

Subject: Re: [boost] Interest in a "concepts lite" library?
From: Manu Sánchez (manu343726_at_[hidden])
Date: 2016-04-20 08:56:00


I think Tick should be considered too https://github.com/pfultz2/Tick

El mié., 20 de abril de 2016 14:05, Juan Pedro Bolivar Puente <
raskolnikov_at_[hidden]> escribió:

> Hi!
>
> With concepts lite not getting into C++17, the need for library-based
> alternatives becomes more apparent. With this regard, the current
> Boost.ConceptCheck library is outdated, as it emulates an too old
> proposal for concepts, and it does not leverage more modern techniques
> (e.g. expression sfinae).
>
> Eric Niebler proposed in his Range-V3 library a technique to simulate
> concept checking using C++11 [1]. I myself implemented a variation of
> such technique in the Atria library [2].
>
> Atria's implementation differs in two ways with Range-V3 concepts:
>
> - It is simpler, because it has no special support for refinements. A
> concept refines another just by checking the refined concept in the
> normal `requires` definition. The downside is that refinement
> information can not be used for dispatch.
>
> - It wants to be future-proof. Concepts defined with the
> `ABL_CONCEPT_SPEC` macro can be automatically upgraded to a Concepts
> Lite concept by redefining `ABL_CONCEPT` as `constexpr concept`.
>
> There are few reasons though why Atria's implementation could not be
> directly included in Boost. I would like to work on a more formal
> proposal, but first I'd like to know if there is interest in it, and if
> there are any obvious concerns or questionmarks.
>
> Thanks!
>
> JP
>
> [1]
> http://ericniebler.com/2013/11/23/concept-checking-in-c11/
>
> [2]
> https://github.com/Ableton/atria/blob/master/src/atria/meta/concept.hpp
>
> https://github.com/Ableton/atria/blob/master/src/atria/meta/tst_concepts.cpp
>
>
> _______________________________________________
> 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