On 16/07/2014 2:14 PM, Mostafa wrote:
On Tue, 15 Jul 2014 18:27:07 -0700, Michael Shepanski
wrote: Quince, and the application code that uses it, need a C++11 compiler, and a pretty new one too: see http://quince-lib.com/preparation/prerequisites.html#preparation.prerequisit... . On the other hand there is no requirement on users to learn any C++11 features. You can access all of quince's features by writing C++03 code, and feeding it to your late-model C++11 compiler.
Thanks. It would help if that was explicitly mentioned in the documentation.
http://quince-lib.com/queries_in_c_expressions/the_quincessential_dot_points... does say "Quince is written in C++11". :)
(g++ by default uses C++03.)
That's interesting. You're right, of course, and yet I didn't exert any effort to make it accept C++11. On my ubuntu machine I use Boost.Build, my user-config.jam contains this line: using gcc : 4.7 : g++-4.7 ; and somehow gcc gets invoked with the commandline option -std=c++11.
Out of curiosity, does the library *need* to be written in C++11, and, if so, why?
If I tried to rewrite it in C++03, its length would multiply, if only because of the need to replace variadic templates by a combinatorial explosion of overloads. But your question was about *need*, so perhaps the uses of decltype are more relevant. I do not think I could rewrite them to avoid decltype. (Maybe somebody else could, but I found it hard enough without any such constraint.) Regards, --- Michael