On 6/4/2016 9:15 AM, Niall Douglas wrote:
On 3 Jun 2016 at 20:18, Edward Diener wrote:
I'll remind the list of my non-macro alternative to this macro-based approach which has been in production use since 2014 and which I presented at C++ Now 2015. It can be found within https://github.com/ned14/boost-lite.
I could never understand your documentation or else I might have tried to compare CXXD to what you have done in my doc.
Is not the Readme on the front of the github for https://github.com/ned14/boost-lite not clear?
No, it is not clear to me how to use your library. Try putting yourself outside of your actual knowledge of what you are doing and try to think in practical terms of what the end-user would need to understand and know to use what you have created. Of course if you are just writing a library mainly for yourself with just some incidental documentation on what that functionality is all about then you are not that interested in having others consider your software for themselves unless they are willing to do a great deal of digging into the actual code to understand it. I am not willing to do that sort of digging. Maybe many others are, I really don't know.
If you do write a small program using both CXXD and boost-lite you'll surely notice the many APIs not covered by boost-lite e.g. all of <tuple>. My coverage is extremely conservative and incomplete to prevent interop surprises. My approach also only works for C++ 11 compilers, I deliberately exclude 03 usage so things like move construction don't surprise.
Nevertheless, it provides everything I need for my own libraries to dispense with the mandatory Boost dependency, which is its primary purpose. You're attempting something much more ambitious in CXXD.
You are correct about CXXD. My ambitions are for it to be used with any level of C++ and with any dual libraries where a great deal of the syntax and functionality are the same, without having to be a perfect match in all respects; and for it to be easy to use. if it is misused I don't think it will be because the documentation is lacking. At the same time I am very open to any improvements that can be made in CXXD within its scope of macro programming.