Change return type of wxList::Member() to bool.

It used to return a pointer in wxUSE_STL==0 build and an object in
wxUSE_STL==1 one making checking its return value difficult without provoking
warnings from either MSVC or g++ (see #11038).

Also, all the other occurrences of Member() already returned bool, including
the one in wxStringList so changing it to return bool in wxList itself is more
consistent.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-09-18 17:10:58 +00:00
parent 29106845fc
commit 0f08aa4432
4 changed files with 13 additions and 10 deletions

View File

@@ -276,6 +276,11 @@ Changes in behaviour which may result in compilation errors
without enclosing parentheses results in warnings from g++ with -Wparentheses, without enclosing parentheses results in warnings from g++ with -Wparentheses,
add parentheses around the if statement body to work around it. add parentheses around the if statement body to work around it.
- wxList::Member() now returns book and not a pointer/iterator. This shouldn't
require any changes as it was always meant to be used for checking for the
presence of an element in the list only. If you used it as Find(), simple do
use Find() instead.
Deprecated methods and their replacements Deprecated methods and their replacements
----------------------------------------- -----------------------------------------

View File

@@ -258,7 +258,7 @@ inline const void *wxListCastElementToVoidPtr(const wxString& str)
iterator i = const_cast< liT* >(this)->end(); \ iterator i = const_cast< liT* >(this)->end(); \
return compatibility_iterator( this, !empty() ? --i : i ); \ return compatibility_iterator( this, !empty() ? --i : i ); \
} \ } \
compatibility_iterator Member( elT e ) const \ bool Member( elT e ) const \
{ return Find( e ); } \ { return Find( e ); } \
compatibility_iterator Nth( int n ) const \ compatibility_iterator Nth( int n ) const \
{ return Item( n ); } \ { return Item( n ); } \
@@ -1179,12 +1179,8 @@ public:
// compatibility methods // compatibility methods
void Sort(wxSortCompareFunction compfunc) { wxListBase::Sort(compfunc); } void Sort(wxSortCompareFunction compfunc) { wxListBase::Sort(compfunc); }
#endif bool Member(wxObject *object) const { return Find(object) != NULL; }
#endif // !wxUSE_STL
#if wxUSE_STL
#else
wxNode *Member(wxObject *object) const { return (wxNode *)Find(object); }
#endif
}; };
#if !wxUSE_STL #if !wxUSE_STL

View File

@@ -209,9 +209,11 @@ public:
wxList<T>::compatibility_iterator Item(size_t index) const; wxList<T>::compatibility_iterator Item(size_t index) const;
/** /**
@deprecated This function is deprecated, use Find() instead. Check if the object is present in the list.
@see Find()
*/ */
wxList<T>::compatibility_iterator Member(T* object) const; bool Member(T* object) const;
/** /**
@deprecated This function is deprecated, use Item() instead. @deprecated This function is deprecated, use Item() instead.

View File

@@ -535,7 +535,7 @@ void wxAppConsoleBase::DeletePendingEvents()
bool wxAppConsoleBase::IsScheduledForDestruction(wxObject *object) const bool wxAppConsoleBase::IsScheduledForDestruction(wxObject *object) const
{ {
return wxPendingDelete.Member(object) != NULL; return wxPendingDelete.Member(object);
} }
void wxAppConsoleBase::ScheduleForDestruction(wxObject *object) void wxAppConsoleBase::ScheduleForDestruction(wxObject *object)