we better disable the comparison method generation by default.
reasons: - before they were not generated, so, nobody will miss them, and still they can be activated back using SWIG_STD_EXTEND_COMPARISON, - the performance penalty is quite visible, and the solution is not general, ie, for user types, still they need to be generated by hand. Marcelo git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5822 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
87df1f880e
commit
ab44291de8
9 changed files with 13 additions and 12 deletions
|
|
@ -14,10 +14,11 @@
|
|||
//#define SWIG_STD_DEFAULT_INSTANTIATION
|
||||
|
||||
//
|
||||
// Use the following macro to disable the generation of the comparison
|
||||
// methods, ie, ==, !=, <=, >=, <,>, whenever is needed.
|
||||
// Use the following macro to enable the generation of the
|
||||
// comparison methods, ie, ==, !=, <=, >=, <,>, whenever is needed,
|
||||
// for the primitive types (int,double, etc.)
|
||||
//
|
||||
//#define SWIG_STD_NOEXTEND_COMPARISON
|
||||
//#define SWIG_STD_EXTEND_COMPARISON
|
||||
|
||||
|
||||
//
|
||||
|
|
@ -459,7 +460,7 @@ namespace swigpy {
|
|||
%std_order_methods(__VA_ARGS__ )
|
||||
%enddef
|
||||
|
||||
#if !defined(SWIG_STD_NOEXTEND_COMPARISON)
|
||||
#if defined(SWIG_STD_EXTEND_COMPARISON)
|
||||
%define %std_extcomp(Class,T)
|
||||
%evalif(SWIG_EqualType(T), %std_equal_methods(std::Class<T >))
|
||||
%evalif(SWIG_OrderType(T), %std_order_methods(std::Class<T >))
|
||||
|
|
|
|||
|
|
@ -138,6 +138,6 @@ namespace std {
|
|||
%std_definst(deque, __VA_ARGS__);
|
||||
%enddef
|
||||
|
||||
#if !defined(SWIG_STD_NOEXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
#if defined(SWIG_STD_EXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
%apply_cpptypes(%std_deque_ptypen);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -160,6 +160,6 @@ namespace std {
|
|||
SWIG_arg(%std_extequal_list(__VA_ARGS__)));
|
||||
%enddef
|
||||
|
||||
#if !defined(SWIG_STD_NOEXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
#if defined(SWIG_STD_EXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
%apply_cpptypes(%std_list_ptypen);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -180,6 +180,6 @@ namespace std {
|
|||
%std_definst_2(map, __VA_ARGS__);
|
||||
%enddef
|
||||
|
||||
#if !defined(SWIG_STD_NOEXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
#if defined(SWIG_STD_EXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
%apply_cpptypes_2(%std_map_ptypen);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -140,6 +140,6 @@ namespace std {
|
|||
%std_definst_2(multimap, __VA_ARGS__);
|
||||
%enddef
|
||||
|
||||
#if !defined(SWIG_STD_NOEXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
#if defined(SWIG_STD_EXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
%apply_cpptypes_2(%std_multimap_ptypen);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -108,6 +108,6 @@ namespace std {
|
|||
%std_definst(multiset, __VA_ARGS__);
|
||||
%enddef
|
||||
|
||||
#if !defined(SWIG_STD_NOEXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
#if defined(SWIG_STD_EXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
%apply_cpptypes(%std_multiset_ptypen);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -220,6 +220,6 @@ namespace std {
|
|||
%std_definst_2(pair, __VA_ARGS__);
|
||||
%enddef
|
||||
|
||||
#if !defined(SWIG_STD_NOEXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
#if defined(SWIG_STD_EXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
%apply_cpptypes_2(%std_pair_ptypen);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -131,6 +131,6 @@ namespace std {
|
|||
%std_definst(set, __VA_ARGS__);
|
||||
%enddef
|
||||
|
||||
#if !defined(SWIG_STD_NOEXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
#if defined(SWIG_STD_EXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
%apply_cpptypes(%std_set_ptypen);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -155,6 +155,6 @@ namespace std {
|
|||
%std_definst(vector, __VA_ARGS__);
|
||||
%enddef
|
||||
|
||||
#if !defined(SWIG_STD_NOEXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
#if defined(SWIG_STD_EXTEND_COMPARISON) || defined(SWIG_STD_DEFAULT_INSTANTIATION)
|
||||
%apply_cpptypes(%std_vector_ptypen);
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue