swig/Source
William S Fulton e777b054d5 Performance optimisation for parameters passed by value that are C++11 movable.
The C++ wrappers create a temporary variable for a parameter to be passed to a
function. This is initially default constructed and then copy assigned from the
instance being passed in from the target language. This is unchanged, however,
when the temporary variable is passed to wrapped function, it is now done using
std::move. If the type is move constructible, the move constructor will be used
instead of the copy constructor.

Note that the implementation calls std::move for all user-defined types
(non-primitive types passed by value), this excludes anything passed by pointer,
reference and arrays. It does also include any type that has not been
defined/parsed by SWIG, that is, unknown types. std::move is called via the
SWIG_STD_MOVE macro which only calls std::move for C++11 and later code.
2022-07-08 17:41:15 +01:00
..
CParse Resolve -Wstrict-prototypes warnings with clang-15 2022-06-30 12:52:00 +12:00
DOH Resolve -Wstrict-prototypes warnings with clang-15 2022-06-30 12:52:00 +12:00
Doxygen Recognise and ignore Doxygen group commands @{ and @} 2022-04-07 12:05:54 +12:00
Include Add support for wchar_t * and std::wstring Unicode strings on Linux 2022-05-02 21:08:19 +01:00
Modules Remove set but not used variables 2022-06-30 12:52:37 +12:00
Preprocessor Resolve -Wstrict-prototypes warnings with clang-15 2022-06-30 12:52:00 +12:00
Swig Performance optimisation for parameters passed by value that are C++11 movable. 2022-07-08 17:41:15 +01:00
Makefile.am Remove -browse command line option 2022-04-03 08:56:07 +12:00
README Remove details of long-removed directories 2021-05-16 08:42:39 +12:00

SWIG Source directory

 Source/DOH          -  A core set of basic datatypes including
                        strings, lists, hashes, and files.  Used
                        extensively by the rest of SWIG.

 Source/Swig         -  Swig core. Type-system, utility functions.

 Source/Preprocessor -  SWIG C Preprocessor

 Source/CParse       -  SWIG C Parser (still messy)

 Source/Modules      -  Language modules.

 Source/Include      -  Include files.