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:
parent
625a405b8e
commit
6b4e57245d
33 changed files with 339 additions and 303 deletions
|
|
@ -13,12 +13,12 @@ namespace std {
|
|||
%traits_swigtype(T);
|
||||
%traits_swigtype(U);
|
||||
|
||||
%fragment(SWIG_Traits_frag(std::pair<T,U >), "header",
|
||||
%fragment(SWIG_Traits_frag(std::pair< T, U >), "header",
|
||||
fragment=SWIG_Traits_frag(T),
|
||||
fragment=SWIG_Traits_frag(U),
|
||||
fragment="StdPairTraits") {
|
||||
namespace swig {
|
||||
template <> struct traits<std::pair<T,U > > {
|
||||
template <> struct traits<std::pair< T, U > > {
|
||||
typedef pointer_category category;
|
||||
static const char* type_name() {
|
||||
return "std::pair<" #T "," #U " >";
|
||||
|
|
@ -28,23 +28,23 @@ namespace std {
|
|||
}
|
||||
|
||||
#ifndef SWIG_STD_PAIR_ASVAL
|
||||
%typemap_traits_ptr(SWIG_TYPECHECK_PAIR, std::pair<T,U >);
|
||||
%typemap_traits_ptr(SWIG_TYPECHECK_PAIR, std::pair< T, U >);
|
||||
#else
|
||||
%typemap_traits(SWIG_TYPECHECK_PAIR, std::pair<T,U >);
|
||||
%typemap_traits(SWIG_TYPECHECK_PAIR, std::pair< T, U >);
|
||||
#endif
|
||||
|
||||
pair();
|
||||
pair(T first, U second);
|
||||
pair(const pair& p);
|
||||
|
||||
template <class U1, class U2> pair(const pair<U1, U2> &p);
|
||||
template <class U1, class U2> pair(const pair< U1, U2 > &p);
|
||||
|
||||
T first;
|
||||
U second;
|
||||
|
||||
#ifdef %swig_pair_methods
|
||||
// Add swig/language extra methods
|
||||
%swig_pair_methods(std::pair<T,U >)
|
||||
%swig_pair_methods(std::pair< T, U >)
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
@ -52,19 +52,19 @@ namespace std {
|
|||
// The following specializations should disappear or get
|
||||
// simplified when a 'const SWIGTYPE*&' can be defined
|
||||
// ***
|
||||
template <class T, class U > struct pair<T, U*> {
|
||||
template <class T, class U > struct pair< T, U* > {
|
||||
typedef T first_type;
|
||||
typedef U* second_type;
|
||||
|
||||
%traits_swigtype(T);
|
||||
%traits_swigtype(U);
|
||||
|
||||
%fragment(SWIG_Traits_frag(std::pair<T,U* >), "header",
|
||||
%fragment(SWIG_Traits_frag(std::pair< T, U* >), "header",
|
||||
fragment=SWIG_Traits_frag(T),
|
||||
fragment=SWIG_Traits_frag(U),
|
||||
fragment="StdPairTraits") {
|
||||
namespace swig {
|
||||
template <> struct traits<std::pair<T,U* > > {
|
||||
template <> struct traits<std::pair< T, U* > > {
|
||||
typedef pointer_category category;
|
||||
static const char* type_name() {
|
||||
return "std::pair<" #T "," #U " * >";
|
||||
|
|
@ -73,7 +73,7 @@ namespace std {
|
|||
}
|
||||
}
|
||||
|
||||
%typemap_traits_ptr(SWIG_TYPECHECK_PAIR, std::pair<T,U* >);
|
||||
%typemap_traits_ptr(SWIG_TYPECHECK_PAIR, std::pair< T, U* >);
|
||||
|
||||
pair();
|
||||
pair(T __a, U* __b);
|
||||
|
|
@ -84,23 +84,23 @@ namespace std {
|
|||
|
||||
#ifdef %swig_pair_methods
|
||||
// Add swig/language extra methods
|
||||
%swig_pair_methods(std::pair<T,U*>)
|
||||
%swig_pair_methods(std::pair< T, U* >)
|
||||
#endif
|
||||
};
|
||||
|
||||
template <class T, class U > struct pair<T*, U> {
|
||||
template <class T, class U > struct pair< T*, U > {
|
||||
typedef T* first_type;
|
||||
typedef U second_type;
|
||||
|
||||
%traits_swigtype(T);
|
||||
%traits_swigtype(U);
|
||||
|
||||
%fragment(SWIG_Traits_frag(std::pair<T*,U >), "header",
|
||||
%fragment(SWIG_Traits_frag(std::pair< T*, U >), "header",
|
||||
fragment=SWIG_Traits_frag(T),
|
||||
fragment=SWIG_Traits_frag(U),
|
||||
fragment="StdPairTraits") {
|
||||
namespace swig {
|
||||
template <> struct traits<std::pair<T*,U > > {
|
||||
template <> struct traits<std::pair< T*, U > > {
|
||||
typedef pointer_category category;
|
||||
static const char* type_name() {
|
||||
return "std::pair<" #T " *," #U " >";
|
||||
|
|
@ -109,7 +109,7 @@ namespace std {
|
|||
}
|
||||
}
|
||||
|
||||
%typemap_traits_ptr(SWIG_TYPECHECK_PAIR, std::pair<T*,U >);
|
||||
%typemap_traits_ptr(SWIG_TYPECHECK_PAIR, std::pair< T*, U >);
|
||||
|
||||
pair();
|
||||
pair(T* __a, U __b);
|
||||
|
|
@ -120,23 +120,23 @@ namespace std {
|
|||
|
||||
#ifdef %swig_pair_methods
|
||||
// Add swig/language extra methods
|
||||
%swig_pair_methods(std::pair<T*,U >)
|
||||
%swig_pair_methods(std::pair< T*, U >)
|
||||
#endif
|
||||
};
|
||||
|
||||
template <class T, class U > struct pair<T*, U*> {
|
||||
template <class T, class U > struct pair< T*, U* > {
|
||||
typedef T* first_type;
|
||||
typedef U* second_type;
|
||||
|
||||
%traits_swigtype(T);
|
||||
%traits_swigtype(U);
|
||||
|
||||
%fragment(SWIG_Traits_frag(std::pair<T*,U* >), "header",
|
||||
%fragment(SWIG_Traits_frag(std::pair< T*, U* >), "header",
|
||||
fragment=SWIG_Traits_frag(T),
|
||||
fragment=SWIG_Traits_frag(U),
|
||||
fragment="StdPairTraits") {
|
||||
namespace swig {
|
||||
template <> struct traits<std::pair<T*,U* > > {
|
||||
template <> struct traits<std::pair< T*, U* > > {
|
||||
typedef pointer_category category;
|
||||
static const char* type_name() {
|
||||
return "std::pair<" #T " *," #U " * >";
|
||||
|
|
@ -145,7 +145,7 @@ namespace std {
|
|||
}
|
||||
}
|
||||
|
||||
%typemap_traits(SWIG_TYPECHECK_PAIR, std::pair<T*,U* >);
|
||||
%typemap_traits(SWIG_TYPECHECK_PAIR, std::pair< T*, U* >);
|
||||
|
||||
pair();
|
||||
pair(T* __a, U* __b);
|
||||
|
|
@ -156,7 +156,7 @@ namespace std {
|
|||
|
||||
#ifdef %swig_pair_methods
|
||||
// Add swig/language extra methods
|
||||
%swig_pair_methods(std::pair<T*,U*>)
|
||||
%swig_pair_methods(std::pair< T*, U* >)
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue