swig/Lib/ruby/rubytypemaps.swg
Gonzalo Garramuno 4cd98d3865 Improved algorithm of renaming of methods with numbers at the end.
Fixed some const issues.
Improved report on overloaded function error.
Fixed some minor iterator potential problems.



git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9770 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-05-04 13:12:31 +00:00

62 lines
1.8 KiB
Text

/* ------------------------------------------------------------
* Typemap specializations for Ruby
* ------------------------------------------------------------ */
/* ------------------------------------------------------------
* Fragment section
* ------------------------------------------------------------ */
/* bool is dangerous in Ruby, change precedence */
#undef SWIG_TYPECHECK_BOOL
%define SWIG_TYPECHECK_BOOL 10000 %enddef
/* Include fundamental fragemt definitions */
%include <typemaps/fragments.swg>
/* Look for user fragments file. */
%include <rubyfragments.swg>
/* Ruby fragments for primitive types */
%include <rubyprimtypes.swg>
/* Ruby fragments for char* strings */
%include <rubystrings.swg>
/* Backward compatibility output helper */
%fragment("output_helper","header") %{
#define output_helper SWIG_Ruby_AppendOutput
%}
/* ------------------------------------------------------------
* Unified typemap section
* ------------------------------------------------------------ */
/* Directors are supported in Ruby */
#ifndef SWIG_DIRECTOR_TYPEMAPS
#define SWIG_DIRECTOR_TYPEMAPS
#endif
/* Ruby types */
#define SWIG_Object VALUE
#define VOID_Object Qnil
/* Overload of the output/constant/exception handling */
/* append output */
#define SWIG_AppendOutput(result,obj) SWIG_Ruby_AppendOutput(result, obj)
/* set constant */
#define SWIG_SetConstant(name, obj) rb_define_const($module, name, obj)
/* raise */
#define SWIG_Raise(obj, type, desc) rb_exc_raise(SWIG_Ruby_ExceptionType(desc, obj))
/* Get the address of the 'Ruby self' object */
%typemap(in,numinputs=0,noblock=1) VALUE* RUBY_SELF {
$1 = &self;
}
/* Include the unified typemap library */
%include <typemaps/swigtypemaps.swg>