Boost logo

Boost :

Subject: Re: [boost] New library? CallableTraits
From: Barrett Adair (barrettellisadair_at_[hidden])
Date: 2016-06-20 22:52:26


On Mon, May 16, 2016 at 3:34 PM, Jesse Williamson <jesse_at_[hidden]> wrote:
>
> On Sun, May 15, 2016 at 6:13 AM, Louis Dionne <ldionne.2_at_[hidden]> wrote:
>
> >> 1. Is there any interest in reviewing a future version of this for
> >> inclusion in Boost?
> >
> > I think so. I've also heard a couple of people say that they needed
similar
> > functionality this week in Aspen, so I imagine this would be a useful
> > addition to Boost. In the long term, I think we need something similar
> > (perhaps a subset of CallableTraits) in the standard.
>
> Throwing in my two bits here, I absolutely agree that ultimately the
> type_traits header should provide something
> allowing this sort of introspection.
>
> >> 2. If so, does this belong in its own library, or should it be
incorporated
> >> into Boost.TypeTraits or something similar?
> >
> > No strong opinion here, though it might be a bit large for an addition
to
> > Boost.TypeTraits? In all cases, if there's a review of the library, you
can
> > count on me to submit one.
>
> I guess not a /strong/ opinion, but I would like to see it just be
> part of Boost Type Traits. It feels like something
> that we should be able to do in a single library?
>

The reference documentation is now available [1]. It's a first draft, but
it should clarify much of the uncertainty surrounding the CallableTraits
feature set.

I agree that Boost.TypeTraits is the best place for these features. Would a
formal review be in order if CallableTraits is not going to be submitted as
a standalone library?

I removed several scope-creepy features from CallableTraits, which brought
the source line count down from 4200 to around 2500. I also rewrote the
interface to follow the `<type_traits>` conventions (e.g. `_t` and `_v`
suffixes).

I still need to write more test cases, especially for the substitution
failure claims about template constraint violations -- I'm pretty sure the
reference documentation is ahead of the code in this regard. I also need to
supply better use-case examples.

Thanks,
Barrett Adair

[1]
http://badair.github.io/callable_traits/doc/html/callable_traits/reference.html


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