Yet even better swig assert.

Added more tests to std::vector for map.
Added dup() function to containers.



git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9732 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Gonzalo Garramuno 2007-05-01 01:54:02 +00:00
commit aa3c28e230
4 changed files with 68 additions and 16 deletions

View file

@ -534,7 +534,7 @@ namespace swig
for ( ; i != e; ++i, comma = true )
{
if (comma) str = rb_str_cat2( str, "," );
tmp = swig::from( *i );
tmp = swig::from<Container::value_type>( *i );
tmp = rb_obj_as_string( tmp );
str = rb_str_buf_append( str, tmp );
}
@ -550,7 +550,7 @@ namespace swig
VALUE tmp;
for ( ; i != e; ++i )
{
tmp = swig::from( *i );
tmp = swig::from<Container::value_type>( *i );
rb_ary_push( ary, tmp );
}
return ary;
@ -564,7 +564,7 @@ namespace swig
VALUE tmp;
for ( ; i != e; ++i )
{
tmp = swig::from( *i );
tmp = swig::from<Container::value_type>( *i );
tmp = rb_obj_as_string( tmp );
str = rb_str_buf_append( str, tmp );
}
@ -575,6 +575,16 @@ namespace swig
%define %swig_container_methods(Container...)
%extend {
%newobject dup;
Container* dup()
{
return new Container(*$self);
}
}
%enddef
%define %swig_sequence_methods_common(Sequence...)

View file

@ -26,11 +26,13 @@
%define %swig_vector_methods(Type...)
%swig_sequence_methods(Type)
%swig_sequence_front_inserters(Type);
%swig_container_printing_methods(Type);
%enddef
%define %swig_vector_methods_val(Type...)
%swig_sequence_methods_val(Type);
%swig_sequence_front_inserters(Type);
%swig_container_printing_methods(Type);
%enddef