diff --git a/Doc/Manual/Contents.html b/Doc/Manual/Contents.html index a315096a5..47f7ec449 100644 --- a/Doc/Manual/Contents.html +++ b/Doc/Manual/Contents.html @@ -229,6 +229,7 @@
  • Class extension
  • Templates
  • Namespaces +
  • Renaming templated types in namespaces
  • Exception specifications
  • Exception handling with %catches
  • Pointers to Members @@ -252,8 +253,9 @@
  • Macro Expansion
  • SWIG Macros
  • C99 and GNU Extensions -
  • Preprocessing and %{ ... %} blocks -
  • Preprocessing and { ... } +
  • Preprocessing and %{ ... %} & " ... " delimiters +
  • Preprocessing and { ... } delimiters +
  • Preprocessor and Typemaps
  • Viewing preprocessor output
  • The #error and #warning directives @@ -865,12 +867,13 @@
  • Class extension with %extend
  • C++ templates
  • C++ Smart Pointers +
  • Writing your own custom wrappers -
  • Details on the Lua binding +
  • Details on the Lua binding @@ -1208,86 +1211,22 @@
  • Preliminaries -
  • Building Ruby Extensions under Windows 95/NT - -
  • The Ruby-to-C/C++ Mapping -
  • Naming -
  • Input and output parameters -
  • Exception handling -
  • Typemaps -
  • Advanced Topics - -
  • Memory Management - diff --git a/Doc/Manual/Lua.html b/Doc/Manual/Lua.html index ef311ce07..5abe6502a 100644 --- a/Doc/Manual/Lua.html +++ b/Doc/Manual/Lua.html @@ -954,6 +954,8 @@ If you ever need to access the underlying pointer returned by operator->(

    22.3.15 Writing your own custom wrappers

    + +

    Sometimes, it may be neccesary to add your own special functions, which bypass the normal SWIG wrappering method, and just use the native lua-c API calls. These 'native' functions allow direct adding of your own code into the module. This is performed with the %native directive as follows:

    diff --git a/Doc/Manual/Ruby.html b/Doc/Manual/Ruby.html index 3dd61012a..5605a78f7 100644 --- a/Doc/Manual/Ruby.html +++ b/Doc/Manual/Ruby.html @@ -26,1018 +26,42 @@ -

    30 SWIG and Ruby

    - - - - - +

    30 SWIG and Ruby

    - - - - -
    - - - - - + + +

    This chapter describes SWIG's support of Ruby.

    -

    30.1 Preliminaries

    - - - +

    30.1 Preliminaries

    SWIG 1.3 is known to work with Ruby versions 1.6 and later. @@ -1060,10 +84,7 @@ of Ruby.

    -

    30.1.1 Running SWIG

    - - - +

    30.1.1 Running SWIG

    To build a Ruby module, run SWIG using the -ruby @@ -1691,10 +712,7 @@ declarations in your SWIG interface files to Ruby constructs.

    -

    30.3.1 Modules

    - - - +

    30.1.2 Modules

    The SWIG %module directive specifies @@ -1863,10 +881,7 @@ Ruby's built-in names.

    -

    30.3.2 Functions

    - - - +

    30.1.3 Functions

    Global functions are wrapped as Ruby module methods. For @@ -2033,10 +1048,7 @@ effect until it is explicitly disabled using %mutable. -

    30.3.4 Constants

    - - - +

    30.1.4 Constants

    C/C++ constants are wrapped as module constants initialized @@ -2080,10 +1092,7 @@ constant values, e.g.

    -

    30.3.5 Pointers

    - - - +

    30.1.5 Pointers

    "Opaque" pointers to arbitrary C/C++ types (i.e. types that @@ -2135,10 +1144,7 @@ the Ruby nil object.

    -

    30.3.6 Structures

    - - - +

    30.1.6 Structures

    C/C++ structs are wrapped as Ruby classes, with accessor @@ -2313,10 +1319,7 @@ pointers. For example,

    -

    30.3.7 C++ classes

    - - - +

    30.1.7 C++ classes

    Like structs, C++ classes are wrapped by creating a new Ruby @@ -3915,10 +2918,7 @@ caught here and a C++ exception is raised in its place.

    -

    30.4 Naming

    - - - +

    30.2 Naming

    Ruby has several common naming conventions. Constants are @@ -4203,10 +3203,7 @@ Features") for more details).

    -

    30.4.3 Bang Methods

    - - - +

    30.2.1 Bang Methods

    Ruby methods that modify an object in-place and end in an @@ -5726,10 +4723,7 @@ providing for a more natural integration between C++ code and Ruby code.

    -

    30.7 Typemaps

    - - - +

    30.3 Typemaps

    This section describes how you can modify SWIG's default @@ -8489,10 +7483,7 @@ for VALUE -

    30.7.8.4 Exceptions

    - - - +

    30.3.0.1 Exceptions

    void rb_raise(VALUE exception, const char *fmt, @@ -8659,10 +7650,7 @@ arguments are interpreted as with printf(). -

    30.7.8.5 Iterators

    - - - +

    30.3.0.2 Iterators

    void rb_iter_break()

    diff --git a/Doc/Manual/SWIGPlus.html b/Doc/Manual/SWIGPlus.html index 16ef7fdc7..ba10455b1 100644 --- a/Doc/Manual/SWIGPlus.html +++ b/Doc/Manual/SWIGPlus.html @@ -49,6 +49,7 @@
  • Class extension
  • Templates
  • Namespaces +
  • Renaming templated types in namespaces
  • Exception specifications
  • Exception handling with %catches
  • Pointers to Members @@ -4049,7 +4050,9 @@ with any namespace awareness. In the future, language modules may or may not p more advanced namespace support.

    -

    Renaming templated types in namespaces

    +

    6.20 Renaming templated types in namespaces

    + +

    As has been mentioned, when %rename includes parameters, the parameter types must match exactly (no typedef or namespace resolution is performed). SWIG treats templated types slightly differently and has an additional matching rule so unlike non-templated types, an exact match is not always required. @@ -4124,7 +4127,7 @@ namespace Space { -

    6.20 Exception specifications

    +

    6.21 Exception specifications

    @@ -4175,7 +4178,7 @@ Consult the "Exception handling with %exc The next section details a way of simulating an exception specification or replacing an existing one.

    -

    6.21 Exception handling with %catches

    +

    6.22 Exception handling with %catches

    @@ -4225,7 +4228,7 @@ just a single catch handler for the base class, EBase will be generated

    -

    6.22 Pointers to Members

    +

    6.23 Pointers to Members

    @@ -4275,7 +4278,7 @@ when checking types. However, no such support is currently provided for member pointers.

    -

    6.23 Smart pointers and operator->()

    +

    6.24 Smart pointers and operator->()

    @@ -4485,7 +4488,7 @@ p = f.__deref__() # Raw pointer from operator->

    -

    6.24 Using declarations and inheritance

    +

    6.25 Using declarations and inheritance

    @@ -4648,7 +4651,7 @@ public: -

    6.25 Nested classes

    +

    6.26 Nested classes

    @@ -4739,7 +4742,7 @@ typedef Outer::Inner Inner; The downside to this approach is having to maintain two definitions of Inner, the real one and the one in the interface file that SWIG parses.

    -

    6.26 A brief rant about const-correctness

    +

    6.27 A brief rant about const-correctness

    @@ -4797,7 +4800,7 @@ using another tool if maintaining constness is the most important part of your project.

    -

    6.27 Where to go for more information

    +

    6.28 Where to go for more information