├── .gitignore
├── .vscode
├── c_cpp_properties.json
└── launch.json
├── Hello World
├── Hello World.vcxproj
├── Hello World.vcxproj.filters
├── RubyExtension.def
├── SUEX_HelloWorld.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── SUEX_HelloWorld.xcscheme
├── SUEX_HelloWorld_exports.txt
└── src
│ ├── RubyUtils
│ ├── RubyLib.h
│ ├── RubyUtils.cpp
│ └── RubyUtils.h
│ └── SUEX_HelloWorld.cpp
├── LICENSE
├── README.md
├── Ruby 1.8 (Win32).props
├── Ruby 2.0 (Win32).props
├── Ruby 2.0 (x64).props
├── Ruby 2.2 (x64).props
├── Ruby 2.5 (x64).props
├── Ruby 2.7 (x64).props
├── Ruby 3.2 (x64).props
├── Ruby
├── SwigExample.rb
├── inspect_strings.rb
└── launch_sketchup.rb
├── RubyExtension.props
├── SUEX_UsingSWIG
├── SUEX_UsingSWIG.vcxproj
├── SUEX_UsingSWIG.vcxproj.filters
├── SWIG.props
├── Swig_input.i
└── src
│ ├── INativeToRuby.cpp
│ ├── INativeToRuby.h
│ ├── MyNativeClass.cpp
│ └── MyNativeClass.h
├── SketchUp Ruby C Extension Examples.sln
├── SketchUp Ruby C Extension Examples.sublime-project
├── SketchUp Ruby C Extension Examples.xcworkspace
├── contents.xcworkspacedata
└── xcshareddata
│ ├── IDEWorkspaceChecks.plist
│ └── WorkspaceSettings.xcsettings
├── ThirdParty
├── bin
│ └── win32
│ │ └── swig
│ │ ├── About SWIG.txt
│ │ ├── COPYRIGHT
│ │ ├── LICENSE
│ │ ├── LICENSE-GPL
│ │ ├── LICENSE-UNIVERSITIES
│ │ ├── Lib
│ │ ├── allegrocl
│ │ │ ├── allegrocl.swg
│ │ │ ├── inout_typemaps.i
│ │ │ ├── longlongs.i
│ │ │ ├── std_list.i
│ │ │ ├── std_string.i
│ │ │ └── typemaps.i
│ │ ├── allkw.swg
│ │ ├── attribute.i
│ │ ├── carrays.i
│ │ ├── cdata.i
│ │ ├── cffi
│ │ │ └── cffi.swg
│ │ ├── chicken
│ │ │ ├── chicken.swg
│ │ │ ├── chickenkw.swg
│ │ │ ├── chickenrun.swg
│ │ │ ├── extra-install.list
│ │ │ ├── multi-generic.scm
│ │ │ ├── std_string.i
│ │ │ ├── swigclosprefix.scm
│ │ │ ├── tinyclos-multi-generic.patch
│ │ │ └── typemaps.i
│ │ ├── clisp
│ │ │ └── clisp.swg
│ │ ├── cmalloc.i
│ │ ├── constraints.i
│ │ ├── cpointer.i
│ │ ├── csharp
│ │ │ ├── arrays_csharp.i
│ │ │ ├── boost_intrusive_ptr.i
│ │ │ ├── boost_shared_ptr.i
│ │ │ ├── csharp.swg
│ │ │ ├── csharphead.swg
│ │ │ ├── csharpkw.swg
│ │ │ ├── director.swg
│ │ │ ├── enums.swg
│ │ │ ├── enumsimple.swg
│ │ │ ├── enumtypesafe.swg
│ │ │ ├── std_common.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_except.i
│ │ │ ├── std_map.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_shared_ptr.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── std_wstring.i
│ │ │ ├── stl.i
│ │ │ ├── typemaps.i
│ │ │ └── wchar.i
│ │ ├── cstring.i
│ │ ├── cwstring.i
│ │ ├── d
│ │ │ ├── boost_shared_ptr.i
│ │ │ ├── carrays.i
│ │ │ ├── cpointer.i
│ │ │ ├── d.swg
│ │ │ ├── dclassgen.swg
│ │ │ ├── ddirectives.swg
│ │ │ ├── denums.swg
│ │ │ ├── dexception.swg
│ │ │ ├── dhead.swg
│ │ │ ├── director.swg
│ │ │ ├── dkw.swg
│ │ │ ├── dmemberfunctionpointers.swg
│ │ │ ├── doperators.swg
│ │ │ ├── dprimitives.swg
│ │ │ ├── dstrings.swg
│ │ │ ├── dswigtype.swg
│ │ │ ├── dvoid.swg
│ │ │ ├── std_common.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_except.i
│ │ │ ├── std_map.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_shared_ptr.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── stl.i
│ │ │ ├── typemaps.i
│ │ │ └── wrapperloader.swg
│ │ ├── exception.i
│ │ ├── gcj
│ │ │ ├── cni.i
│ │ │ ├── cni.swg
│ │ │ └── javaprims.i
│ │ ├── go
│ │ │ ├── cdata.i
│ │ │ ├── exception.i
│ │ │ ├── go.swg
│ │ │ ├── gokw.swg
│ │ │ ├── goruntime.swg
│ │ │ ├── std_common.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_except.i
│ │ │ ├── std_list.i
│ │ │ ├── std_map.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── stl.i
│ │ │ └── typemaps.i
│ │ ├── guile
│ │ │ ├── Makefile
│ │ │ ├── common.scm
│ │ │ ├── cplusplus.i
│ │ │ ├── extra-install.list
│ │ │ ├── guile.i
│ │ │ ├── guile_scm.swg
│ │ │ ├── guile_scm_run.swg
│ │ │ ├── guilemain.i
│ │ │ ├── interpreter.i
│ │ │ ├── list-vector.i
│ │ │ ├── pointer-in-out.i
│ │ │ ├── ports.i
│ │ │ ├── std_common.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_except.i
│ │ │ ├── std_map.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── stl.i
│ │ │ ├── swigrun.i
│ │ │ └── typemaps.i
│ │ ├── intrusive_ptr.i
│ │ ├── inttypes.i
│ │ ├── java
│ │ │ ├── arrays_java.i
│ │ │ ├── boost_intrusive_ptr.i
│ │ │ ├── boost_shared_ptr.i
│ │ │ ├── director.swg
│ │ │ ├── enums.swg
│ │ │ ├── enumsimple.swg
│ │ │ ├── enumtypesafe.swg
│ │ │ ├── enumtypeunsafe.swg
│ │ │ ├── java.swg
│ │ │ ├── javahead.swg
│ │ │ ├── javakw.swg
│ │ │ ├── std_common.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_except.i
│ │ │ ├── std_map.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_shared_ptr.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── std_wstring.i
│ │ │ ├── stl.i
│ │ │ ├── typemaps.i
│ │ │ └── various.i
│ │ ├── linkruntime.c
│ │ ├── lua
│ │ │ ├── _std_common.i
│ │ │ ├── carrays.i
│ │ │ ├── factory.i
│ │ │ ├── lua.swg
│ │ │ ├── lua_fnptr.i
│ │ │ ├── luarun.swg
│ │ │ ├── luaruntime.swg
│ │ │ ├── luatypemaps.swg
│ │ │ ├── std_common.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_except.i
│ │ │ ├── std_map.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── stl.i
│ │ │ ├── typemaps.i
│ │ │ └── wchar.i
│ │ ├── math.i
│ │ ├── modula3
│ │ │ ├── modula3.swg
│ │ │ ├── modula3head.swg
│ │ │ └── typemaps.i
│ │ ├── mzscheme
│ │ │ ├── Makefile
│ │ │ ├── mzrun.swg
│ │ │ ├── mzscheme.swg
│ │ │ ├── std_common.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_map.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── stl.i
│ │ │ └── typemaps.i
│ │ ├── ocaml
│ │ │ ├── carray.i
│ │ │ ├── class.swg
│ │ │ ├── cstring.i
│ │ │ ├── director.swg
│ │ │ ├── extra-install.list
│ │ │ ├── libswigocaml.h
│ │ │ ├── ocaml.i
│ │ │ ├── ocaml.swg
│ │ │ ├── ocamldec.swg
│ │ │ ├── ocamlkw.swg
│ │ │ ├── preamble.swg
│ │ │ ├── std_common.i
│ │ │ ├── std_complex.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_list.i
│ │ │ ├── std_map.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── stl.i
│ │ │ ├── swig.ml
│ │ │ ├── swig.mli
│ │ │ ├── swigp4.ml.in
│ │ │ ├── typecheck.i
│ │ │ ├── typemaps.i
│ │ │ └── typeregister.swg
│ │ ├── octave
│ │ │ ├── attribute.i
│ │ │ ├── boost_shared_ptr.i
│ │ │ ├── carrays.i
│ │ │ ├── cdata.i
│ │ │ ├── cmalloc.i
│ │ │ ├── director.swg
│ │ │ ├── exception.i
│ │ │ ├── factory.i
│ │ │ ├── implicit.i
│ │ │ ├── octave.swg
│ │ │ ├── octcomplex.swg
│ │ │ ├── octcontainer.swg
│ │ │ ├── octfragments.swg
│ │ │ ├── octiterators.swg
│ │ │ ├── octopers.swg
│ │ │ ├── octprimtypes.swg
│ │ │ ├── octrun.swg
│ │ │ ├── octruntime.swg
│ │ │ ├── octstdcommon.swg
│ │ │ ├── octtypemaps.swg
│ │ │ ├── octuserdir.swg
│ │ │ ├── std_alloc.i
│ │ │ ├── std_basic_string.i
│ │ │ ├── std_carray.i
│ │ │ ├── std_char_traits.i
│ │ │ ├── std_common.i
│ │ │ ├── std_complex.i
│ │ │ ├── std_container.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_except.i
│ │ │ ├── std_list.i
│ │ │ ├── std_map.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── stl.i
│ │ │ └── typemaps.i
│ │ ├── perl5
│ │ │ ├── Makefile.in
│ │ │ ├── Makefile.pl
│ │ │ ├── attribute.i
│ │ │ ├── carrays.i
│ │ │ ├── cdata.i
│ │ │ ├── cmalloc.i
│ │ │ ├── cni.i
│ │ │ ├── cpointer.i
│ │ │ ├── cstring.i
│ │ │ ├── exception.i
│ │ │ ├── extra-install.list
│ │ │ ├── factory.i
│ │ │ ├── jstring.i
│ │ │ ├── noembed.h
│ │ │ ├── perl5.swg
│ │ │ ├── perlerrors.swg
│ │ │ ├── perlfragments.swg
│ │ │ ├── perlhead.swg
│ │ │ ├── perlinit.swg
│ │ │ ├── perlkw.swg
│ │ │ ├── perlmacros.swg
│ │ │ ├── perlmain.i
│ │ │ ├── perlopers.swg
│ │ │ ├── perlprimtypes.swg
│ │ │ ├── perlrun.swg
│ │ │ ├── perlruntime.swg
│ │ │ ├── perlstrings.swg
│ │ │ ├── perltypemaps.swg
│ │ │ ├── perluserdir.swg
│ │ │ ├── reference.i
│ │ │ ├── std_common.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_except.i
│ │ │ ├── std_list.i
│ │ │ ├── std_map.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── stl.i
│ │ │ └── typemaps.i
│ │ ├── php
│ │ │ ├── const.i
│ │ │ ├── director.swg
│ │ │ ├── factory.i
│ │ │ ├── globalvar.i
│ │ │ ├── php.swg
│ │ │ ├── phpinit.swg
│ │ │ ├── phpkw.swg
│ │ │ ├── phppointers.i
│ │ │ ├── phprun.swg
│ │ │ ├── std_common.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_map.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── stl.i
│ │ │ ├── typemaps.i
│ │ │ └── utils.i
│ │ ├── pike
│ │ │ ├── pike.swg
│ │ │ ├── pikekw.swg
│ │ │ ├── pikerun.swg
│ │ │ └── std_string.i
│ │ ├── pointer.i
│ │ ├── python
│ │ │ ├── Makefile.in
│ │ │ ├── README
│ │ │ ├── argcargv.i
│ │ │ ├── attribute.i
│ │ │ ├── boost_shared_ptr.i
│ │ │ ├── builtin.swg
│ │ │ ├── carrays.i
│ │ │ ├── ccomplex.i
│ │ │ ├── cdata.i
│ │ │ ├── cmalloc.i
│ │ │ ├── cni.i
│ │ │ ├── complex.i
│ │ │ ├── cpointer.i
│ │ │ ├── cstring.i
│ │ │ ├── cwstring.i
│ │ │ ├── defarg.swg
│ │ │ ├── director.swg
│ │ │ ├── embed.i
│ │ │ ├── embed15.i
│ │ │ ├── exception.i
│ │ │ ├── factory.i
│ │ │ ├── file.i
│ │ │ ├── implicit.i
│ │ │ ├── jstring.i
│ │ │ ├── pyabc.i
│ │ │ ├── pyapi.swg
│ │ │ ├── pybackward.swg
│ │ │ ├── pybuffer.i
│ │ │ ├── pyclasses.swg
│ │ │ ├── pycomplex.swg
│ │ │ ├── pycontainer.swg
│ │ │ ├── pydocs.swg
│ │ │ ├── pyerrors.swg
│ │ │ ├── pyfragments.swg
│ │ │ ├── pyhead.swg
│ │ │ ├── pyinit.swg
│ │ │ ├── pyiterators.swg
│ │ │ ├── pymacros.swg
│ │ │ ├── pyname_compat.i
│ │ │ ├── pyopers.swg
│ │ │ ├── pyprimtypes.swg
│ │ │ ├── pyrun.swg
│ │ │ ├── pyruntime.swg
│ │ │ ├── pystdcommon.swg
│ │ │ ├── pystrings.swg
│ │ │ ├── python.swg
│ │ │ ├── pythonkw.swg
│ │ │ ├── pythreads.swg
│ │ │ ├── pytuplehlp.swg
│ │ │ ├── pytypemaps.swg
│ │ │ ├── pyuserdir.swg
│ │ │ ├── pywstrings.swg
│ │ │ ├── std_alloc.i
│ │ │ ├── std_basic_string.i
│ │ │ ├── std_carray.i
│ │ │ ├── std_char_traits.i
│ │ │ ├── std_common.i
│ │ │ ├── std_complex.i
│ │ │ ├── std_container.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_except.i
│ │ │ ├── std_ios.i
│ │ │ ├── std_iostream.i
│ │ │ ├── std_list.i
│ │ │ ├── std_map.i
│ │ │ ├── std_multimap.i
│ │ │ ├── std_multiset.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_set.i
│ │ │ ├── std_shared_ptr.i
│ │ │ ├── std_sstream.i
│ │ │ ├── std_streambuf.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── std_vectora.i
│ │ │ ├── std_wios.i
│ │ │ ├── std_wiostream.i
│ │ │ ├── std_wsstream.i
│ │ │ ├── std_wstreambuf.i
│ │ │ ├── std_wstring.i
│ │ │ ├── stl.i
│ │ │ ├── typemaps.i
│ │ │ └── wchar.i
│ │ ├── r
│ │ │ ├── boost_shared_ptr.i
│ │ │ ├── cdata.i
│ │ │ ├── exception.i
│ │ │ ├── r.swg
│ │ │ ├── rcontainer.swg
│ │ │ ├── rfragments.swg
│ │ │ ├── rkw.swg
│ │ │ ├── ropers.swg
│ │ │ ├── rrun.swg
│ │ │ ├── rstdcommon.swg
│ │ │ ├── rtype.swg
│ │ │ ├── srun.swg
│ │ │ ├── std_alloc.i
│ │ │ ├── std_common.i
│ │ │ ├── std_container.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_except.i
│ │ │ ├── std_list.i
│ │ │ ├── std_map.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── stl.i
│ │ │ └── typemaps.i
│ │ ├── ruby
│ │ │ ├── Makefile.swig
│ │ │ ├── argcargv.i
│ │ │ ├── attribute.i
│ │ │ ├── carrays.i
│ │ │ ├── cdata.i
│ │ │ ├── cmalloc.i
│ │ │ ├── cni.i
│ │ │ ├── cpointer.i
│ │ │ ├── cstring.i
│ │ │ ├── director.swg
│ │ │ ├── embed.i
│ │ │ ├── exception.i
│ │ │ ├── extconf.rb
│ │ │ ├── extra-install.list
│ │ │ ├── factory.i
│ │ │ ├── file.i
│ │ │ ├── jstring.i
│ │ │ ├── progargcargv.i
│ │ │ ├── ruby.swg
│ │ │ ├── rubyapi.swg
│ │ │ ├── rubyautodoc.swg
│ │ │ ├── rubyclasses.swg
│ │ │ ├── rubycomplex.swg
│ │ │ ├── rubycontainer.swg
│ │ │ ├── rubycontainer_extended.swg
│ │ │ ├── rubydef.swg
│ │ │ ├── rubyerrors.swg
│ │ │ ├── rubyfragments.swg
│ │ │ ├── rubyhead.swg
│ │ │ ├── rubyinit.swg
│ │ │ ├── rubyiterators.swg
│ │ │ ├── rubykw.swg
│ │ │ ├── rubymacros.swg
│ │ │ ├── rubyopers.swg
│ │ │ ├── rubyprimtypes.swg
│ │ │ ├── rubyrun.swg
│ │ │ ├── rubyruntime.swg
│ │ │ ├── rubystdautodoc.swg
│ │ │ ├── rubystdcommon.swg
│ │ │ ├── rubystdfunctors.swg
│ │ │ ├── rubystrings.swg
│ │ │ ├── rubytracking.swg
│ │ │ ├── rubytypemaps.swg
│ │ │ ├── rubyuserdir.swg
│ │ │ ├── rubywstrings.swg
│ │ │ ├── std_alloc.i
│ │ │ ├── std_basic_string.i
│ │ │ ├── std_char_traits.i
│ │ │ ├── std_common.i
│ │ │ ├── std_complex.i
│ │ │ ├── std_container.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_except.i
│ │ │ ├── std_functors.i
│ │ │ ├── std_ios.i
│ │ │ ├── std_iostream.i
│ │ │ ├── std_list.i
│ │ │ ├── std_map.i
│ │ │ ├── std_multimap.i
│ │ │ ├── std_multiset.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_queue.i
│ │ │ ├── std_set.i
│ │ │ ├── std_sstream.i
│ │ │ ├── std_stack.i
│ │ │ ├── std_streambuf.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── std_vectora.i
│ │ │ ├── std_wstring.i
│ │ │ ├── stl.i
│ │ │ ├── timeval.i
│ │ │ └── typemaps.i
│ │ ├── runtime.swg
│ │ ├── shared_ptr.i
│ │ ├── std
│ │ │ ├── README
│ │ │ ├── _std_deque.i
│ │ │ ├── std_alloc.i
│ │ │ ├── std_basic_string.i
│ │ │ ├── std_carray.swg
│ │ │ ├── std_char_traits.i
│ │ │ ├── std_common.i
│ │ │ ├── std_container.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_except.i
│ │ │ ├── std_ios.i
│ │ │ ├── std_iostream.i
│ │ │ ├── std_list.i
│ │ │ ├── std_map.i
│ │ │ ├── std_multimap.i
│ │ │ ├── std_multiset.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_queue.i
│ │ │ ├── std_set.i
│ │ │ ├── std_sstream.i
│ │ │ ├── std_stack.i
│ │ │ ├── std_streambuf.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── std_vectora.i
│ │ │ ├── std_wios.i
│ │ │ ├── std_wiostream.i
│ │ │ ├── std_wsstream.i
│ │ │ ├── std_wstreambuf.i
│ │ │ └── std_wstring.i
│ │ ├── std_except.i
│ │ ├── stdint.i
│ │ ├── stl.i
│ │ ├── swig.swg
│ │ ├── swigarch.i
│ │ ├── swigerrors.swg
│ │ ├── swiginit.swg
│ │ ├── swiglabels.swg
│ │ ├── swigrun.i
│ │ ├── swigrun.swg
│ │ ├── swigwarn.swg
│ │ ├── swigwarnings.swg
│ │ ├── tcl
│ │ │ ├── Makefile.in
│ │ │ ├── attribute.i
│ │ │ ├── carrays.i
│ │ │ ├── cdata.i
│ │ │ ├── cmalloc.i
│ │ │ ├── cni.i
│ │ │ ├── cpointer.i
│ │ │ ├── cstring.i
│ │ │ ├── cwstring.i
│ │ │ ├── exception.i
│ │ │ ├── factory.i
│ │ │ ├── jstring.i
│ │ │ ├── mactkinit.c
│ │ │ ├── std_common.i
│ │ │ ├── std_deque.i
│ │ │ ├── std_except.i
│ │ │ ├── std_map.i
│ │ │ ├── std_pair.i
│ │ │ ├── std_string.i
│ │ │ ├── std_vector.i
│ │ │ ├── std_wstring.i
│ │ │ ├── stl.i
│ │ │ ├── tcl8.swg
│ │ │ ├── tclapi.swg
│ │ │ ├── tclerrors.swg
│ │ │ ├── tclfragments.swg
│ │ │ ├── tclinit.swg
│ │ │ ├── tclinterp.i
│ │ │ ├── tclkw.swg
│ │ │ ├── tclmacros.swg
│ │ │ ├── tclopers.swg
│ │ │ ├── tclprimtypes.swg
│ │ │ ├── tclresult.i
│ │ │ ├── tclrun.swg
│ │ │ ├── tclruntime.swg
│ │ │ ├── tclsh.i
│ │ │ ├── tclstrings.swg
│ │ │ ├── tcltypemaps.swg
│ │ │ ├── tcluserdir.swg
│ │ │ ├── tclwstrings.swg
│ │ │ ├── typemaps.i
│ │ │ └── wish.i
│ │ ├── typemaps
│ │ │ ├── README
│ │ │ ├── attribute.swg
│ │ │ ├── carrays.swg
│ │ │ ├── cdata.swg
│ │ │ ├── cmalloc.swg
│ │ │ ├── cpointer.swg
│ │ │ ├── cstring.swg
│ │ │ ├── cstrings.swg
│ │ │ ├── cwstring.swg
│ │ │ ├── enumint.swg
│ │ │ ├── exception.swg
│ │ │ ├── factory.swg
│ │ │ ├── fragments.swg
│ │ │ ├── implicit.swg
│ │ │ ├── inoutlist.swg
│ │ │ ├── misctypes.swg
│ │ │ ├── primtypes.swg
│ │ │ ├── ptrtypes.swg
│ │ │ ├── std_except.swg
│ │ │ ├── std_string.swg
│ │ │ ├── std_strings.swg
│ │ │ ├── std_wstring.swg
│ │ │ ├── string.swg
│ │ │ ├── strings.swg
│ │ │ ├── swigmacros.swg
│ │ │ ├── swigobject.swg
│ │ │ ├── swigtype.swg
│ │ │ ├── swigtypemaps.swg
│ │ │ ├── traits.swg
│ │ │ ├── typemaps.swg
│ │ │ ├── valtypes.swg
│ │ │ ├── void.swg
│ │ │ └── wstring.swg
│ │ ├── uffi
│ │ │ └── uffi.swg
│ │ ├── wchar.i
│ │ ├── windows.i
│ │ └── xml
│ │ │ ├── typemaps.i
│ │ │ └── xml.swg
│ │ └── swig.exe
├── include
│ └── ruby
│ │ ├── 1.8
│ │ ├── mac
│ │ │ ├── LGPL
│ │ │ ├── config.h
│ │ │ ├── defines.h
│ │ │ ├── dln.h
│ │ │ ├── env.h
│ │ │ ├── intern.h
│ │ │ ├── missing.h
│ │ │ ├── node.h
│ │ │ ├── re.h
│ │ │ ├── regex.h
│ │ │ ├── ruby.h
│ │ │ ├── rubyio.h
│ │ │ ├── rubysig.h
│ │ │ ├── st.h
│ │ │ ├── util.h
│ │ │ └── version.h
│ │ └── win32
│ │ │ ├── LGPL
│ │ │ ├── config.h
│ │ │ ├── defines.h
│ │ │ ├── dl.h
│ │ │ ├── dlconfig.h
│ │ │ ├── dln.h
│ │ │ ├── env.h
│ │ │ ├── intern.h
│ │ │ ├── missing.h
│ │ │ ├── node.h
│ │ │ ├── re.h
│ │ │ ├── regex.h
│ │ │ ├── ruby.h
│ │ │ ├── rubyio.h
│ │ │ ├── rubysig.h
│ │ │ ├── st.h
│ │ │ ├── util.h
│ │ │ ├── version.h
│ │ │ └── win32
│ │ │ └── win32.h
│ │ ├── 2.0
│ │ ├── mac
│ │ │ ├── ruby.h
│ │ │ ├── ruby
│ │ │ │ ├── backward
│ │ │ │ │ ├── classext.h
│ │ │ │ │ ├── rubyio.h
│ │ │ │ │ ├── rubysig.h
│ │ │ │ │ ├── st.h
│ │ │ │ │ └── util.h
│ │ │ │ ├── debug.h
│ │ │ │ ├── defines.h
│ │ │ │ ├── digest.h
│ │ │ │ ├── dl.h
│ │ │ │ ├── encoding.h
│ │ │ │ ├── intern.h
│ │ │ │ ├── io.h
│ │ │ │ ├── missing.h
│ │ │ │ ├── oniguruma.h
│ │ │ │ ├── re.h
│ │ │ │ ├── regex.h
│ │ │ │ ├── ruby.h
│ │ │ │ ├── st.h
│ │ │ │ ├── subst.h
│ │ │ │ ├── thread.h
│ │ │ │ ├── util.h
│ │ │ │ ├── version.h
│ │ │ │ └── vm.h
│ │ │ └── universal-darwin12.5.0
│ │ │ │ └── ruby
│ │ │ │ └── config.h
│ │ ├── win32
│ │ │ ├── i386-mswin32_100
│ │ │ │ └── ruby
│ │ │ │ │ └── config.h
│ │ │ ├── ruby.h
│ │ │ └── ruby
│ │ │ │ ├── backward
│ │ │ │ ├── classext.h
│ │ │ │ ├── rubyio.h
│ │ │ │ ├── rubysig.h
│ │ │ │ ├── st.h
│ │ │ │ └── util.h
│ │ │ │ ├── debug.h
│ │ │ │ ├── defines.h
│ │ │ │ ├── digest.h
│ │ │ │ ├── dl.h
│ │ │ │ ├── encoding.h
│ │ │ │ ├── intern.h
│ │ │ │ ├── io.h
│ │ │ │ ├── missing.h
│ │ │ │ ├── oniguruma.h
│ │ │ │ ├── re.h
│ │ │ │ ├── regex.h
│ │ │ │ ├── ruby.h
│ │ │ │ ├── st.h
│ │ │ │ ├── subst.h
│ │ │ │ ├── thread.h
│ │ │ │ ├── util.h
│ │ │ │ ├── version.h
│ │ │ │ ├── vm.h
│ │ │ │ └── win32.h
│ │ └── win32_x64
│ │ │ ├── ruby.h
│ │ │ ├── ruby
│ │ │ ├── backward
│ │ │ │ ├── classext.h
│ │ │ │ ├── rubyio.h
│ │ │ │ ├── rubysig.h
│ │ │ │ ├── st.h
│ │ │ │ └── util.h
│ │ │ ├── debug.h
│ │ │ ├── defines.h
│ │ │ ├── digest.h
│ │ │ ├── dl.h
│ │ │ ├── encoding.h
│ │ │ ├── intern.h
│ │ │ ├── io.h
│ │ │ ├── missing.h
│ │ │ ├── oniguruma.h
│ │ │ ├── re.h
│ │ │ ├── regex.h
│ │ │ ├── ruby.h
│ │ │ ├── st.h
│ │ │ ├── subst.h
│ │ │ ├── thread.h
│ │ │ ├── util.h
│ │ │ ├── version.h
│ │ │ ├── vm.h
│ │ │ └── win32.h
│ │ │ └── x64-mswin64_100
│ │ │ └── ruby
│ │ │ └── config.h
│ │ ├── 2.2
│ │ ├── mac
│ │ │ ├── ruby.h
│ │ │ ├── ruby
│ │ │ │ ├── backward
│ │ │ │ │ ├── classext.h
│ │ │ │ │ ├── rubyio.h
│ │ │ │ │ ├── rubysig.h
│ │ │ │ │ ├── st.h
│ │ │ │ │ └── util.h
│ │ │ │ ├── config.h
│ │ │ │ ├── debug.h
│ │ │ │ ├── defines.h
│ │ │ │ ├── digest.h
│ │ │ │ ├── encoding.h
│ │ │ │ ├── intern.h
│ │ │ │ ├── io.h
│ │ │ │ ├── missing.h
│ │ │ │ ├── oniguruma.h
│ │ │ │ ├── re.h
│ │ │ │ ├── regex.h
│ │ │ │ ├── ruby.h
│ │ │ │ ├── st.h
│ │ │ │ ├── subst.h
│ │ │ │ ├── thread.h
│ │ │ │ ├── thread_native.h
│ │ │ │ ├── util.h
│ │ │ │ ├── version.h
│ │ │ │ └── vm.h
│ │ │ └── x86_64-darwin14
│ │ │ │ └── ruby
│ │ │ │ └── config.h
│ │ └── win32_x64
│ │ │ ├── ruby.h
│ │ │ ├── ruby
│ │ │ ├── backward
│ │ │ │ ├── classext.h
│ │ │ │ ├── rubyio.h
│ │ │ │ ├── rubysig.h
│ │ │ │ ├── st.h
│ │ │ │ └── util.h
│ │ │ ├── config.h
│ │ │ ├── debug.h
│ │ │ ├── defines.h
│ │ │ ├── digest.h
│ │ │ ├── encoding.h
│ │ │ ├── intern.h
│ │ │ ├── io.h
│ │ │ ├── missing.h
│ │ │ ├── oniguruma.h
│ │ │ ├── re.h
│ │ │ ├── regex.h
│ │ │ ├── ruby.h
│ │ │ ├── st.h
│ │ │ ├── subst.h
│ │ │ ├── thread.h
│ │ │ ├── thread_native.h
│ │ │ ├── util.h
│ │ │ ├── version.h
│ │ │ ├── vm.h
│ │ │ └── win32.h
│ │ │ ├── x64-mswin64_100
│ │ │ └── ruby
│ │ │ │ └── config.h
│ │ │ └── x64-mswin64_140
│ │ │ └── ruby
│ │ │ └── config.h
│ │ ├── 2.5
│ │ ├── mac
│ │ │ ├── ruby.h
│ │ │ ├── ruby
│ │ │ │ ├── backward.h
│ │ │ │ ├── backward
│ │ │ │ │ ├── classext.h
│ │ │ │ │ ├── rubyio.h
│ │ │ │ │ ├── rubysig.h
│ │ │ │ │ ├── st.h
│ │ │ │ │ └── util.h
│ │ │ │ ├── config.h
│ │ │ │ ├── debug.h
│ │ │ │ ├── defines.h
│ │ │ │ ├── digest.h
│ │ │ │ ├── encoding.h
│ │ │ │ ├── intern.h
│ │ │ │ ├── io.h
│ │ │ │ ├── missing.h
│ │ │ │ ├── onigmo.h
│ │ │ │ ├── oniguruma.h
│ │ │ │ ├── re.h
│ │ │ │ ├── regex.h
│ │ │ │ ├── ruby.h
│ │ │ │ ├── st.h
│ │ │ │ ├── subst.h
│ │ │ │ ├── thread.h
│ │ │ │ ├── thread_native.h
│ │ │ │ ├── util.h
│ │ │ │ ├── version.h
│ │ │ │ └── vm.h
│ │ │ └── x86_64-darwin17
│ │ │ │ └── ruby
│ │ │ │ └── config.h
│ │ └── win32_x64
│ │ │ ├── ruby.h
│ │ │ └── ruby
│ │ │ ├── backward.h
│ │ │ ├── backward
│ │ │ ├── classext.h
│ │ │ ├── rubyio.h
│ │ │ ├── rubysig.h
│ │ │ ├── st.h
│ │ │ └── util.h
│ │ │ ├── config.h
│ │ │ ├── debug.h
│ │ │ ├── defines.h
│ │ │ ├── digest.h
│ │ │ ├── encoding.h
│ │ │ ├── intern.h
│ │ │ ├── io.h
│ │ │ ├── missing.h
│ │ │ ├── onigmo.h
│ │ │ ├── oniguruma.h
│ │ │ ├── re.h
│ │ │ ├── regex.h
│ │ │ ├── ruby.h
│ │ │ ├── st.h
│ │ │ ├── subst.h
│ │ │ ├── thread.h
│ │ │ ├── thread_native.h
│ │ │ ├── util.h
│ │ │ ├── version.h
│ │ │ ├── vm.h
│ │ │ └── win32.h
│ │ ├── 2.7
│ │ ├── mac
│ │ │ ├── arm64-darwin
│ │ │ │ ├── rb_mjit_min_header-2.7.2.h
│ │ │ │ └── ruby
│ │ │ │ │ └── config.h
│ │ │ ├── ruby.h
│ │ │ ├── ruby
│ │ │ │ ├── assert.h
│ │ │ │ ├── backward.h
│ │ │ │ ├── backward
│ │ │ │ │ ├── classext.h
│ │ │ │ │ ├── cxxanyargs.hpp
│ │ │ │ │ ├── rubyio.h
│ │ │ │ │ ├── rubysig.h
│ │ │ │ │ ├── st.h
│ │ │ │ │ └── util.h
│ │ │ │ ├── config.h
│ │ │ │ ├── debug.h
│ │ │ │ ├── defines.h
│ │ │ │ ├── digest.h
│ │ │ │ ├── encoding.h
│ │ │ │ ├── intern.h
│ │ │ │ ├── io.h
│ │ │ │ ├── missing.h
│ │ │ │ ├── onigmo.h
│ │ │ │ ├── oniguruma.h
│ │ │ │ ├── re.h
│ │ │ │ ├── regex.h
│ │ │ │ ├── ruby.h
│ │ │ │ ├── st.h
│ │ │ │ ├── subst.h
│ │ │ │ ├── thread.h
│ │ │ │ ├── thread_native.h
│ │ │ │ ├── util.h
│ │ │ │ ├── version.h
│ │ │ │ └── vm.h
│ │ │ └── x86_64-darwin
│ │ │ │ ├── rb_mjit_min_header-2.7.2.h
│ │ │ │ └── ruby
│ │ │ │ └── config.h
│ │ └── win32_x64
│ │ │ ├── ruby.h
│ │ │ └── ruby
│ │ │ ├── assert.h
│ │ │ ├── backward.h
│ │ │ ├── backward
│ │ │ ├── classext.h
│ │ │ ├── cxxanyargs.hpp
│ │ │ ├── rubyio.h
│ │ │ ├── rubysig.h
│ │ │ ├── st.h
│ │ │ └── util.h
│ │ │ ├── config.h
│ │ │ ├── debug.h
│ │ │ ├── defines.h
│ │ │ ├── digest.h
│ │ │ ├── encoding.h
│ │ │ ├── intern.h
│ │ │ ├── io.h
│ │ │ ├── missing.h
│ │ │ ├── onigmo.h
│ │ │ ├── oniguruma.h
│ │ │ ├── re.h
│ │ │ ├── regex.h
│ │ │ ├── ruby.h
│ │ │ ├── st.h
│ │ │ ├── subst.h
│ │ │ ├── thread.h
│ │ │ ├── thread_native.h
│ │ │ ├── util.h
│ │ │ ├── version.h
│ │ │ ├── vm.h
│ │ │ └── win32.h
│ │ └── 3.2
│ │ ├── mac
│ │ ├── arm64-darwin
│ │ │ ├── rb_mjit_min_header-3.2.2.h
│ │ │ └── ruby
│ │ │ │ └── config.h
│ │ ├── ruby.h
│ │ ├── ruby
│ │ │ ├── assert.h
│ │ │ ├── atomic.h
│ │ │ ├── backward.h
│ │ │ ├── backward
│ │ │ │ ├── 2
│ │ │ │ │ ├── assume.h
│ │ │ │ │ ├── attributes.h
│ │ │ │ │ ├── bool.h
│ │ │ │ │ ├── gcc_version_since.h
│ │ │ │ │ ├── inttypes.h
│ │ │ │ │ ├── limits.h
│ │ │ │ │ ├── long_long.h
│ │ │ │ │ ├── r_cast.h
│ │ │ │ │ ├── rmodule.h
│ │ │ │ │ ├── stdalign.h
│ │ │ │ │ └── stdarg.h
│ │ │ │ └── cxxanyargs.hpp
│ │ │ ├── config.h
│ │ │ ├── debug.h
│ │ │ ├── defines.h
│ │ │ ├── digest.h
│ │ │ ├── encoding.h
│ │ │ ├── fiber
│ │ │ │ └── scheduler.h
│ │ │ ├── intern.h
│ │ │ ├── internal
│ │ │ │ ├── abi.h
│ │ │ │ ├── anyargs.h
│ │ │ │ ├── arithmetic.h
│ │ │ │ ├── arithmetic
│ │ │ │ │ ├── char.h
│ │ │ │ │ ├── double.h
│ │ │ │ │ ├── fixnum.h
│ │ │ │ │ ├── gid_t.h
│ │ │ │ │ ├── int.h
│ │ │ │ │ ├── intptr_t.h
│ │ │ │ │ ├── long.h
│ │ │ │ │ ├── long_long.h
│ │ │ │ │ ├── mode_t.h
│ │ │ │ │ ├── off_t.h
│ │ │ │ │ ├── pid_t.h
│ │ │ │ │ ├── short.h
│ │ │ │ │ ├── size_t.h
│ │ │ │ │ ├── st_data_t.h
│ │ │ │ │ └── uid_t.h
│ │ │ │ ├── assume.h
│ │ │ │ ├── attr
│ │ │ │ │ ├── alloc_size.h
│ │ │ │ │ ├── artificial.h
│ │ │ │ │ ├── cold.h
│ │ │ │ │ ├── const.h
│ │ │ │ │ ├── constexpr.h
│ │ │ │ │ ├── deprecated.h
│ │ │ │ │ ├── diagnose_if.h
│ │ │ │ │ ├── enum_extensibility.h
│ │ │ │ │ ├── error.h
│ │ │ │ │ ├── flag_enum.h
│ │ │ │ │ ├── forceinline.h
│ │ │ │ │ ├── format.h
│ │ │ │ │ ├── maybe_unused.h
│ │ │ │ │ ├── noalias.h
│ │ │ │ │ ├── nodiscard.h
│ │ │ │ │ ├── noexcept.h
│ │ │ │ │ ├── noinline.h
│ │ │ │ │ ├── nonnull.h
│ │ │ │ │ ├── noreturn.h
│ │ │ │ │ ├── pure.h
│ │ │ │ │ ├── restrict.h
│ │ │ │ │ ├── returns_nonnull.h
│ │ │ │ │ ├── warning.h
│ │ │ │ │ └── weakref.h
│ │ │ │ ├── cast.h
│ │ │ │ ├── compiler_is.h
│ │ │ │ ├── compiler_is
│ │ │ │ │ ├── apple.h
│ │ │ │ │ ├── clang.h
│ │ │ │ │ ├── gcc.h
│ │ │ │ │ ├── intel.h
│ │ │ │ │ ├── msvc.h
│ │ │ │ │ └── sunpro.h
│ │ │ │ ├── compiler_since.h
│ │ │ │ ├── config.h
│ │ │ │ ├── constant_p.h
│ │ │ │ ├── core.h
│ │ │ │ ├── core
│ │ │ │ │ ├── rarray.h
│ │ │ │ │ ├── rbasic.h
│ │ │ │ │ ├── rbignum.h
│ │ │ │ │ ├── rclass.h
│ │ │ │ │ ├── rdata.h
│ │ │ │ │ ├── rfile.h
│ │ │ │ │ ├── rhash.h
│ │ │ │ │ ├── rmatch.h
│ │ │ │ │ ├── robject.h
│ │ │ │ │ ├── rregexp.h
│ │ │ │ │ ├── rstring.h
│ │ │ │ │ ├── rstruct.h
│ │ │ │ │ └── rtypeddata.h
│ │ │ │ ├── ctype.h
│ │ │ │ ├── dllexport.h
│ │ │ │ ├── dosish.h
│ │ │ │ ├── encoding
│ │ │ │ │ ├── coderange.h
│ │ │ │ │ ├── ctype.h
│ │ │ │ │ ├── encoding.h
│ │ │ │ │ ├── pathname.h
│ │ │ │ │ ├── re.h
│ │ │ │ │ ├── sprintf.h
│ │ │ │ │ ├── string.h
│ │ │ │ │ ├── symbol.h
│ │ │ │ │ └── transcode.h
│ │ │ │ ├── error.h
│ │ │ │ ├── eval.h
│ │ │ │ ├── event.h
│ │ │ │ ├── fl_type.h
│ │ │ │ ├── gc.h
│ │ │ │ ├── glob.h
│ │ │ │ ├── globals.h
│ │ │ │ ├── has
│ │ │ │ │ ├── attribute.h
│ │ │ │ │ ├── builtin.h
│ │ │ │ │ ├── c_attribute.h
│ │ │ │ │ ├── cpp_attribute.h
│ │ │ │ │ ├── declspec_attribute.h
│ │ │ │ │ ├── extension.h
│ │ │ │ │ ├── feature.h
│ │ │ │ │ └── warning.h
│ │ │ │ ├── intern
│ │ │ │ │ ├── array.h
│ │ │ │ │ ├── bignum.h
│ │ │ │ │ ├── class.h
│ │ │ │ │ ├── compar.h
│ │ │ │ │ ├── complex.h
│ │ │ │ │ ├── cont.h
│ │ │ │ │ ├── dir.h
│ │ │ │ │ ├── enum.h
│ │ │ │ │ ├── enumerator.h
│ │ │ │ │ ├── error.h
│ │ │ │ │ ├── eval.h
│ │ │ │ │ ├── file.h
│ │ │ │ │ ├── gc.h
│ │ │ │ │ ├── hash.h
│ │ │ │ │ ├── io.h
│ │ │ │ │ ├── load.h
│ │ │ │ │ ├── marshal.h
│ │ │ │ │ ├── numeric.h
│ │ │ │ │ ├── object.h
│ │ │ │ │ ├── parse.h
│ │ │ │ │ ├── proc.h
│ │ │ │ │ ├── process.h
│ │ │ │ │ ├── random.h
│ │ │ │ │ ├── range.h
│ │ │ │ │ ├── rational.h
│ │ │ │ │ ├── re.h
│ │ │ │ │ ├── ruby.h
│ │ │ │ │ ├── select.h
│ │ │ │ │ ├── select
│ │ │ │ │ │ ├── largesize.h
│ │ │ │ │ │ └── posix.h
│ │ │ │ │ ├── signal.h
│ │ │ │ │ ├── sprintf.h
│ │ │ │ │ ├── string.h
│ │ │ │ │ ├── struct.h
│ │ │ │ │ ├── thread.h
│ │ │ │ │ ├── time.h
│ │ │ │ │ ├── variable.h
│ │ │ │ │ └── vm.h
│ │ │ │ ├── interpreter.h
│ │ │ │ ├── iterator.h
│ │ │ │ ├── memory.h
│ │ │ │ ├── method.h
│ │ │ │ ├── module.h
│ │ │ │ ├── newobj.h
│ │ │ │ ├── rgengc.h
│ │ │ │ ├── scan_args.h
│ │ │ │ ├── special_consts.h
│ │ │ │ ├── static_assert.h
│ │ │ │ ├── stdalign.h
│ │ │ │ ├── stdbool.h
│ │ │ │ ├── symbol.h
│ │ │ │ ├── value.h
│ │ │ │ ├── value_type.h
│ │ │ │ ├── variable.h
│ │ │ │ ├── warning_push.h
│ │ │ │ └── xmalloc.h
│ │ │ ├── io.h
│ │ │ ├── io
│ │ │ │ └── buffer.h
│ │ │ ├── memory_view.h
│ │ │ ├── missing.h
│ │ │ ├── onigmo.h
│ │ │ ├── oniguruma.h
│ │ │ ├── ractor.h
│ │ │ ├── random.h
│ │ │ ├── re.h
│ │ │ ├── regex.h
│ │ │ ├── ruby.h
│ │ │ ├── st.h
│ │ │ ├── subst.h
│ │ │ ├── thread.h
│ │ │ ├── thread_native.h
│ │ │ ├── util.h
│ │ │ ├── version.h
│ │ │ └── vm.h
│ │ └── x86_64-darwin
│ │ │ ├── rb_mjit_min_header-3.2.2.h
│ │ │ └── ruby
│ │ │ └── config.h
│ │ └── win32_x64
│ │ ├── ruby.h
│ │ └── ruby
│ │ ├── assert.h
│ │ ├── atomic.h
│ │ ├── backward.h
│ │ ├── backward
│ │ ├── 2
│ │ │ ├── assume.h
│ │ │ ├── attributes.h
│ │ │ ├── bool.h
│ │ │ ├── gcc_version_since.h
│ │ │ ├── inttypes.h
│ │ │ ├── limits.h
│ │ │ ├── long_long.h
│ │ │ ├── r_cast.h
│ │ │ ├── rmodule.h
│ │ │ ├── stdalign.h
│ │ │ └── stdarg.h
│ │ └── cxxanyargs.hpp
│ │ ├── config.h
│ │ ├── debug.h
│ │ ├── defines.h
│ │ ├── digest.h
│ │ ├── encoding.h
│ │ ├── fiber
│ │ └── scheduler.h
│ │ ├── intern.h
│ │ ├── internal
│ │ ├── abi.h
│ │ ├── anyargs.h
│ │ ├── arithmetic.h
│ │ ├── arithmetic
│ │ │ ├── char.h
│ │ │ ├── double.h
│ │ │ ├── fixnum.h
│ │ │ ├── gid_t.h
│ │ │ ├── int.h
│ │ │ ├── intptr_t.h
│ │ │ ├── long.h
│ │ │ ├── long_long.h
│ │ │ ├── mode_t.h
│ │ │ ├── off_t.h
│ │ │ ├── pid_t.h
│ │ │ ├── short.h
│ │ │ ├── size_t.h
│ │ │ ├── st_data_t.h
│ │ │ └── uid_t.h
│ │ ├── assume.h
│ │ ├── attr
│ │ │ ├── alloc_size.h
│ │ │ ├── artificial.h
│ │ │ ├── cold.h
│ │ │ ├── const.h
│ │ │ ├── constexpr.h
│ │ │ ├── deprecated.h
│ │ │ ├── diagnose_if.h
│ │ │ ├── enum_extensibility.h
│ │ │ ├── error.h
│ │ │ ├── flag_enum.h
│ │ │ ├── forceinline.h
│ │ │ ├── format.h
│ │ │ ├── maybe_unused.h
│ │ │ ├── noalias.h
│ │ │ ├── nodiscard.h
│ │ │ ├── noexcept.h
│ │ │ ├── noinline.h
│ │ │ ├── nonnull.h
│ │ │ ├── noreturn.h
│ │ │ ├── pure.h
│ │ │ ├── restrict.h
│ │ │ ├── returns_nonnull.h
│ │ │ ├── warning.h
│ │ │ └── weakref.h
│ │ ├── cast.h
│ │ ├── compiler_is.h
│ │ ├── compiler_is
│ │ │ ├── apple.h
│ │ │ ├── clang.h
│ │ │ ├── gcc.h
│ │ │ ├── intel.h
│ │ │ ├── msvc.h
│ │ │ └── sunpro.h
│ │ ├── compiler_since.h
│ │ ├── config.h
│ │ ├── constant_p.h
│ │ ├── core.h
│ │ ├── core
│ │ │ ├── rarray.h
│ │ │ ├── rbasic.h
│ │ │ ├── rbignum.h
│ │ │ ├── rclass.h
│ │ │ ├── rdata.h
│ │ │ ├── rfile.h
│ │ │ ├── rhash.h
│ │ │ ├── rmatch.h
│ │ │ ├── robject.h
│ │ │ ├── rregexp.h
│ │ │ ├── rstring.h
│ │ │ ├── rstruct.h
│ │ │ └── rtypeddata.h
│ │ ├── ctype.h
│ │ ├── dllexport.h
│ │ ├── dosish.h
│ │ ├── encoding
│ │ │ ├── coderange.h
│ │ │ ├── ctype.h
│ │ │ ├── encoding.h
│ │ │ ├── pathname.h
│ │ │ ├── re.h
│ │ │ ├── sprintf.h
│ │ │ ├── string.h
│ │ │ ├── symbol.h
│ │ │ └── transcode.h
│ │ ├── error.h
│ │ ├── eval.h
│ │ ├── event.h
│ │ ├── fl_type.h
│ │ ├── gc.h
│ │ ├── glob.h
│ │ ├── globals.h
│ │ ├── has
│ │ │ ├── attribute.h
│ │ │ ├── builtin.h
│ │ │ ├── c_attribute.h
│ │ │ ├── cpp_attribute.h
│ │ │ ├── declspec_attribute.h
│ │ │ ├── extension.h
│ │ │ ├── feature.h
│ │ │ └── warning.h
│ │ ├── intern
│ │ │ ├── array.h
│ │ │ ├── bignum.h
│ │ │ ├── class.h
│ │ │ ├── compar.h
│ │ │ ├── complex.h
│ │ │ ├── cont.h
│ │ │ ├── dir.h
│ │ │ ├── enum.h
│ │ │ ├── enumerator.h
│ │ │ ├── error.h
│ │ │ ├── eval.h
│ │ │ ├── file.h
│ │ │ ├── gc.h
│ │ │ ├── hash.h
│ │ │ ├── io.h
│ │ │ ├── load.h
│ │ │ ├── marshal.h
│ │ │ ├── numeric.h
│ │ │ ├── object.h
│ │ │ ├── parse.h
│ │ │ ├── proc.h
│ │ │ ├── process.h
│ │ │ ├── random.h
│ │ │ ├── range.h
│ │ │ ├── rational.h
│ │ │ ├── re.h
│ │ │ ├── ruby.h
│ │ │ ├── select.h
│ │ │ ├── select
│ │ │ │ ├── largesize.h
│ │ │ │ ├── posix.h
│ │ │ │ └── win32.h
│ │ │ ├── signal.h
│ │ │ ├── sprintf.h
│ │ │ ├── string.h
│ │ │ ├── struct.h
│ │ │ ├── thread.h
│ │ │ ├── time.h
│ │ │ ├── variable.h
│ │ │ └── vm.h
│ │ ├── interpreter.h
│ │ ├── iterator.h
│ │ ├── memory.h
│ │ ├── method.h
│ │ ├── module.h
│ │ ├── newobj.h
│ │ ├── rgengc.h
│ │ ├── scan_args.h
│ │ ├── special_consts.h
│ │ ├── static_assert.h
│ │ ├── stdalign.h
│ │ ├── stdbool.h
│ │ ├── symbol.h
│ │ ├── value.h
│ │ ├── value_type.h
│ │ ├── variable.h
│ │ ├── warning_push.h
│ │ └── xmalloc.h
│ │ ├── io.h
│ │ ├── io
│ │ └── buffer.h
│ │ ├── memory_view.h
│ │ ├── missing.h
│ │ ├── onigmo.h
│ │ ├── oniguruma.h
│ │ ├── ractor.h
│ │ ├── random.h
│ │ ├── re.h
│ │ ├── regex.h
│ │ ├── ruby.h
│ │ ├── st.h
│ │ ├── subst.h
│ │ ├── thread.h
│ │ ├── thread_native.h
│ │ ├── util.h
│ │ ├── version.h
│ │ ├── vm.h
│ │ └── win32.h
└── lib
│ ├── mac
│ ├── 1.8
│ │ └── Ruby.framework
│ │ │ ├── Ruby
│ │ │ └── Versions
│ │ │ ├── A
│ │ │ ├── Headers
│ │ │ │ ├── config.h
│ │ │ │ ├── defines.h
│ │ │ │ ├── intern.h
│ │ │ │ ├── missing.h
│ │ │ │ └── ruby.h
│ │ │ ├── Resources
│ │ │ │ ├── English.lproj
│ │ │ │ │ └── InfoPlist.strings
│ │ │ │ └── Info.plist
│ │ │ └── Ruby
│ │ │ └── Current
│ ├── 2.0
│ │ └── Ruby.framework
│ │ │ ├── Ruby
│ │ │ └── Versions
│ │ │ ├── 2.0
│ │ │ ├── Ruby
│ │ │ ├── libruby.2.0.0.dylib
│ │ │ └── libruby.dylib
│ │ │ ├── A
│ │ │ └── Current
│ ├── 2.2
│ │ └── Ruby.framework
│ │ │ ├── Resources
│ │ │ ├── Ruby
│ │ │ └── Versions
│ │ │ ├── 2.2
│ │ │ ├── Resources
│ │ │ │ └── Info.plist
│ │ │ ├── Ruby
│ │ │ ├── libruby.2.2.0.dylib
│ │ │ └── libruby.dylib
│ │ │ └── Current
│ ├── 2.5
│ │ └── Ruby.Framework
│ │ │ ├── Resources
│ │ │ ├── Ruby
│ │ │ └── Versions
│ │ │ ├── 2.5.1
│ │ │ ├── Resources
│ │ │ │ └── Info.plist
│ │ │ ├── Ruby
│ │ │ ├── libruby.2.5.1.dylib
│ │ │ ├── libruby.2.5.dylib
│ │ │ └── libruby.dylib
│ │ │ └── Current
│ ├── 2.7-universal
│ │ └── Ruby.framework
│ │ │ ├── Resources
│ │ │ ├── Ruby
│ │ │ └── Versions
│ │ │ ├── 2.7.1
│ │ │ ├── 2.7.2
│ │ │ ├── Resources
│ │ │ │ └── Info.plist
│ │ │ ├── Ruby
│ │ │ ├── libruby.2.7.2.dylib
│ │ │ ├── libruby.2.7.dylib
│ │ │ └── libruby.dylib
│ │ │ └── Current
│ ├── 2.7
│ │ └── Ruby.framework
│ │ │ ├── Resources
│ │ │ ├── Ruby
│ │ │ └── Versions
│ │ │ ├── 2.7.1
│ │ │ ├── Resources
│ │ │ │ └── Info.plist
│ │ │ ├── Ruby
│ │ │ ├── libruby.2.7.dylib
│ │ │ └── libruby.dylib
│ │ │ └── Current
│ └── 3.2
│ │ └── Ruby.framework
│ │ ├── Resources
│ │ ├── Ruby
│ │ └── Versions
│ │ ├── 3.2.2
│ │ ├── Resources
│ │ │ └── Info.plist
│ │ ├── Ruby
│ │ ├── libruby.3.2.2.dylib
│ │ ├── libruby.3.2.dylib
│ │ └── libruby.dylib
│ │ └── Current
│ └── win32
│ ├── msvcrt-ruby18.lib
│ ├── msvcrt-ruby200.lib
│ ├── x64-msvcrt-ruby200.lib
│ ├── x64-msvcrt-ruby220.lib
│ ├── x64-msvcrt-ruby250.lib
│ ├── x64-msvcrt-ruby270.lib
│ └── x64-ucrt-ruby320.lib
└── macOS.md
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_STORE
2 |
3 | Debug (*.*)/
4 | Release (*.*)/
5 |
6 | *.vcxproj.user
7 | *.opensdf
8 | *.sdf
9 | *.suo
10 | ipch/
11 | *.VC.*
12 | .vs/
13 |
14 | xcuserdata/
15 | /ci-build/
16 |
17 | *.sublime-workspace
18 |
19 | C-Examples
20 | SUEX_UsingSWIG/src/Swig_output.*
21 | Debug/
22 | Release/
23 | !ThirdParty/bin/win32/swig/*.*
24 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // Use IntelliSense to learn about possible attributes.
3 | // Hover to view descriptions of existing attributes.
4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5 | "version": "0.2.0",
6 | "configurations": [
7 |
8 | {
9 | "name": "Listen for rdebug-ide",
10 | "type": "Ruby",
11 | "request": "attach",
12 | "cwd": "${workspaceRoot}",
13 | "remoteHost": "127.0.0.1",
14 | "remotePort": "7000",
15 | "remoteWorkspaceRoot": "${workspaceRoot}"
16 | }
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/Hello World/RubyExtension.def:
--------------------------------------------------------------------------------
1 | LIBRARY
2 |
3 | EXPORTS
4 | Init_SUEX_HelloWorld
--------------------------------------------------------------------------------
/Hello World/SUEX_HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Hello World/SUEX_HelloWorld_exports.txt:
--------------------------------------------------------------------------------
1 | _Init_SUEX_HelloWorld
2 |
--------------------------------------------------------------------------------
/Hello World/src/RubyUtils/RubyUtils.cpp:
--------------------------------------------------------------------------------
1 | #include "RubyUtils.h"
2 |
3 |
4 | // Ruby interfaces for strings.
5 |
6 | VALUE GetRubyInterface(const char* s) {
7 | VALUE str_val = rb_str_new2(s);
8 | #ifdef HAVE_RUBY_ENCODING_H
9 | // Mark all strings as UTF-8 encoded Ruby 2.0 generally expects strings to be
10 | // Encoded UTF-8.
11 | static int enc_index = rb_enc_find_index("UTF-8");
12 | rb_enc_associate_index(str_val, enc_index);
13 | #endif
14 | return str_val;
15 | }
16 |
--------------------------------------------------------------------------------
/Hello World/src/SUEX_HelloWorld.cpp:
--------------------------------------------------------------------------------
1 |
2 | #include "RubyUtils/RubyUtils.h"
3 |
4 |
5 | VALUE hello_world() {
6 | return GetRubyInterface("Hello World!");
7 | }
8 |
9 | VALUE ruby_platform() {
10 | return GetRubyInterface(RUBY_PLATFORM);
11 | }
12 |
13 | // Load this module from Ruby using:
14 | // require 'SUEX_HelloWorld'
15 | extern "C"
16 | void Init_SUEX_HelloWorld()
17 | {
18 | VALUE mSUEX_HelloWorld = rb_define_module("SUEX_HelloWorld");
19 | rb_define_const(mSUEX_HelloWorld, "CEXT_VERSION", GetRubyInterface("1.0.0"));
20 | rb_define_module_function(mSUEX_HelloWorld, "hello_world", VALUEFUNC(hello_world), 0);
21 | rb_define_module_function(mSUEX_HelloWorld, "ruby_platform", VALUEFUNC(ruby_platform), 0);
22 | }
23 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2013 Trimble Navigation Ltd.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/Ruby 1.8 (Win32).props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | $(SolutionDir)ThirdParty\include\ruby\1.8\win32;%(AdditionalIncludeDirectories)
9 |
10 |
11 | $(SolutionDir)ThirdParty\lib\win32;%(AdditionalLibraryDirectories)
12 | msvcrt-ruby18.lib;%(AdditionalDependencies)
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Ruby 2.0 (Win32).props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | $(SolutionDir)ThirdParty\include\ruby\2.0\win32;$(SolutionDir)ThirdParty\include\ruby\2.0\win32\i386-mswin32_100;%(AdditionalIncludeDirectories)
9 |
10 |
11 | $(SolutionDir)ThirdParty\lib\win32;%(AdditionalLibraryDirectories)
12 | msvcrt-ruby200.lib;%(AdditionalDependencies)
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Ruby 2.0 (x64).props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | $(SolutionDir)ThirdParty\include\ruby\2.0\win32_x64;$(SolutionDir)ThirdParty\include\ruby\2.0\win32_x64\x64-mswin64_100;%(AdditionalIncludeDirectories)
9 |
10 |
11 | $(SolutionDir)ThirdParty\lib\win32;%(AdditionalLibraryDirectories)
12 | x64-msvcrt-ruby200.lib;%(AdditionalDependencies)
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Ruby 2.2 (x64).props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | $(SolutionDir)ThirdParty\include\ruby\2.2\win32_x64;%(AdditionalIncludeDirectories)
9 |
10 |
11 | $(SolutionDir)ThirdParty\lib\win32;%(AdditionalLibraryDirectories)
12 | x64-msvcrt-ruby220.lib;%(AdditionalDependencies)
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Ruby 2.5 (x64).props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | $(SolutionDir)ThirdParty\include\ruby\2.5\win32_x64;%(AdditionalIncludeDirectories)
9 |
10 |
11 | $(SolutionDir)ThirdParty\lib\win32;%(AdditionalLibraryDirectories)
12 | x64-msvcrt-ruby250.lib;%(AdditionalDependencies)
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Ruby 2.7 (x64).props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | $(SolutionDir)ThirdParty\include\ruby\2.7\win32_x64;%(AdditionalIncludeDirectories)
9 |
10 |
11 | $(SolutionDir)ThirdParty\lib\win32;%(AdditionalLibraryDirectories)
12 | x64-msvcrt-ruby270.lib;%(AdditionalDependencies)
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Ruby 3.2 (x64).props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | $(SolutionDir)ThirdParty\include\ruby\3.2\win32_x64;%(AdditionalIncludeDirectories)
9 |
10 |
11 | $(SolutionDir)ThirdParty\lib\win32;%(AdditionalLibraryDirectories)
12 | x64-ucrt-ruby320.lib;%(AdditionalDependencies)
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Ruby/SwigExample.rb:
--------------------------------------------------------------------------------
1 | # Load the C extension
2 | ruby_path = File.dirname(__FILE__)
3 | project_path = File.expand_path( File.join(ruby_path, '..') )
4 | # Use one of the following 2 lines for 32 or 64-bit
5 | #binary_path = File.join(project_path, 'Debug (2.0)', 'SUEX_UsingSWIG.so')
6 | binary_path = File.join(project_path, 'Debug (2.0)/x64', 'SUEX_UsingSWIG.so')
7 | require binary_path
8 |
9 | # Derive a class from the interface defined in C++
10 | class FromNative < SUEX_UsingSWIG::INativeToRuby
11 | def initialize
12 | # http://stackoverflow.com/questions/549249/polymorphism-across-c-and-ruby-using-swig
13 | super()
14 | end
15 |
16 | def CallFromNative(message)
17 | UI.messagebox(message)
18 | end
19 | end
20 |
21 | fn = FromNative.new
22 | native_obj = SUEX_UsingSWIG::MyNativeClass.new(fn)
23 | native_obj.CallBackToRuby('This came from Ruby')
24 |
--------------------------------------------------------------------------------
/Ruby/inspect_strings.rb:
--------------------------------------------------------------------------------
1 | project_path = File.expand_path('..', __dir__)
2 |
3 | ruby_version = ARGV[0]
4 | raise 'Missing version argument' if ruby_version.nil? || ruby_version.empty?
5 |
6 | target_basepath = "Debug (#{ruby_version})"
7 |
8 | bundle_name = 'SUEX_HelloWorld.bundle'
9 |
10 | filepath = File.join(project_path, target_basepath, bundle_name)
11 |
12 | puts filepath
13 | data = File.open(filepath, 'rb') { |file| file.read }
14 | results = data.scan(/[a-zA-Z0-9\-_]*darwin[a-zA-Z0-9\-_]*/)
15 |
16 | results.each { |result|
17 | puts result
18 | }
--------------------------------------------------------------------------------
/Ruby/launch_sketchup.rb:
--------------------------------------------------------------------------------
1 | # This file should be required by a file that has defined `RELEASE` to be the
2 | # name of the build folder where the binaries are located.
3 |
4 | configuration, platform = ARGV[0].split(':')
5 |
6 | if SKETCHUP_CONSOLE.respond_to?(:show)
7 | SKETCHUP_CONSOLE.show
8 | else
9 | Sketchup.send_action("showRubyPanel:")
10 | end
11 |
12 | pro_status = Sketchup.is_pro? ? "Pro" : ""
13 | puts "SketchUp #{pro_status} #{Sketchup.version}"
14 | puts "Loading '#{configuration}' (#{platform}) build..."
15 |
16 | ruby_path = File.dirname(__FILE__)
17 | project_path = File.expand_path( File.join(ruby_path, '..') )
18 | if platform == 'x64'
19 | binary_path = File.join(project_path, configuration, platform)
20 | else
21 | binary_path = File.join(project_path, configuration)
22 | end
23 |
24 | puts ruby_path
25 | puts project_path
26 | puts binary_path
27 |
28 | pattern = File.join(binary_path, "*.{so,bundle}")
29 | Dir.glob(pattern).each { |library|
30 | puts "Requiring #{library}"
31 | require library
32 | }
33 |
--------------------------------------------------------------------------------
/RubyExtension.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | .so
7 |
8 |
9 |
10 | $(ProjectDir)src;$(ProjectDir);%(AdditionalIncludeDirectories)
11 | $(IntDir)%(RelativeDir)\
12 | true
13 | Level3
14 | true
15 |
16 |
17 | .\RubyExtension.def
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/SUEX_UsingSWIG/SWIG.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | false
9 | SUEX_USINGSWIG_EXPORTS;%(PreprocessorDefinitions)
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/SUEX_UsingSWIG/Swig_input.i:
--------------------------------------------------------------------------------
1 | %module(directors=1) SUEX_UsingSWIG
2 |
3 | %{
4 | #include "MyNativeClass.h"
5 | #include "INativeToRuby.h"
6 | %}
7 |
8 | %include std_string.i
9 |
10 | %include "MyNativeClass.h"
11 |
12 | %feature("director") INativeToRuby;
13 | %include "INativeToRuby.h"
14 |
--------------------------------------------------------------------------------
/SUEX_UsingSWIG/src/INativeToRuby.cpp:
--------------------------------------------------------------------------------
1 | #include "INativeToRuby.h"
2 |
3 | INativeToRuby::INativeToRuby() {
4 | }
5 |
6 | INativeToRuby::~INativeToRuby() {
7 | }
8 |
--------------------------------------------------------------------------------
/SUEX_UsingSWIG/src/INativeToRuby.h:
--------------------------------------------------------------------------------
1 | /* Here's some sample code to call C++ from Ruby and vice versa
2 |
3 | class RubyClass < SUEX_UsingSWIG::INativeToRuby
4 | def CallFromNative(str)
5 | puts str
6 | end
7 | end
8 |
9 | a = SUEX_UsingSWIG::MyNativeClass.new(RubyClass.new)
10 | a.CallBackToRuby("Hello from Ruby")
11 | */
12 |
13 | #pragma once
14 |
15 | #include
16 |
17 | class INativeToRuby
18 | {
19 | public:
20 | INativeToRuby();
21 | virtual ~INativeToRuby();
22 |
23 | virtual void CallFromNative(const std::string& message) = 0;
24 | };
25 |
--------------------------------------------------------------------------------
/SUEX_UsingSWIG/src/MyNativeClass.cpp:
--------------------------------------------------------------------------------
1 | #include "MyNativeClass.h"
2 | #include "INativeToRuby.h"
3 | #include
4 |
5 | MyNativeClass::MyNativeClass(INativeToRuby& ri)
6 | : ruby_interface_(ri)
7 | {}
8 |
9 | MyNativeClass::~MyNativeClass() {
10 | }
11 |
12 | void MyNativeClass::CallBackToRuby(const std::string& message) {
13 | std::cout << message << std::endl;
14 | ruby_interface_.CallFromNative("This came from C++");
15 | }
16 |
--------------------------------------------------------------------------------
/SUEX_UsingSWIG/src/MyNativeClass.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class INativeToRuby;
6 |
7 | class MyNativeClass
8 | {
9 | public:
10 | MyNativeClass(INativeToRuby& ri);
11 | ~MyNativeClass();
12 |
13 | void CallBackToRuby(const std::string& message);
14 |
15 | private:
16 | INativeToRuby& ruby_interface_;
17 | };
18 |
--------------------------------------------------------------------------------
/SketchUp Ruby C Extension Examples.sublime-project:
--------------------------------------------------------------------------------
1 | {
2 | "folders":
3 | [
4 | {
5 | "follow_symlinks": true,
6 | "path": "."
7 | }
8 | ],
9 | "settings":
10 | {
11 | "default_encoding": "UTF-8",
12 | "ensure_newline_at_eof_on_save": true,
13 | "rulers":
14 | [
15 | 80
16 | ],
17 | "show_encoding": true,
18 | "show_line_endings": true,
19 | "tab_size": 2,
20 | "translate_tabs_to_spaces": true,
21 | "trim_trailing_white_space_on_save": true
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/SketchUp Ruby C Extension Examples.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SketchUp Ruby C Extension Examples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SketchUp Ruby C Extension Examples.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/About SWIG.txt:
--------------------------------------------------------------------------------
1 | The included SWIG 3.0.0 source code and binaries were downloaded from the official SWIG project website:
2 |
3 | http://www.swig.org/download.html
4 |
5 | SWIG source code can be downloaded from http://sourceforge.net/projects/swig
6 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/allegrocl/typemaps.i:
--------------------------------------------------------------------------------
1 | /* Unused for Allegro CL module */
2 |
3 | %include "inout_typemaps.i"
4 | %include "longlongs.i"
5 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/allkw.swg:
--------------------------------------------------------------------------------
1 | #ifndef __Lib_allkw_swg__
2 | #define __Lib_allkw_swg__
3 |
4 |
5 | /*
6 | Include all the known keyword warnings. Very useful for adding test
7 | files to the test-suite, or check if your own library is ok for all
8 | the swig supported languages.
9 |
10 | Use as
11 |
12 | swig -Wallkw ...
13 |
14 | If you add a new language, remember to create a separete languagekw.swg
15 | file, and add it here.
16 |
17 | */
18 |
19 | %include
20 | %include
21 | %include
22 | %include
23 | %include
24 | %include
25 | %include
26 | %include
27 | %include
28 | %include
29 | %include
30 |
31 |
32 | #endif //__Lib_allkw_swg__
33 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/attribute.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * attribute.i
3 | *
4 | * SWIG library file for implementing attributes.
5 | * ----------------------------------------------------------------------------- */
6 |
7 | /* we use a simple exception warning here */
8 | %{
9 | #include
10 | %}
11 | #define %attribute_exception(code,msg) printf("%s\n",msg)
12 |
13 | #ifndef %arg
14 | #define %arg(x...) x
15 | #endif
16 |
17 | #ifndef %mangle
18 | #define %mangle(Type...) #@Type
19 | #endif
20 |
21 | %include
22 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/chicken/chickenkw.swg:
--------------------------------------------------------------------------------
1 | #ifndef CHICKEN_CHICKENKW_SWG_
2 | #define CHICKEN_CHICKENKW_SWG_
3 |
4 | /* Warnings for certain CHICKEN keywords. From Section 7.1.1 of
5 | Revised^5 Report on the Algorithmic Language Scheme */
6 | #define CHICKENKW(x) %namewarn("314: '" #x "' is a R^5RS syntatic keyword") #x
7 |
8 | CHICKENKW(else);
9 | CHICKENKW(=>);
10 | CHICKENKW(define);
11 | CHICKENKW(unquote);
12 | CHICKENKW(unquote-splicing);
13 | CHICKENKW(quote);
14 | CHICKENKW(lambda);
15 | CHICKENKW(if);
16 | CHICKENKW(set!);
17 | CHICKENKW(begin);
18 | CHICKENKW(cond);
19 | CHICKENKW(and);
20 | CHICKENKW(or);
21 | CHICKENKW(case);
22 | CHICKENKW(let);
23 | CHICKENKW(let*);
24 | CHICKENKW(letrec);
25 | CHICKENKW(do);
26 | CHICKENKW(delay);
27 | CHICKENKW(quasiquote);
28 |
29 | #undef CHICKENKW
30 |
31 | #endif //CHICKEN_CHICKENKW_SWG_
32 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/chicken/extra-install.list:
--------------------------------------------------------------------------------
1 | swigclosprefix.scm
2 | multi-generic.scm
3 | tinyclos-multi-generic.patch
4 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/clisp/clisp.swg:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * clisp.swg
3 | * ----------------------------------------------------------------------------- */
4 |
5 | /* Define a C preprocessor symbol that can be used in interface files
6 | to distinguish between the SWIG language modules. */
7 |
8 | #define SWIG_CLISP
9 |
10 | /* Typespecs for basic types. */
11 |
12 | %typemap(in) void "NIL";
13 |
14 | %typemap(in) char "character";
15 | %typemap(in) char * "ffi:c-string";
16 | %typemap(in) unsigned char "ffi:uchar";
17 | %typemap(in) signed char "ffi:char";
18 |
19 | %typemap(in) short "ffi:short";
20 | %typemap(in) signed short "ffi:short";
21 | %typemap(in) unsigned short "ffi:ushort";
22 |
23 | %typemap(in) int "ffi:int";
24 | %typemap(in) signed int "ffi:int";
25 | %typemap(in) unsigned int "ffi:uint";
26 |
27 | %typemap(in) long "ffi:long";
28 | %typemap(in) signed long "ffi:long";
29 | %typemap(in) unsigned long "ffi:ulong";
30 |
31 | %typemap(in) float "SINGLE-FLOAT";
32 | %typemap(in) double "DOUBLE-FLOAT";
33 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/csharp/std_common.i:
--------------------------------------------------------------------------------
1 | %include
2 |
3 | %apply size_t { std::size_t };
4 | %apply const size_t& { const std::size_t& };
5 |
6 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/csharp/std_deque.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/csharp/std_pair.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * std_pair.i
3 | *
4 | * SWIG typemaps for std::pair
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 | %include
9 |
10 | // ------------------------------------------------------------------------
11 | // std::pair
12 | // ------------------------------------------------------------------------
13 |
14 | %{
15 | #include
16 | %}
17 |
18 | namespace std {
19 |
20 | template struct pair {
21 |
22 | pair();
23 | pair(T t, U u);
24 | pair(const pair& p);
25 |
26 | template pair(const pair &p);
27 |
28 | T first;
29 | U second;
30 | };
31 |
32 | // add specializations here
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/csharp/std_shared_ptr.i:
--------------------------------------------------------------------------------
1 | #define SWIG_SHARED_PTR_NAMESPACE std
2 | %include
3 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/csharp/stl.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * stl.i
3 | *
4 | * Initial STL definition. extended as needed in each language
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 | %include
9 | %include
10 | %include
11 | %include
12 |
13 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/cstring.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * cstring.i
3 | * ----------------------------------------------------------------------------- */
4 |
5 | %echo "cstring.i not implemented for this target"
6 | #define SWIG_CSTRING_UNIMPL
7 |
8 | /* old name keep for compatibility */
9 | #define _CSTRING_UNIMPL
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/cwstring.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * cwstring.i
3 | * ----------------------------------------------------------------------------- */
4 |
5 | %echo "cwstring.i not implemented for this target"
6 | #define SWIG_CWSTRING_UNIMPL
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/d/ddirectives.swg:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * ddirectives.swg
3 | *
4 | * D-specifiv directives.
5 | * ----------------------------------------------------------------------------- */
6 |
7 | #define %dmanifestconst %feature("d:manifestconst")
8 | #define %dconstvalue(value) %feature("d:constvalue",value)
9 | #define %dmethodmodifiers %feature("d:methodmodifiers")
10 | #define %dnothrowexception %feature("except")
11 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/d/dvoid.swg:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * dvoid.swg
3 | *
4 | * Typemaps for handling void function return types and empty parameter lists.
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %typemap(ctype) void "void"
8 | %typemap(imtype) void "void"
9 | %typemap(dtype, cprimitive="1") void "void"
10 |
11 | %typemap(out, null="") void ""
12 | %typemap(ddirectorin) void "$winput"
13 | %typemap(ddirectorout) void "$dcall"
14 | %typemap(directorin) void ""
15 |
16 | %typemap(dout, excode=SWIGEXCODE) void {
17 | $imcall;$excode
18 | }
19 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/d/std_common.i:
--------------------------------------------------------------------------------
1 | %include
2 |
3 | %apply size_t { std::size_t };
4 | %apply const size_t& { const std::size_t& };
5 |
6 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/d/std_deque.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/d/std_pair.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * std_pair.i
3 | *
4 | * SWIG typemaps for std::pair
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 | %include
9 |
10 | // ------------------------------------------------------------------------
11 | // std::pair
12 | // ------------------------------------------------------------------------
13 |
14 | %{
15 | #include
16 | %}
17 |
18 | namespace std {
19 |
20 | template struct pair {
21 |
22 | pair();
23 | pair(T t, U u);
24 | pair(const pair& p);
25 |
26 | template pair(const pair &p);
27 |
28 | T first;
29 | U second;
30 | };
31 |
32 | // add specializations here
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/d/std_shared_ptr.i:
--------------------------------------------------------------------------------
1 | #define SWIG_SHARED_PTR_NAMESPACE std
2 | %include
3 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/d/stl.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * stl.i
3 | *
4 | * Initial STL definition. extended as needed in each language
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 | %include
9 | %include
10 | %include
11 | %include
12 |
13 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/gcj/cni.swg:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * cni.swg
3 | * ----------------------------------------------------------------------------- */
4 |
5 | #ifdef SWIG
6 |
7 | #define __attribute__(...)
8 | %ignore class$;
9 | #pragma SWIG nowarn=313,402
10 |
11 | %nodefaultdtor;
12 |
13 | #endif
14 |
15 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/go/exception.i:
--------------------------------------------------------------------------------
1 | %typemap(throws,noblock=1) (...) {
2 | SWIG_exception(SWIG_RuntimeError,"unknown exception");
3 | }
4 |
5 | %insert("runtime") %{
6 | #define SWIG_exception(code, msg) _swig_gopanic(msg)
7 | %}
8 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/go/gokw.swg:
--------------------------------------------------------------------------------
1 | /* Rename keywords. */
2 |
3 | #define GOKW(x) %keywordwarn("'" `x` "' is a Go keyword, renaming to 'X"`x`"'",rename="X%s") `x`
4 | #define GOBN(x) %builtinwarn("'" `x` "' conflicts with a built-in name in Go") "::"`x`
5 |
6 | GOKW(break);
7 | GOKW(case);
8 | GOKW(chan);
9 | GOKW(const);
10 | GOKW(continue);
11 | GOKW(default);
12 | GOKW(defer);
13 | GOKW(else);
14 | GOKW(fallthrough);
15 | GOKW(for);
16 | GOKW(func);
17 | GOKW(go);
18 | GOKW(goto);
19 | GOKW(if);
20 | GOKW(import);
21 | GOKW(interface);
22 | GOKW(package);
23 | GOKW(range);
24 | GOKW(return);
25 | GOKW(select);
26 | GOKW(struct);
27 | GOKW(switch);
28 | GOKW(type);
29 | GOKW(var);
30 |
31 | GOBN(map);
32 |
33 | #undef GOKW
34 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/go/std_common.i:
--------------------------------------------------------------------------------
1 | %include
2 |
3 | %apply size_t { std::size_t };
4 | %apply const size_t& { const std::size_t& };
5 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/go/std_deque.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/go/std_pair.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * std_pair.i
3 | *
4 | * SWIG typemaps for std::pair
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 | %include
9 |
10 | // ------------------------------------------------------------------------
11 | // std::pair
12 | // ------------------------------------------------------------------------
13 |
14 | %{
15 | #include
16 | %}
17 |
18 | namespace std {
19 |
20 | template struct pair {
21 |
22 | pair();
23 | pair(T first, U second);
24 | pair(const pair& p);
25 |
26 | template pair(const pair &p);
27 |
28 | T first;
29 | U second;
30 | };
31 |
32 | // add specializations here
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/go/stl.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * stl.i
3 | * ----------------------------------------------------------------------------- */
4 |
5 | %include
6 | %include
7 | %include
8 | %include
9 | %include
10 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/guile/Makefile:
--------------------------------------------------------------------------------
1 |
2 | co:
3 | co RCS/*.i* RCS/*.swg*
4 |
5 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/guile/cplusplus.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * cplusplus.i
3 | *
4 | * SWIG typemaps for C++
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %typemap(guile,out) string, std::string {
8 | $result = SWIG_str02scm(const_cast($1.c_str()));
9 | }
10 | %typemap(guile,in) string, std::string {
11 | $1 = SWIG_scm2str($input);
12 | }
13 |
14 | %typemap(guile,out) complex, complex, std::complex {
15 | $result = scm_make_rectangular( scm_from_double ($1.real ()),
16 | scm_from_double ($1.imag ()) );
17 | }
18 | %typemap(guile,in) complex, complex, std::complex {
19 | $1 = std::complex( scm_to_double (scm_real_part ($input)),
20 | scm_to_double (scm_imag_part ($input)) );
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/guile/extra-install.list:
--------------------------------------------------------------------------------
1 | # see top-level Makefile.in
2 | common.scm
3 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/guile/std_common.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * std_common.i
3 | *
4 | * SWIG typemaps for STL - common utilities
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 |
9 | %apply size_t { std::size_t };
10 |
11 | #define SWIG_bool2scm(b) scm_from_bool(b ? 1 : 0)
12 | #define SWIG_string2scm(s) SWIG_str02scm(s.c_str())
13 |
14 | %{
15 | #include
16 |
17 | inline std::string SWIG_scm2string(SCM x) {
18 | char* temp;
19 | temp = SWIG_scm2str(x);
20 | std::string s(temp);
21 | if (temp) SWIG_free(temp);
22 | return s;
23 | }
24 | %}
25 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/guile/std_deque.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/guile/std_except.i:
--------------------------------------------------------------------------------
1 | // TODO: STL exception handling
2 | // Note that the generic std_except.i file did not work
3 | %{
4 | #include
5 | %}
6 |
7 | namespace std {
8 | %ignore exception;
9 | struct exception {
10 | };
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/guile/stl.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * stl.i
3 | *
4 | * Initial STL definition. extended as needed in each language
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 | %include
9 | %include
10 | %include
11 | %include
12 |
13 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/java/std_common.i:
--------------------------------------------------------------------------------
1 | %include
2 |
3 | %apply size_t { std::size_t };
4 | %apply const size_t& { const std::size_t& };
5 |
6 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/java/std_deque.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/java/std_pair.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * std_pair.i
3 | *
4 | * SWIG typemaps for std::pair
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 | %include
9 |
10 | // ------------------------------------------------------------------------
11 | // std::pair
12 | // ------------------------------------------------------------------------
13 |
14 | %{
15 | #include
16 | %}
17 |
18 | namespace std {
19 |
20 | template struct pair {
21 |
22 | pair();
23 | pair(T first, U second);
24 | pair(const pair& p);
25 |
26 | template pair(const pair &p);
27 |
28 | T first;
29 | U second;
30 | };
31 |
32 | // add specializations here
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/java/std_shared_ptr.i:
--------------------------------------------------------------------------------
1 | #define SWIG_SHARED_PTR_NAMESPACE std
2 | %include
3 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/java/stl.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * stl.i
3 | * ----------------------------------------------------------------------------- */
4 |
5 | %include
6 | %include
7 | %include
8 | %include
9 | %include
10 |
11 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/linkruntime.c:
--------------------------------------------------------------------------------
1 | #ifndef SWIGEXPORT
2 | # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
3 | # if defined(STATIC_LINKED)
4 | # define SWIGEXPORT
5 | # else
6 | # define SWIGEXPORT __declspec(dllexport)
7 | # endif
8 | # else
9 | # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
10 | # define SWIGEXPORT __attribute__ ((visibility("default")))
11 | # else
12 | # define SWIGEXPORT
13 | # endif
14 | # endif
15 | #endif
16 |
17 | static void *ptr = 0;
18 | SWIGEXPORT void *
19 | SWIG_ReturnGlobalTypeList(void *t) {
20 | if (!ptr && !t) ptr = t;
21 | return ptr;
22 | }
23 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/lua/carrays.i:
--------------------------------------------------------------------------------
1 | /* Small change to the standard carrays.i
2 | renaming the field to __getitem & __setitem
3 | for operator[] access
4 | */
5 | %rename(__getitem) *::getitem; // the v=X[i] (get operator)
6 | %rename(__setitem) *::setitem; // the X[i]=v (set operator)
7 |
8 | %include <../carrays.i>
9 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/lua/factory.i:
--------------------------------------------------------------------------------
1 | /*
2 | A modification of factory.swg from the generic UTL library.
3 | */
4 |
5 | %include
6 |
7 | %define %_factory_dispatch(Type)
8 | if (!dcast) {
9 | Type *dobj = dynamic_cast($1);
10 | if (dobj) {
11 | dcast = 1;
12 | SWIG_NewPointerObj(L, dobj, $descriptor(Type *), $owner); SWIG_arg++;
13 | }
14 | }%enddef
15 |
16 | %define %factory(Method,Types...)
17 | %typemap(out) Method {
18 | int dcast = 0;
19 | %formacro(%_factory_dispatch, Types)
20 | if (!dcast) {
21 | SWIG_NewPointerObj(L, $1, $descriptor, $owner); SWIG_arg++;
22 | }
23 | }%enddef
24 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/lua/std_common.i:
--------------------------------------------------------------------------------
1 | %include
2 |
3 | %apply size_t { std::size_t };
4 | %apply const size_t& { const std::size_t& };
5 |
6 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/lua/std_deque.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/lua/std_pair.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * std_pair.i
3 | *
4 | * std::pair typemaps for LUA
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %{
8 | #include
9 | %}
10 | /*
11 | A really cut down version of the pair class.
12 |
13 | this is not useful on its own - it needs a %template definition with it
14 |
15 | eg.
16 | namespace std {
17 | %template(IntPair) pair;
18 | %template(make_IntPair) make_pair;
19 | }
20 |
21 |
22 | */
23 |
24 |
25 |
26 | namespace std {
27 | template struct pair {
28 | typedef T first_type;
29 | typedef U second_type;
30 |
31 | pair();
32 | pair(T first, U second);
33 | pair(const pair& p);
34 |
35 | T first;
36 | U second;
37 | };
38 |
39 | template
40 | pair make_pair(const T&,const U&);
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/lua/stl.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * stl.i
3 | * ----------------------------------------------------------------------------- */
4 |
5 | %include
6 | %include
7 | %include
8 | %include
9 | %include
10 |
11 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/mzscheme/Makefile:
--------------------------------------------------------------------------------
1 |
2 | co:
3 | co RCS/*.i* RCS/*.swg*
4 |
5 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/mzscheme/std_common.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * std_common.i
3 | *
4 | * SWIG typemaps for STL - common utilities
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 |
9 | %apply size_t { std::size_t };
10 |
11 | %{
12 | #include
13 |
14 | std::string swig_scm_to_string(Scheme_Object* x) {
15 | return std::string(SCHEME_STR_VAL(x));
16 | }
17 | Scheme_Object* swig_make_string(const std::string& s) {
18 | return scheme_make_string(s.c_str());
19 | }
20 | %}
21 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/mzscheme/std_deque.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/mzscheme/stl.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * stl.i
3 | *
4 | * Initial STL definition. extended as needed in each language
5 | * ----------------------------------------------------------------------------- */
6 | %include
7 | %include
8 | %include
9 | %include
10 | %include
11 |
12 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/ocaml/extra-install.list:
--------------------------------------------------------------------------------
1 | # see top-level Makefile.in
2 | # libswigocaml is not needed anymore.
3 | swigp4.ml
4 | swig.mli
5 | swig.ml
6 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/ocaml/libswigocaml.h:
--------------------------------------------------------------------------------
1 | /* Ocaml runtime support */
2 |
3 | #ifdef __cplusplus
4 | extern "C" {
5 | #endif
6 |
7 | typedef int oc_bool;
8 | extern void *nullptr;
9 |
10 | extern oc_bool isnull( void *v );
11 |
12 | extern void *get_char_ptr( char *str );
13 | extern void *make_ptr_array( int size );
14 | extern void *get_ptr( void *arrayptr, int elt );
15 | extern void set_ptr( void *arrayptr, int elt, void *elt_v );
16 | extern void *offset_ptr( void *ptr, int n );
17 |
18 | #ifdef __cplusplus
19 | };
20 | #endif
21 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/ocaml/preamble.swg:
--------------------------------------------------------------------------------
1 | %insert(mli) %{
2 | exception BadArgs of string
3 | exception BadMethodName of c_obj * string * string
4 | exception NotObject of c_obj
5 | exception NotEnumType of c_obj
6 | exception LabelNotFromThisEnum of c_obj
7 | exception InvalidDirectorCall of c_obj
8 | %}
9 |
10 | %insert(ml) %{
11 | exception BadArgs of string
12 | exception BadMethodName of c_obj * string * string
13 | exception NotObject of c_obj
14 | exception NotEnumType of c_obj
15 | exception LabelNotFromThisEnum of c_obj
16 | exception InvalidDirectorCall of c_obj
17 | %}
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/ocaml/std_common.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * std_common.i
3 | *
4 | * SWIG typemaps for STL - common utilities
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 |
9 | %apply size_t { std::size_t };
10 |
11 | %{
12 | #include
13 | CAML_VALUE SwigString_FromString(const std::string& s) {
14 | return caml_val_string((char *)s.c_str());
15 | }
16 | std::string SwigString_AsString(CAML_VALUE o) {
17 | return std::string((char *)caml_ptr_val(o,0));
18 | }
19 | %}
20 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/ocaml/std_deque.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * std_deque.i
3 | *
4 | * Default std_deque wrapper
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %module std_deque
8 |
9 | %rename(__getitem__) std::deque::getitem;
10 | %rename(__setitem__) std::deque::setitem;
11 | %rename(__delitem__) std::deque::delitem;
12 | %rename(__getslice__) std::deque::getslice;
13 | %rename(__setslice__) std::deque::setslice;
14 | %rename(__delslice__) std::deque::delslice;
15 |
16 | %extend std::deque {
17 | int __len__() {
18 | return (int) self->size();
19 | }
20 | int __nonzero__() {
21 | return ! self->empty();
22 | }
23 | void append(const T &x) {
24 | self->push_back(x);
25 | }
26 | };
27 |
28 | %include
29 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/ocaml/std_pair.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * std_pair.i
3 | *
4 | * SWIG typemaps for std::pair
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 | %include
9 |
10 | // ------------------------------------------------------------------------
11 | // std::pair
12 | // ------------------------------------------------------------------------
13 |
14 | %{
15 | #include
16 | %}
17 |
18 | namespace std {
19 |
20 | template struct pair {
21 |
22 | pair();
23 | pair(T first, U second);
24 | pair(const pair& p);
25 |
26 | template pair(const pair &p);
27 |
28 | T first;
29 | U second;
30 | };
31 |
32 | // add specializations here
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/ocaml/stl.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * stl.i
3 | *
4 | * Initial STL definition. extended as needed in each language
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 | %include
9 | %include
10 | %include
11 | %include
12 |
13 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/ocaml/typeregister.swg:
--------------------------------------------------------------------------------
1 | SWIGEXT void SWIG_init() {
2 | SWIG_InitializeModule(0);
3 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/attribute.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/carrays.i:
--------------------------------------------------------------------------------
1 | %define %array_class(TYPE,NAME)
2 | %array_class_wrap(TYPE,NAME,__paren__,__paren_asgn__)
3 | %enddef
4 |
5 | %include
6 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/cdata.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/cmalloc.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/exception.i:
--------------------------------------------------------------------------------
1 | %include
2 |
3 |
4 | %insert("runtime") {
5 | %define_as(SWIG_exception(code, msg), %block(%error(code, msg); SWIG_fail; ))
6 | }
7 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/factory.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/implicit.i:
--------------------------------------------------------------------------------
1 | %include
2 | %include
3 |
4 | #warning "This file provides the %implicit directive, which is an old and fragile"
5 | #warning "way to implement the C++ implicit conversion mechanism."
6 | #warning "Try using the more robust '%implicitconv Type;' directive instead."
7 |
8 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/octave.swg:
--------------------------------------------------------------------------------
1 | %include
2 | %include
3 | %include
4 | %include
5 | %include
6 | %include
7 |
8 | %define %docstring %feature("docstring") %enddef
9 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/octfragments.swg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/std_alloc.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/std_char_traits.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/std_complex.i:
--------------------------------------------------------------------------------
1 | /*
2 | * STD C++ complex typemaps
3 | */
4 |
5 | %include
6 |
7 | %{
8 | #include
9 | %}
10 |
11 | /* defining the complex as/from converters */
12 |
13 | %swig_cplxdbl_convn(std::complex, std::complex, std::real, std::imag)
14 | %swig_cplxflt_convn(std::complex, std::complex, std::real, std::imag)
15 |
16 | /* defining the typemaps */
17 |
18 | %typemaps_primitive(%checkcode(CPLXDBL), std::complex);
19 | %typemaps_primitive(%checkcode(CPLXFLT), std::complex);
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/std_container.i:
--------------------------------------------------------------------------------
1 | %include
2 | %include
3 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/std_deque.i:
--------------------------------------------------------------------------------
1 | // Deques
2 |
3 | %fragment("StdDequeTraits","header",fragment="StdSequenceTraits")
4 | %{
5 | namespace swig {
6 | template
7 | struct traits_asptr > {
8 | static int asptr(octave_value obj, std::deque **vec) {
9 | return traits_asptr_stdseq >::asptr(obj, vec);
10 | }
11 | };
12 |
13 | template
14 | struct traits_from > {
15 | static octave_value from(const std::deque & vec) {
16 | return traits_from_stdseq >::from(vec);
17 | }
18 | };
19 | }
20 | %}
21 |
22 | #define %swig_deque_methods(Type...) %swig_sequence_methods(Type)
23 | #define %swig_deque_methods_val(Type...) %swig_sequence_methods_val(Type);
24 |
25 | %include
26 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/std_except.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/std_list.i:
--------------------------------------------------------------------------------
1 | // Lists
2 |
3 | %fragment("StdListTraits","header",fragment="StdSequenceTraits")
4 | %{
5 | namespace swig {
6 | template
7 | struct traits_asptr > {
8 | static int asptr(const octave_value& obj, std::list **lis) {
9 | return traits_asptr_stdseq >::asptr(obj, lis);
10 | }
11 | };
12 |
13 | template
14 | struct traits_from > {
15 | static octave_value *from(const std::list & vec) {
16 | return traits_from_stdseq >::from(vec);
17 | }
18 | };
19 | }
20 | %}
21 |
22 | #define %swig_list_methods(Type...) %swig_sequence_methods(Type)
23 | #define %swig_list_methods_val(Type...) %swig_sequence_methods_val(Type);
24 |
25 | %include
26 |
27 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/std_string.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/std_vector.i:
--------------------------------------------------------------------------------
1 | // Vectors
2 |
3 | %fragment("StdVectorTraits","header",fragment="StdSequenceTraits")
4 | %{
5 | namespace swig {
6 | template
7 | struct traits_asptr > {
8 | static int asptr(const octave_value& obj, std::vector **vec) {
9 | return traits_asptr_stdseq >::asptr(obj, vec);
10 | }
11 | };
12 |
13 | template
14 | struct traits_from > {
15 | static octave_value from(const std::vector& vec) {
16 | return traits_from_stdseq >::from(vec);
17 | }
18 | };
19 | }
20 | %}
21 |
22 | #define %swig_vector_methods(Type...) %swig_sequence_methods(Type)
23 | #define %swig_vector_methods_val(Type...) %swig_sequence_methods_val(Type);
24 |
25 | %include
26 |
27 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/stl.i:
--------------------------------------------------------------------------------
1 | /* initial STL definition. extended as needed in each language */
2 | %include
3 | %include
4 | %include
5 | %include
6 | %include
7 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/octave/typemaps.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/Makefile.pl:
--------------------------------------------------------------------------------
1 | # File : Makefile.pl
2 | # MakeMaker file for a SWIG module. Use this file if you are
3 | # producing a module for general use or distribution.
4 | #
5 | # 1. Modify the file as appropriate. Replace $module with the
6 | # real name of your module and wrapper file.
7 | # 2. Run perl as 'perl Makefile.pl'
8 | # 3. Type 'make' to build your module
9 | # 4. Type 'make install' to install your module.
10 | #
11 | # See "Programming Perl", 2nd. Ed, for more gory details than
12 | # you ever wanted to know.
13 |
14 | use ExtUtils::MakeMaker;
15 | WriteMakefile(
16 | 'NAME' => '$module', # Name of your module
17 | 'LIBS' => [''], # Custom libraries (if any)
18 | 'OBJECT' => '$module_wrap.o' # Object files
19 | );
20 |
21 |
22 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/attribute.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/carrays.i:
--------------------------------------------------------------------------------
1 | %include
2 |
3 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/cdata.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/cmalloc.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/cni.i:
--------------------------------------------------------------------------------
1 | %warnfilter(SWIGWARN_PARSE_KEYWORD) java::lang::ref;
2 |
3 | %{
4 | #undef STATIC
5 | %}
6 | %include
7 | %{
8 | #undef TRUE
9 | #define TRUE 1
10 | %}
11 |
12 | %include
13 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/cpointer.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/cstring.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/exception.i:
--------------------------------------------------------------------------------
1 | %include
2 |
3 | %insert("runtime") {
4 | %define_as(SWIG_exception(code, msg), %block(%error(code, msg); SWIG_fail; ))
5 | }
6 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/extra-install.list:
--------------------------------------------------------------------------------
1 | # see top-level Makefile.in
2 | Makefile.pl noembed.h
3 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/factory.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/perlerrors.swg:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * error manipulation
3 | * ----------------------------------------------------------------------------- */
4 |
5 | SWIGINTERN const char*
6 | SWIG_Perl_ErrorType(int code) {
7 | switch(code) {
8 | case SWIG_MemoryError:
9 | return "MemoryError";
10 | case SWIG_IOError:
11 | return "IOError";
12 | case SWIG_RuntimeError:
13 | return "RuntimeError";
14 | case SWIG_IndexError:
15 | return "IndexError";
16 | case SWIG_TypeError:
17 | return "TypeError";
18 | case SWIG_DivisionByZero:
19 | return "ZeroDivisionError";
20 | case SWIG_OverflowError:
21 | return "OverflowError";
22 | case SWIG_SyntaxError:
23 | return "SyntaxError";
24 | case SWIG_ValueError:
25 | return "ValueError";
26 | case SWIG_SystemError:
27 | return "SystemError";
28 | case SWIG_AttributeError:
29 | return "AttributeError";
30 | default:
31 | return "RuntimeError";
32 | }
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/perlfragments.swg:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Create a file with this name, 'perlfragments.swg', in your working
4 | directory and add all the %fragments you want to take precedence
5 | over the ones defined by default by swig.
6 |
7 | For example, if you add:
8 |
9 | %fragment(SWIG_AsVal_frag(int),"header") {
10 | SWIGINTERNINLINE int
11 | SWIG_AsVal(int)(PyObject *obj, int *val)
12 | {
13 | ;
14 | }
15 | }
16 |
17 | this will replace the code used to retrieve an integer value for all
18 | the typemaps that need it, including:
19 |
20 | int, std::vector, std::list >, etc.
21 |
22 |
23 | */
24 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/perlmacros.swg:
--------------------------------------------------------------------------------
1 | %include
2 |
3 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/perlruntime.swg:
--------------------------------------------------------------------------------
1 |
2 | %runtime "swigrun.swg" // Common C API type-checking code
3 | %runtime "swigerrors.swg" // SWIG errors
4 | %runtime "perlhead.swg" // Perl includes and fixes
5 | %runtime "perlerrors.swg" // Perl errors
6 | %runtime "perlrun.swg" // Perl runtime functions
7 | %runtime "noembed.h" // undefine Perl5 macros
8 |
9 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/perluserdir.swg:
--------------------------------------------------------------------------------
1 | #define %perlcode %insert("perl")
2 |
3 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/std_common.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * std_common.i
3 | *
4 | * SWIG typemaps for STL - common utilities
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 |
9 | %apply size_t { std::size_t };
10 |
11 | %{
12 | #include
13 |
14 | double SwigSvToNumber(SV* sv) {
15 | return SvIOK(sv) ? double(SvIVX(sv)) : SvNVX(sv);
16 | }
17 | std::string SwigSvToString(SV* sv) {
18 | STRLEN len;
19 | char *ptr = SvPV(sv, len);
20 | return std::string(ptr, len);
21 | }
22 | void SwigSvFromString(SV* sv, const std::string& s) {
23 | sv_setpvn(sv,s.data(),s.size());
24 | }
25 | %}
26 |
27 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/std_deque.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/std_except.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/std_pair.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * std_pair.i
3 | *
4 | * SWIG typemaps for std::pair
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 | %include
9 |
10 | // ------------------------------------------------------------------------
11 | // std::pair
12 | // ------------------------------------------------------------------------
13 |
14 | %{
15 | #include
16 | %}
17 |
18 | namespace std {
19 |
20 | template struct pair {
21 |
22 | pair();
23 | pair(T t, U u);
24 | pair(const pair& p);
25 |
26 | template pair(const pair &p);
27 |
28 | T first;
29 | U second;
30 | };
31 |
32 | // add specializations here
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/std_string.i:
--------------------------------------------------------------------------------
1 | %include
2 | %include
3 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/perl5/stl.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * stl.i
3 | *
4 | * Initial STL definition. extended as needed in each language
5 | * ----------------------------------------------------------------------------- */
6 | %include
7 | %include
8 | %include
9 | %include
10 | %include
11 |
12 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/php/phpinit.swg:
--------------------------------------------------------------------------------
1 |
2 | /* ------------------------------------------------------------
3 | * The start of the PHP initialization function
4 | * ------------------------------------------------------------ */
5 |
6 | %insert(init) "swiginit.swg"
7 |
8 | %init %{
9 | SWIG_php_minit {
10 | SWIG_InitializeModule(0);
11 | %}
12 |
13 | %fragment("swig_php_init_member_ptr2", "header") {
14 | #define SWIG_MEMBER_PTR ((char*)"CLASS::*")
15 |
16 | static void swig_member_ptr_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC) {
17 | efree(rsrc->ptr);
18 | }
19 |
20 | static int swig_member_ptr = 0;
21 | }
22 |
23 | %fragment("swig_php_init_member_ptr", "init", fragment="swig_php_init_member_ptr2") {
24 | swig_member_ptr = zend_register_list_destructors_ex(swig_member_ptr_dtor, NULL, SWIG_MEMBER_PTR, module_number);
25 | }
26 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/php/std_common.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * std_common.i
3 | *
4 | * SWIG typemaps for STL - common utilities
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 |
9 | %apply size_t { std::size_t };
10 |
11 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/php/std_deque.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/php/std_pair.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * std_pair.i
3 | *
4 | * SWIG typemaps for std::pair
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 | %include
9 |
10 | // ------------------------------------------------------------------------
11 | // std::pair
12 | // ------------------------------------------------------------------------
13 |
14 | %{
15 | #include
16 | %}
17 |
18 | namespace std {
19 |
20 | template struct pair {
21 |
22 | pair();
23 | pair(T first, U second);
24 | pair(const pair& p);
25 |
26 | template pair(const pair &p);
27 |
28 | T first;
29 | U second;
30 | };
31 |
32 | // add specializations here
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/php/stl.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * stl.i
3 | *
4 | * Initial STL definition. extended as needed in each language
5 | * ----------------------------------------------------------------------------- */
6 |
7 | %include
8 | %include
9 | %include
10 | %include
11 | %include
12 |
13 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/pike/pikekw.swg:
--------------------------------------------------------------------------------
1 | #ifndef PIKE_PIKEKW_SWG_
2 | #define PIKE_PIKEKW_SWG_
3 |
4 | /* Warnings for Pike keywords */
5 | #define PIKEKW(x) %namewarn("314: '" #x "' is a pike keyword") #x
6 |
7 | /*
8 | from
9 | http://www.http://docs.linux.cz/pike/tutorial_C.html
10 |
11 | */
12 |
13 |
14 | PIKEKW(array);
15 | PIKEKW(break);
16 | PIKEKW(case);
17 | PIKEKW(catch);
18 | PIKEKW(continue);
19 | PIKEKW(default);
20 | PIKEKW(do);
21 | PIKEKW(else);
22 | PIKEKW(float);
23 | PIKEKW(for);
24 | PIKEKW(foreach);
25 | PIKEKW(function);
26 | PIKEKW(gauge);
27 | PIKEKW(if);
28 | PIKEKW(inherit);
29 | PIKEKW(inline);
30 | PIKEKW(int);
31 | PIKEKW(lambda);
32 | PIKEKW(mapping);
33 | PIKEKW(mixed);
34 | PIKEKW(multiset);
35 | PIKEKW(nomask);
36 | PIKEKW(object);
37 | PIKEKW(predef);
38 | PIKEKW(private);
39 | PIKEKW(program);
40 | PIKEKW(protected);
41 | PIKEKW(public);
42 | PIKEKW(return);
43 | PIKEKW(sscanf);
44 | PIKEKW(static);
45 | PIKEKW(string);
46 | PIKEKW(switch);
47 | PIKEKW(typeof);
48 | PIKEKW(varargs);
49 | PIKEKW(void);
50 | PIKEKW(while);
51 |
52 |
53 | #undef PIKEKW
54 |
55 | #endif //PIKE_PIKEKW_SWG_
56 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/pointer.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * pointer.i
3 | * ----------------------------------------------------------------------------- */
4 |
5 |
6 | %echo "pointer.i is deprecated. Use cpointer.i instead."
7 | %echo "See http://www.swig.org/Doc1.3/Library.html"
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/attribute.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/ccomplex.i:
--------------------------------------------------------------------------------
1 | /* -----------------------------------------------------------------------------
2 | * ccomplex.i
3 | *
4 | * C complex typemaps
5 | * ISO C99: 7.3 Complex arithmetic
6 | * ----------------------------------------------------------------------------- */
7 |
8 |
9 | %include
10 |
11 | %{
12 | #include
13 | %}
14 |
15 |
16 | /* C complex constructor */
17 | #define CCplxConst(r, i) ((r) + I*(i))
18 |
19 | %swig_cplxflt_convn(float complex, CCplxConst, creal, cimag);
20 | %swig_cplxdbl_convn(double complex, CCplxConst, creal, cimag);
21 | %swig_cplxdbl_convn(complex, CCplxConst, creal, cimag);
22 |
23 | /* declaring the typemaps */
24 | %typemaps_primitive(SWIG_TYPECHECK_CPLXFLT, float complex);
25 | %typemaps_primitive(SWIG_TYPECHECK_CPLXDBL, double complex);
26 | %typemaps_primitive(SWIG_TYPECHECK_CPLXDBL, complex);
27 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/cdata.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/cmalloc.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/cni.i:
--------------------------------------------------------------------------------
1 | %include
2 | %include
3 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/complex.i:
--------------------------------------------------------------------------------
1 | #ifdef __cplusplus
2 | %include
3 | #else
4 | %include
5 | #endif
6 |
7 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/cpointer.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/cstring.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/cwstring.i:
--------------------------------------------------------------------------------
1 | %include
2 | %include
3 |
4 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/exception.i:
--------------------------------------------------------------------------------
1 | %include
2 |
3 |
4 | %insert("runtime") {
5 | %define_as(SWIG_exception(code, msg), %block(%error(code, msg); SWIG_fail; ))
6 | }
7 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/factory.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/implicit.i:
--------------------------------------------------------------------------------
1 | %include
2 | %include
3 |
4 | #warning "This file provides the %implicit directive, which is an old and fragile"
5 | #warning "way to implement the C++ implicit conversion mechanism."
6 | #warning "Try using the more robust '%implicitconv Type;' directive instead."
7 |
8 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/pyabc.i:
--------------------------------------------------------------------------------
1 | %define %pythonabc(Type, Abc)
2 | %feature("python:abc", #Abc) Type;
3 | %enddef
4 | %pythoncode {import collections};
5 | %pythonabc(std::vector, collections.MutableSequence);
6 | %pythonabc(std::list, collections.MutableSequence);
7 | %pythonabc(std::map, collections.MutableMapping);
8 | %pythonabc(std::multimap, collections.MutableMapping);
9 | %pythonabc(std::set, collections.MutableSet);
10 | %pythonabc(std::multiset, collections.MutableSet);
11 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/pydocs.swg:
--------------------------------------------------------------------------------
1 |
2 | // Documentation for use with the autodoc feature.
3 |
4 | #ifdef SWIG_DOC_DOXYGEN_STYLE
5 | %typemap(doc) SWIGTYPE "@param $1_name $1_type";
6 | %typemap(doc) SWIGTYPE * "@param $1_name $1_type";
7 | %typemap(doc) const SWIGTYPE & "@param $1_name $1_type";
8 | %typemap(doc) enum SWIGTYPE "@param $1_name enum $1_type";
9 |
10 | %typemap(doc) SWIGTYPE *INOUT, SWIGTYPE &INOUT "@param $1_name $1_type (input/output)";
11 | %typemap(doc) SWIGTYPE *INPUT, SWIGTYPE &INPUT "@param $1_name $1_type (input)";
12 | %typemap(doc) SWIGTYPE *OUTPUT, SWIGTYPE &OUTPUT "@param $1_name $1_type (output)";
13 | #else
14 | %typemap(doc) SWIGTYPE "$1_name: $1_type";
15 | %typemap(doc) SWIGTYPE * "$1_name: $1_type";
16 | %typemap(doc) const SWIGTYPE & "$1_name: $1_type";
17 | %typemap(doc) enum SWIGTYPE "$1_name: enum $1_type";
18 |
19 | %typemap(doc) SWIGTYPE *INOUT, SWIGTYPE &INOUT "$1_name: $1_type (input/output)";
20 | %typemap(doc) SWIGTYPE *INPUT, SWIGTYPE &INPUT "$1_name: $1_type (input)";
21 | %typemap(doc) SWIGTYPE *OUTPUT, SWIGTYPE &OUTPUT "$1_name: $1_type (output)";
22 | #endif
23 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/pyfragments.swg:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Create a file with this name, 'pyfragments.swg', in your working
4 | directory and add all the %fragments you want to take precedence
5 | over the default ones defined by swig.
6 |
7 | For example, if you add:
8 |
9 | %fragment(SWIG_AsVal_frag(int),"header") {
10 | SWIGINTERNINLINE int
11 | SWIG_AsVal(int)(PyObject *obj, int *val)
12 | {
13 | ;
14 | }
15 | }
16 |
17 | this will replace the code used to retrieve an integer value for all
18 | the typemaps that need it, including:
19 |
20 | int, std::vector, std::list >, etc.
21 |
22 |
23 | */
24 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/pymacros.swg:
--------------------------------------------------------------------------------
1 | %include
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/pyruntime.swg:
--------------------------------------------------------------------------------
1 | %insert(runtime) %{
2 | #if defined(_DEBUG) && defined(SWIG_PYTHON_INTERPRETER_NO_DEBUG)
3 | /* Use debug wrappers with the Python release dll */
4 | # undef _DEBUG
5 | # include
6 | # define _DEBUG
7 | #else
8 | # include
9 | #endif
10 | %}
11 |
12 | %insert(runtime) "swigrun.swg"; /* SWIG API */
13 | %insert(runtime) "swigerrors.swg"; /* SWIG errors */
14 | %insert(runtime) "pyhead.swg"; /* Python includes and fixes */
15 | %insert(runtime) "pyerrors.swg"; /* Python errors */
16 | %insert(runtime) "pythreads.swg"; /* Python thread code */
17 | %insert(runtime) "pyapi.swg"; /* Python API */
18 | %insert(runtime) "pyrun.swg"; /* Python run-time code */
19 |
20 | #if defined(SWIGPYTHON_BUILTIN)
21 | %insert(runtime) "builtin.swg"; /* Specialization for classes with single inheritance */
22 | #endif
23 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/pytuplehlp.swg:
--------------------------------------------------------------------------------
1 | /*
2 | Helper function to return output types, now we need to use a list
3 | instead of a tuple since all the other types
4 | (std::pair,std::vector,std::list,etc) return tuples.
5 | */
6 |
7 | #warning "Deprecated file: Don't use t_output_helper anymore,"
8 | #warning "use SWIG_Python_AppendOutput or %append_output instead."
9 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/std_alloc.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/std_char_traits.i:
--------------------------------------------------------------------------------
1 | %include
2 |
--------------------------------------------------------------------------------
/ThirdParty/bin/win32/swig/Lib/python/std_complex.i:
--------------------------------------------------------------------------------
1 | /*
2 | * STD C++ complex typemaps
3 | */
4 |
5 | %include