On June 30, 2016 4:01:25 PM EDT, Edward Diener
On 6/29/2016 11:12 PM, Barrett Adair wrote:
2. If so, does this belong in its own library, or should it be
incorporated
into Boost.TypeTraits or something similar?
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?
(snip)
Since I haven't received a response to my last post, I decided to go ahead and start moving the CallableTraits code into a Boost.TypeTraits fork today [1].
I think you should create Callable Traits as its own library rather than try to integrate it with Type Traits. It will be easier that way to submit your library for review. If it is reviewed and accepted it is possible then to integrate it with Type Traits if that is the direction you or reviewers feel you should go. It is much easier to get a library reviewed and accepted on its own than to have it be part of something else from the beginning. It should also be easier for you to design your library separately rather than be part of something else.
How do you come to that conclusion? An addition to an existing library only requires the maintainer's approval, ideally with a mini-review in a case like this.
But if you specify that your library on the whole needs C++14 on up in one place and C++11 on up in another place, it is just going to confuse the end-user. That's why it is important to be specific. It is perfectly acceptable to have a Boost library support only specific levels of C++ and/or specific compilers that support those levels. But it is very important to tell people what compiler and/or level of C++ support they will need to use your library.
+1 -- Rob (Sent from my portable computation device.)