|
Boost : |
Subject: Re: [boost] [RFC] CallableTraits: 47 traits and metafunctions for "callable" types
From: Edward Diener (eldiener_at_[hidden])
Date: 2016-04-19 06:12:54
On 4/18/2016 7:12 PM, Barrett Adair wrote:
> Hello all,
>
> I'm working on a project called CallableTraits [1]. Is there any interest
> in adding this to Boost? I think it would work well as an extension to
> Boost.TypeTraits.
>
> From the introduction section:
>
> CallableTraits is a C++11/14/17 header-only library for the inspection,
> synthesis, and decomposition of callable types. Whether it's calling
> conventions, const volatile &&, or container-like manipulation of parameter
> lists, CallableTraits provides all the tools you need to completely rid
> your codebase of function type specializations. This project aims to be the
> "complete type manipulation facility for function types" mentioned in the
> last section of C++17 proposal p0172 [2]. CallableTraits currently supports
> GCC 4.8 and later, Clang 3.5 and later, AppleClang from XCode 6.3 and
> later, and MSVC 19.
>
> Much of the remaining documentation work lies in the reference sections.
> Many examples are provided, but many more are planned. Test coverage is
> good, but insufficient. Daily improvements are being made to address these
> issues.
>
> The headers amount to approximately 4200 lines of code, while the tests and
> examples tally around 6000 lines (excluding comments and blank lines). An
> "issues" list is maintained on GitHub [3].
>
> Barrett
>
> [1]: http://badair.github.io/callable_traits/doc/html/index.html
> [2]: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2015/p0172r0.html
> [3]: https://github.com/badair/callable_traits/issues
It sounds exciting ! Please take a look at the current Boost
function_types library, which works with a number of callable types. You
may want to distinguish your library from what function_types currently
offers in your documentation.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk