Fix array bounds checking in C# std::vector wrappers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10804 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
86913e26e3
commit
a83eebb369
2 changed files with 6 additions and 2 deletions
|
|
@ -1,6 +1,10 @@
|
||||||
Version 1.3.37 (in progress)
|
Version 1.3.37 (in progress)
|
||||||
=============================
|
=============================
|
||||||
|
|
||||||
|
2008-09-01: wsfulton
|
||||||
|
[C#] Correct array bounds checking in std::vector typemaps - Insert and InsertRange
|
||||||
|
methods.
|
||||||
|
|
||||||
2008-08-02: wuzzeb
|
2008-08-02: wuzzeb
|
||||||
[Chicken,Allegro] Commit Patch 2019314
|
[Chicken,Allegro] Commit Patch 2019314
|
||||||
Fixes a build error in chicken, and several build errors and other errors
|
Fixes a build error in chicken, and several build errors and other errors
|
||||||
|
|
|
||||||
|
|
@ -231,14 +231,14 @@
|
||||||
return new std::vector<CTYPE >(self->begin()+index, self->begin()+index+count);
|
return new std::vector<CTYPE >(self->begin()+index, self->begin()+index+count);
|
||||||
}
|
}
|
||||||
void Insert(int index, const value_type& x) throw (std::out_of_range) {
|
void Insert(int index, const value_type& x) throw (std::out_of_range) {
|
||||||
if (index>=0 && index<(int)self->size()+1)
|
if (index>=0 && index<(int)self->size())
|
||||||
self->insert(self->begin()+index, x);
|
self->insert(self->begin()+index, x);
|
||||||
else
|
else
|
||||||
throw std::out_of_range("index");
|
throw std::out_of_range("index");
|
||||||
}
|
}
|
||||||
// Takes a deep copy of the elements unlike ArrayList.InsertRange
|
// Takes a deep copy of the elements unlike ArrayList.InsertRange
|
||||||
void InsertRange(int index, const std::vector<CTYPE >& values) throw (std::out_of_range) {
|
void InsertRange(int index, const std::vector<CTYPE >& values) throw (std::out_of_range) {
|
||||||
if (index>=0 && index<(int)self->size()+1)
|
if (index>=0 && index<(int)self->size())
|
||||||
self->insert(self->begin()+index, values.begin(), values.end());
|
self->insert(self->begin()+index, values.begin(), values.end());
|
||||||
else
|
else
|
||||||
throw std::out_of_range("index");
|
throw std::out_of_range("index");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue