Fix STL wrappers to not generate <: digraphs.

For example std::vector<::X::Y> was sometimes generated, now
corrected to std::vector< ::X::Y >.
This commit is contained in:
William S Fulton 2015-12-12 14:05:05 +00:00
commit 6b4e57245d
33 changed files with 339 additions and 303 deletions

View file

@ -106,7 +106,7 @@ namespace std {
}
}
%typemap(out) list<T> {
std::list<T>::const_iterator i;
std::list< T >::const_iterator i;
unsigned int j;
int len = $1.size();
SV **svs = new SV*[len];
@ -125,7 +125,7 @@ namespace std {
%typecheck(SWIG_TYPECHECK_LIST) list<T> {
{
/* wrapped list? */
std::list<T >* v;
std::list< T >* v;
if (SWIG_ConvertPtr($input,(void **) &v,
$1_&descriptor,0) != -1) {
$1 = 1;
@ -158,7 +158,7 @@ namespace std {
const list<T>* {
{
/* wrapped list? */
std::list<T >* v;
std::list< T >* v;
if (SWIG_ConvertPtr($input,(void **) &v,
$1_descriptor,0) != -1) {
$1 = 1;
@ -265,7 +265,7 @@ namespace std {
}
}
%typemap(out) list<T> {
std::list<T>::const_iterator i;
std::list< T >::const_iterator i;
unsigned int j;
int len = $1.size();
SV **svs = new SV*[len];
@ -282,7 +282,7 @@ namespace std {
%typecheck(SWIG_TYPECHECK_LIST) list<T> {
{
/* wrapped list? */
std::list<T >* v;
std::list< T >* v;
if (SWIG_ConvertPtr($input,(void **) &v,
$1_&descriptor,0) != -1) {
$1 = 1;
@ -313,7 +313,7 @@ namespace std {
const list<T>* {
{
/* wrapped list? */
std::list<T >* v;
std::list< T >* v;
if (SWIG_ConvertPtr($input,(void **) &v,
$1_descriptor,0) != -1) {
$1 = 1;

View file

@ -35,7 +35,7 @@ namespace std {
void clear();
%extend {
const T& get(const K& key) throw (std::out_of_range) {
std::map<K,T >::iterator i = self->find(key);
std::map< K, T >::iterator i = self->find(key);
if (i != self->end())
return i->second;
else
@ -45,14 +45,14 @@ namespace std {
(*self)[key] = x;
}
void del(const K& key) throw (std::out_of_range) {
std::map<K,T >::iterator i = self->find(key);
std::map< K, T >::iterator i = self->find(key);
if (i != self->end())
self->erase(i);
else
throw std::out_of_range("key not found");
}
bool has_key(const K& key) {
std::map<K,T >::iterator i = self->find(key);
std::map< K, T >::iterator i = self->find(key);
return i != self->end();
}
}

View file

@ -119,7 +119,7 @@ namespace std {
%typecheck(SWIG_TYPECHECK_VECTOR) vector<T> {
{
/* wrapped vector? */
std::vector<T >* v;
std::vector< T >* v;
if (SWIG_ConvertPtr($input,(void **) &v,
$&1_descriptor,0) != -1) {
$1 = 1;
@ -151,7 +151,7 @@ namespace std {
const vector<T>* {
{
/* wrapped vector? */
std::vector<T >* v;
std::vector< T >* v;
if (SWIG_ConvertPtr($input,(void **) &v,
$1_descriptor,0) != -1) {
$1 = 1;
@ -292,7 +292,7 @@ namespace std {
%typecheck(SWIG_TYPECHECK_VECTOR) vector<T *> {
{
/* wrapped vector? */
std::vector<T *>* v;
std::vector< T *>* v;
int res = SWIG_ConvertPtr($input,(void **) &v, $&1_descriptor,0);
if (SWIG_IsOK(res)) {
$1 = 1;
@ -323,7 +323,7 @@ namespace std {
%typecheck(SWIG_TYPECHECK_VECTOR) const vector<T *>&,const vector<T *>* {
{
/* wrapped vector? */
std::vector<T *> *v;
std::vector< T *> *v;
int res = SWIG_ConvertPtr($input,%as_voidptrptr(&v), $1_descriptor,0);
if (SWIG_IsOK(res)) {
$1 = 1;
@ -466,7 +466,7 @@ namespace std {
%typecheck(SWIG_TYPECHECK_VECTOR) vector<T> {
{
/* wrapped vector? */
std::vector<T >* v;
std::vector< T >* v;
if (SWIG_ConvertPtr($input,(void **) &v,
$&1_descriptor,0) != -1) {
$1 = 1;
@ -496,7 +496,7 @@ namespace std {
const vector<T>* {
{
/* wrapped vector? */
std::vector<T >* v;
std::vector< T >* v;
if (SWIG_ConvertPtr($input,(void **) &v,
$1_descriptor,0) != -1) {
$1 = 1;