From: William S F. <ws...@fu...> - 2012-03-19 19:55:32
|
On 19/03/12 11:41, Vadim Zeitlin wrote: > On Mon, 19 Mar 2012 10:15:30 +0530 Sajan Kedia<saj...@gm...> wrote: > > SK> I am looking at new C++11 standards which can be added in SWIG. which is > SK> given in the project idea page idea 1. > > Hello, > > Great to hear this, improving SWIG support for C++11 is definitely very > important and will become only more so in the future. > > Before discussing the details, notice that from practical point of view, > the first important thing would be to merge gsoc2009-matevz branch with the > trunk to at least make the already implemented C++11 support available to > SWIG users. I don't know if it's going to be part of the GSoC or if William > (or me?) can do it beforehand but you might need to do this yourself. > My plan is to merge this branch into trunk after swig-2.0.5 is released and any future C++11 code can branch off gsoc2009-matevz or trunk if the merge is done in time. > I also think that someone (again, possibly you) needs to examine how well > the features officially supported by the code in this branch work in > practice. E.g. looking at the first two of them: > > - Move constructors: rvalue reference support is there but I don't see > anything about move constructors so maybe they're supported and just > a unit test for them is missing but maybe they're not and then it would > be quite important to add support for them. > I've started adding rvalue reference support to gsoc2009-matevz and I don't see this as a gsoc project. > - Const expressions: again, I see that "constexpr" keyword is supported, > but it's less clear if its semantics is implemented, e.g. if SWIG can > wrap an array of size returned by a constexpr function correctly. > > There are probably more such questions about other stuff... > > > SK> I want to include multithreading support, > > Not sure what do you mean exactly by this, i.e. how is it going to affect > SWIG. > > SK> generic programming support, > > This is a bit unclear as well, what exactly do you propose to do about > this? > > SK> uniform initialization > > According to > > http://swig.svn.sourceforge.net/viewvc/swig/branches/gsoc2009-matevz/Doc/Manual/Cpp0x.html#Cpp0x_Uniform_initialization > > this seems to be already supported, i.e. it's parsed correctly (but doesn't > affect the target language as it's not clear how it could). > > SK> and performance enhancements. For time performance enhancement, extern > SK> template can be used. > > Sorry, I don't understand which enhancements do you have in mind here > neither, could you please be more specific? > > As for "extern template", it would be nice if it could free us from the > need to write "%template", this would certainly be a welcome improvement. > Support for the new keywords would be useful. But I don't think there is much to be done there. There is plenty of work in the STL containers though. I don't know about "extern template". It wouldn't provide a nice language name for the template instantiation. However, solving the need for a %template is a problem to be solved by itself, but I don't think that is doable in SOC. William |