I am trying to wrap a method that is using std::ostream and std::istream


So I tried to simply add the following line in my .i file:


%include <std_iostream.i>


But swig cannot find it as it’s under the std subfolder.


I tried to add -I"$(SolutionDir)\swig\sourcecode\swig-2.0.8\Lib\std"

but I am having all kinds of compiler errors when I do this and changing the order of the various –I flags doesn’t help...



...\swig\sourcecode\swig-2.0.8\Lib\std\std_basic_string.i(48): error : Syntax error in input(3).

Here is the line:

48:    %fragment(SWIG_Traits_frag(_CharT));


Then I found that python and ruby have the file std_iostream.i (and many other std files) directly in their respective directory (i.e.: python/iostream.i and ruby/iostream.i)  and this file does a bit of preparation then does the %include on the std/iostream.i


I dont know why this is not done for csharp (or java)...


Maybe it’s missing ?


Any help would be appreciated.