Moved functors away from std_set.i and std_map.i
into their own std_functors.i file. Made binarypredicate, etc. be templates to allow more strict predicates/functors. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9815 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
765e3d27f0
commit
b20fd0d06f
5 changed files with 102 additions and 37 deletions
29
Lib/ruby/std_functors.i
Normal file
29
Lib/ruby/std_functors.i
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
/**
|
||||
* @file std_functors.i
|
||||
* @date Sun May 6 00:44:33 2007
|
||||
*
|
||||
* @brief This file provides unary and binary functors for STL
|
||||
* containers, that will invoke a Ruby proc or method to do
|
||||
* their operation.
|
||||
*
|
||||
* You can use them in a swig file like:
|
||||
*
|
||||
* %include <std_set.i>
|
||||
* %include <std_functors.i>
|
||||
*
|
||||
* %template< IntSet > std::set< int, swig::BinaryPredicate<int> >;
|
||||
*
|
||||
*
|
||||
* which will then allow calling them from Ruby either like:
|
||||
*
|
||||
* # order of set is defined by C++ default
|
||||
* a = IntSet.new
|
||||
*
|
||||
* # sort order defined by Ruby proc
|
||||
* b = IntSet.new( proc { |a,b| a > b } )
|
||||
*
|
||||
*/
|
||||
|
||||
%include <rubystdfunctors.swg>
|
||||
|
||||
%fragment("StdFunctors");
|
||||
Loading…
Add table
Add a link
Reference in a new issue