From: SourceForge.net <no...@so...> - 2009-09-08 08:52:16
|
Patches item #2693577, was opened at 2009-03-19 05:40 Message generated for change (Comment added) made by wsfulton You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=301645&aid=2693577&group_id=1645 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Deleted Resolution: Out of Date Priority: 5 Private: No Submitted By: Matt S (mesprague) Assigned to: Nobody/Anonymous (nobody) Summary: [C#] Generic wrapper for std::vector<T> Initial Comment: This patch contains an example of how to alter the C# std::vector<T> wrapper to implement the generic IEnumerable<T>. ---------------------------------------------------------------------- >Comment By: William Fulton (wsfulton) Date: 2009-09-08 08:52 Message: The std::vector wrappers were originally modelled on ArrayList and this uses an ICollection constructor. For .NET 2.0, we should probably replace or add a constructor taking IEnumerable<T>. Patches welcome! Alternatively, let me know of any IEnumerable<T> concrete classes in the framework that don't implement ICollection and then I can easily make the change and test. ---------------------------------------------------------------------- Comment By: Matt S (mesprague) Date: 2009-08-30 23:51 Message: No longer relevant. as of swig 1.3.39 ---------------------------------------------------------------------- Comment By: Matt S (mesprague) Date: 2009-08-30 23:43 Message: You asked me to submit this patch during the earliest discussions of a generic vector wrapper. By the time I got it straightened out you had already implemented pretty much the same thing. After looking at the current version of swig I no longer think this patch is relevant and I'm going to delete it. One question though, why does the constructor in the current wrapper take an ICollection rather than an IEnumerable? ---------------------------------------------------------------------- Comment By: William Fulton (wsfulton) Date: 2009-08-16 00:53 Message: I'm not entirely sure what the reason for the various parts of this patch is now. Could you elaborate with some use cases? Thanks. Could you update this patch as the std::vector wrappers have changed since this was submitted. Some other notes: - default() does not work with .net 1, so the patch needs fixing for this. ---------------------------------------------------------------------- Comment By: William Fulton (wsfulton) Date: 2009-03-20 10:53 Message: The patch undoes all the changes I put in for swig-1.3.39 (release due today). You should have patched your own version onto the svn version, then supplied us a patch against svn which would then have only your changes. Looking at the patch, it has a ForEach for LINQ, but from my research, only IEnumerable<T> is needed. Can you provide a test case requiring the ForEach for LINQ? Also, what is Find and FindAll required for, shouldn't they be using the std::vector proxy as return type rather than List<> and doing the searching in C++ code for efficiency? The changes to currentObject introduces a bug for throwing the InvalidOperationException("Collection modified.") exception. This was brought up on the swig-user mailing list email about this topic. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=301645&aid=2693577&group_id=1645 |