/usr/share/swig/3.0.12/ruby
NameSizeModeActions
argcargv.i12270644editdlrm
attribute.i340644editdlrm
boost_shared_ptr.i162930644editdlrm
carrays.i1290644editdlrm
cdata.i300644editdlrm
cmalloc.i320644editdlrm
cni.i420644editdlrm
cpointer.i330644editdlrm
cstring.i320644editdlrm
director.swg81980644editdlrm
embed.i1690644editdlrm
exception.i1260644editdlrm
extconf.rb2340644editdlrm
factory.i320644editdlrm
file.i6420644editdlrm
jstring.i9520644editdlrm
Makefile.swig9420644editdlrm
progargcargv.i7700644editdlrm
ruby.swg26530644editdlrm
rubyapi.swg8010644editdlrm
rubyautodoc.swg43670644editdlrm
rubyclasses.swg113840644editdlrm
rubycomplex.swg38600644editdlrm
rubycontainer.swg289530644editdlrm
rubycontainer_extended.swg35400644editdlrm
rubydef.swg420644editdlrm
rubyerrors.swg37140644editdlrm
rubyfragments.swg5520644editdlrm
rubyhead.swg42810644editdlrm
rubyinit.swg390644editdlrm
rubyiterators.swg228230644editdlrm
rubykw.swg11770644editdlrm
rubymacros.swg4560644editdlrm
rubyopers.swg18520644editdlrm
rubyprimtypes.swg54610644editdlrm
rubyrun.swg139380644editdlrm
rubyruntime.swg4230644editdlrm
rubystdautodoc.swg18190644editdlrm
rubystdcommon.swg52070644editdlrm
rubystdfunctors.swg40570644editdlrm
rubystrings.swg15690644editdlrm
rubytracking.swg44480644editdlrm
rubytypemaps.swg18080644editdlrm
rubyuserdir.swg6570644editdlrm
rubywstrings.swg25270644editdlrm
std_alloc.i270644editdlrm
std_array.i35330644editdlrm
std_basic_string.i26400644editdlrm
std_char_traits.i330644editdlrm
std_common.i23340644editdlrm
std_complex.i4710644editdlrm
std_container.i600644editdlrm
std_deque.i7320644editdlrm
std_except.i350644editdlrm
std_functors.i7680644editdlrm
std_ios.i3800644editdlrm
std_iostream.i2270644editdlrm
std_list.i10370644editdlrm
std_map.i113220644editdlrm
std_multimap.i60850644editdlrm
std_multiset.i14030644editdlrm
std_pair.i55350644editdlrm
std_queue.i8510644editdlrm
std_set.i65310644editdlrm
std_shared_ptr.i680644editdlrm
std_sstream.i300644editdlrm
std_stack.i8530644editdlrm
std_streambuf.i310644editdlrm
std_string.i1900644editdlrm
std_vector.i12180644editdlrm
std_vectora.i9500644editdlrm
std_wstring.i650644editdlrm
stl.i3570644editdlrm
timeval.i11800644editdlrm
typemaps.i113140644editdlrm
Edit: /usr/share/swig/3.0.12/ruby/rubycontainer_extended.swg (3540B)
/* ----------------------------------------------------------------------------- * rubycontainer_extended.swg * * This file contains additional functions that make containers * behave closer to ruby primitive types. * However, some of these functions place some restrictions on * the underlying object inside of the container and the iterator * (that it has to have an == comparison function, that it has to have * an = assignment operator, etc). * ----------------------------------------------------------------------------- */ /** * Macro used to add extend functions that require operator== in object. * * @param Container STL container * @param Type class inside container * */ %define %swig_container_with_equal_operator( Container, Type ) VALUE __delete__( const Type& val ) { VALUE r = Qnil; Container::iterator e = $self->end(); Container::iterator i = std::remove( $self->begin(), e, val ); // remove dangling elements now $self->erase( i, e ); if ( i != e ) r = swig::from< Type >( val ); else if ( rb_block_given_p() ) r = rb_yield(Qnil); return r; } %enddef // end of %swig_container_with_equal_operator /** * Macro used to add extend functions that require the assignment * operator (ie. = ) of contained class * * @param Container STL container * @param Type class inside container * */ %define %swig_container_with_assignment( Container, Type ) // // map! -- the equivalent of std::transform // Container< Type >* map_bang() { if ( !rb_block_given_p() ) rb_raise( rb_eArgError, "No block given" ); VALUE r = Qnil; Container< Type >::iterator i = $self->begin(); Container< Type >::iterator e = $self->end(); try { for ( ; i != e; ++i ) { r = swig::from< Type >( *i ); r = rb_yield( r ); *i = swig::as< Type >( r ); } } catch ( const std::invalid_argument& ) { rb_raise(rb_eTypeError, "Yield block did not return a valid element for " "Container"); } return $self; } %enddef // end of %swig_container_with_assignment /** * Macro used to add all extended functions to a container * * @param Container STL container * @param Type class inside container * */ %define %swig_container_extend( Container, Type ) %extend Container< Type > { %swig_container_with_assignment( %arg(Container), Type ); %swig_container_with_equal_operator( %arg(Container), Type ); } %enddef /** * Private macro used to add all extended functions to C/C++ * primitive types * * @param Container an STL container, like std::vector (with no class template) * */ %define %__swig_container_extend_primtypes( Container ) %swig_container_extend( %arg( Container ), bool ); %swig_container_extend( %arg( Container ), char ); %swig_container_extend( %arg( Container ), short ); %swig_container_extend( %arg( Container ), int ); %swig_container_extend( %arg( Container ), unsigned short ); %swig_container_extend( %arg( Container ), unsigned int ); %swig_container_extend( %arg( Container ), float ); %swig_container_extend( %arg( Container ), double ); %swig_container_extend( %arg( Container ), std::complex ); %swig_container_extend( %arg( Container ), std::string ); %swig_container_extend( %arg( Container ), swig::GC_VALUE ); %enddef %__swig_container_extend_primtypes( std::vector ); %__swig_container_extend_primtypes( std::deque ); %__swig_container_extend_primtypes( std::list );