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:
Marcelo Matus 2004-04-02 02:34:19 +00:00
commit ab44291de8
9 changed files with 13 additions and 12 deletions

View file

@ -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 >))

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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