diff --git a/CHANGES.current b/CHANGES.current index 9e7824664..2092bd6e4 100644 --- a/CHANGES.current +++ b/CHANGES.current @@ -5,6 +5,10 @@ See the RELEASENOTES file for a summary of changes in each release. Version 2.0.7 (in progress) =========================== +2012-05-14: wsfulton + Fix some language's std::map wrappers to recognise difference_type, size_type, key_type + and mapped_type. + 2012-05-14: kwwette (signed off by xavier98) [Octave] Prevent Octave from seg-faulting at exit when SWIG modules are loaded, due to bugs in Octave's cleanup code: diff --git a/Lib/csharp/std_map.i b/Lib/csharp/std_map.i index 0fd95725b..6a7da16b6 100644 --- a/Lib/csharp/std_map.i +++ b/Lib/csharp/std_map.i @@ -215,12 +215,13 @@ %} public: - map(); - map(const map< K, T > &other); - + typedef size_t size_type; + typedef ptrdiff_t difference_type; typedef K key_type; typedef T mapped_type; - typedef size_t size_type; + + map(); + map(const map< K, T > &other); size_type size() const; bool empty() const; %rename(Clear) clear; diff --git a/Lib/guile/std_map.i b/Lib/guile/std_map.i index 600075ebe..eb28c2831 100644 --- a/Lib/guile/std_map.i +++ b/Lib/guile/std_map.i @@ -217,6 +217,10 @@ namespace std { %rename("delete!") __delitem__; %rename("has-key?") has_key; public: + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef K key_type; + typedef T mapped_type; map(); map(const map &); diff --git a/Lib/mzscheme/std_map.i b/Lib/mzscheme/std_map.i index ffd76d213..849f8baf5 100644 --- a/Lib/mzscheme/std_map.i +++ b/Lib/mzscheme/std_map.i @@ -217,6 +217,10 @@ namespace std { %rename("delete!") __delitem__; %rename("has-key?") has_key; public: + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef K key_type; + typedef T mapped_type; map(); map(const map &); diff --git a/Lib/ocaml/std_map.i b/Lib/ocaml/std_map.i index 924120f24..5656b7fa2 100644 --- a/Lib/ocaml/std_map.i +++ b/Lib/ocaml/std_map.i @@ -22,6 +22,10 @@ namespace std { template class map { // add typemaps here public: + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef K key_type; + typedef T mapped_type; map(); map(const map &); diff --git a/Lib/perl5/std_map.i b/Lib/perl5/std_map.i index 898c84484..e7812f38a 100644 --- a/Lib/perl5/std_map.i +++ b/Lib/perl5/std_map.i @@ -23,6 +23,10 @@ namespace std { template class map { // add typemaps here public: + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef K key_type; + typedef T mapped_type; map(); map(const map &); diff --git a/Lib/php/std_map.i b/Lib/php/std_map.i index ff74b7b0b..6d5e3db13 100644 --- a/Lib/php/std_map.i +++ b/Lib/php/std_map.i @@ -23,6 +23,10 @@ namespace std { template class map { // add typemaps here public: + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef K key_type; + typedef T mapped_type; map(); map(const map &); diff --git a/Lib/tcl/std_map.i b/Lib/tcl/std_map.i index e36cc96f2..1b7e7696c 100644 --- a/Lib/tcl/std_map.i +++ b/Lib/tcl/std_map.i @@ -24,6 +24,10 @@ namespace std { template class map { // add typemaps here public: + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef K key_type; + typedef T mapped_type; map(); map(const map &);