Added select() function to sequences.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9742 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
fd964ef50c
commit
eb4817c9ee
1 changed files with 4 additions and 4 deletions
|
|
@ -632,17 +632,17 @@ namespace swig
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
%newobject select
|
%newobject select;
|
||||||
Sequence* select() {
|
Sequence* select() {
|
||||||
if ( !rb_block_given_p() )
|
if ( !rb_block_given_p() )
|
||||||
rb_raise( rb_eArgError, "no block given" );
|
rb_raise( rb_eArgError, "no block given" );
|
||||||
|
|
||||||
Sequence* r = new Sequence;
|
Sequence* r = new Sequence;
|
||||||
Sequence::iterator i = self->begin();
|
Sequence::const_iterator i = $self->begin();
|
||||||
Sequence::iterator e = self->end();
|
Sequence::const_iterator e = $self->end();
|
||||||
for ( ; i != e; ++i )
|
for ( ; i != e; ++i )
|
||||||
{
|
{
|
||||||
VALUE v = swig::from<Sequence::value_type>(*i);
|
VALUE v = swig::from< Sequence::value_type >(*i);
|
||||||
if ( RTEST( rb_yield(v) ) )
|
if ( RTEST( rb_yield(v) ) )
|
||||||
$self->push_back(*i);
|
$self->push_back(*i);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue