fix pair for ptrs, and add SWIG_STD_NOEXTEND_COMPARISON to reduce swig times
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5820 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
ffd76a5b4e
commit
7cbe501f13
9 changed files with 75 additions and 43 deletions
|
|
@ -119,9 +119,11 @@ namespace std {
|
|||
typedef U* second_type;
|
||||
|
||||
%traits_swigtype(T);
|
||||
%traits_swigtype(U);
|
||||
|
||||
%fragment(SWIG_Traits_frag(std::pair<T,U* >), "header",
|
||||
fragment=SWIG_Traits_frag(T),
|
||||
fragment=SWIG_Traits_frag(U),
|
||||
fragment="StdPairTraits") {
|
||||
namespace swigpy {
|
||||
template <> struct traits<std::pair<T,U* > > {
|
||||
|
|
@ -149,16 +151,18 @@ namespace std {
|
|||
typedef T* fisrt_type;
|
||||
typedef U second_type;
|
||||
|
||||
%traits_swigtype(T);
|
||||
%traits_swigtype(U);
|
||||
|
||||
%fragment(SWIG_Traits_frag(std::pair<T*,U >), "header",
|
||||
fragment=SWIG_Traits_frag(T),
|
||||
fragment=SWIG_Traits_frag(U),
|
||||
fragment="StdPairTraits") {
|
||||
namespace swigpy {
|
||||
template <> struct traits<std::pair<T*,U > > {
|
||||
typedef pointer_category category;
|
||||
static const char* type_name() {
|
||||
return "std::pair<" #T *"," #U " >";
|
||||
return "std::pair<" #T " *," #U " >";
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
@ -179,14 +183,19 @@ namespace std {
|
|||
template <class T, class U > struct pair<T*, U*> {
|
||||
typedef T* fisrt_type;
|
||||
typedef U* second_type;
|
||||
|
||||
%traits_swigtype(T);
|
||||
%traits_swigtype(U);
|
||||
|
||||
%fragment(SWIG_Traits_frag(std::pair<T*,U* >), "header",
|
||||
fragment=SWIG_Traits_frag(T),
|
||||
fragment=SWIG_Traits_frag(U),
|
||||
fragment="StdPairTraits") {
|
||||
namespace swigpy {
|
||||
template <> struct traits<std::pair<T*,U* > > {
|
||||
typedef pointer_category category;
|
||||
static const char* type_name() {
|
||||
return "std::pair<" #T *"," #U " * >";
|
||||
return "std::pair<" #T " *," #U " * >";
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
@ -211,6 +220,6 @@ namespace std {
|
|||
%std_definst_2(pair, __VA_ARGS__);
|
||||
%enddef
|
||||
|
||||
#if defined(SWIG_STD_EXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
#if !defined(SWIG_STD_NOEXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
%apply_cpptypes_2(%std_pair_ptypen);
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue