Eric Niebler-4 wrote
On 08/01/2014 08:22 AM, Robert Ramey wrote:
b) settlement of "best practice in the real world" of implementation of this idea. I recommended Boost Concept Check. Which isn't bad for a start, but isn't perfect either. I ideally I would like to see this used where its a good fit and an alternative for cases where it isn't.
Boost Concept Check is horribly dated and very limited, IMO. For my work on a new range library[*], I built a new concept check library for C++11. ...
I took a look at this to satisfy my curiosity. It's interesting but I have a big problem with it. I'm trying to promote the simplest view of "type constraints" which can possible work. Your solution does more - at the cost of requiring a lot more effort to understand and use correctly. (there is no documentation about it either). Then there is the fact that it requires a compiler "man enough" (hmmm - why not woman enough?) to use. So I don't think it's a good vehicle for promoting the concept of type constraints. I would just like every library invoke a compile time assert whenever in instantiate a template with type arguments which won't work. Boost Concept Check can do this. In fact, maybe BCC is over kill. I seriously considered recommending making concept checking classes with just static_assert. But in the end I opted for recommending BCC. a) It has good documentation. This is fairly easy to understand - once the confusion regarding the misleading word "concept" is cleared away - which I've been trying to do. b) it has examples. c) It works with all known complier versions. d) It's very easy to use. So I'm sticking to my original advice. Robert Ramey -- View this message in context: http://boost.2283326.n4.nabble.com/Re-GSoC-Boost-Hana-Formal-review-request-... Sent from the Boost - Dev mailing list archive at Nabble.com.