Hi Hannes, at the moment, the policy is that the library should use C++98 only and C++11 is OK for applications. The reasoning is that there is currently no schedule for switching to C++11 and we do not have terribly much experience with it. Also, it is unclear which features are available in which compilers and since VS 2010 is still an important target and does not have variadic templates IIRC, it would be better to have code that does not rely on these features. Also, the GCC STL team reported that they had to go over each line and possibly adjust it because of rvalue references. We plan to head for C++11 support in SeqAn 2.0 with a planned schedule, informed decisions which compilers support which features and also which compilers are used by our user base. HTH, Manuel ________________________________________ From: Hannes Hauswedell [hauswedell@mi.fu-berlin.de] Sent: Friday, March 08, 2013 12:32 PM To: seqan-dev@lists.fu-berlin.de Subject: [Seqan-dev] C++11 features Hi everyone, I wanted to ask what the state of C++11 features in SeqAn is. The homepage mentions C++98, but in the medium term something like SeqAn would obviously benefit significantly from the new features. And considiering that the Debian stable computers at the institute already support many features relevant to SeqAn, wide-spread support doesn't seem to be too far off. Is there some sort of timeline or migration plan? Is there e.g. a macro that I could enclose code with that requires C++11 features? This would permit adding new features and new code that already works with C++11 without having to bump the general requirement of the library. Ultimately the transition would be smoother, because not all existing code would have to migrated at once and new library features could already build on new C++ features. The resaon I am asking is that I am currently working on Blast-statistics and Blast-IO for the library. All basic features are of course C++98, but some stuff simply isn't viable without C++11 -- or at least it isn't viable to do, when C++11 support will come sooner or later anyway. One such example is the feature in Blast-IO to have the programmer specifiy the amount (and type) of output columns in tabuler format. I have implemented this through Variadic Templates, which can be done with easily readable and reusable code -- without Variadic Templates on the other hand one would have to define n functions for 1 to n parameters or use some obscure form of linked or nested templates... Thanks, Hannes _______________________________________________ seqan-dev mailing list seqan-dev@lists.fu-berlin.de https://lists.fu-berlin.de/listinfo/seqan-dev