On 2014-04-29 23:42, Louis Dionne wrote:
Roland Bock
writes: I agree completely. I recently developed my own type set since I could not use MPL (no full variadicity) or the standard library (no type set). And even though it was kind of fun to implement, I would have preferred to use something from the standard (or from something aiming to become the standard). By any chance, would the type set implementation happen to be public? I know of a couple different ways to implement those, but it's always good to see what others have done. The type set is part of sqlpp11: https://github.com/rbock/sqlpp11/blob/master/include/sqlpp11/detail/type_set...
It is a bit messy right now, but the basic idea should be obvious. Please let me know if you have questions.
That being said, I think you should aim for TMP14. Personally I would very much consider C++14 plus Concepts Lite, because you are building a library for the future, not for the past. As I currently view things, C++14 won't be such a game changer wrt TMP, but I must look into Concepts Lite more seriously before that's definitive. See my answer to Gonzalo for more on that.
In my view, C++14 will not change what can be done, but return type reduction and possibly tuple addressing via type will reduce the amount of code I need to write. And Concepts Lite will have a tremendous impact on sqlpp11 in terms of error messages generated by the compiler and the amount of code. Thus, before I try to get sqlpp11 into boost, I will rewrite it for C++14 and Concepts Lite (and rename it ;-) ). Otherwise I would have to carry on with too much code and too long error message way too long, I believe.
TYVM for your input, Louis
:-) Regards, Roland