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:
parent
293750eaea
commit
aa3c28e230
4 changed files with 68 additions and 16 deletions
|
|
@ -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...)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue