Added wxAny::HasSameType()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Jaakko Salli 2010-06-18 13:30:47 +00:00
parent 94cd7b004d
commit f1156cbb0d
3 changed files with 26 additions and 5 deletions

View File

@ -787,14 +787,24 @@ public:
@remarks You cannot reliably test whether two wxAnys are of
same value type by simply comparing return values
of wxAny::GetType(). Instead use
wxAnyValueType::CheckType<T>() template function.
of wxAny::GetType(). Instead, use wxAny::HasSameType().
@see HasSameType()
*/
const wxAnyValueType* GetType() const
{
return m_type;
}
/**
Returns @true if this and another wxAny have the same
value type.
*/
bool HasSameType(const wxAny& other) const
{
return GetType()->IsSameType(other.GetType());
}
/**
Tests if wxAny is null (that is, whether there is data).
*/

View File

@ -140,12 +140,19 @@ public:
Returns the value type as wxAnyValueType instance.
@remarks You cannot reliably test whether two wxAnys are of
same value type by simply comparing return values
of wxAny::GetType(). Instead use
wxAnyValueType::CheckType<T>() template function.
same value type by simply comparing return values
of wxAny::GetType(). Instead, use wxAny::HasSameType().
@see HasSameType()
*/
const wxAnyValueType* GetType() const;
/**
Returns @true if this and another wxAny have the same
value type.
*/
bool HasSameType(const wxAny& other) const;
/**
Tests if wxAny is null (that is, whether there is data).
*/

View File

@ -178,6 +178,10 @@ void wxAnyTestCase::CheckType()
CPPUNIT_ASSERT(wxANY_CHECK_TYPE(m_anyWcharString2, const wchar_t*));
CPPUNIT_ASSERT(!wxANY_CHECK_TYPE(m_anyWcharString2, wxString));
CPPUNIT_ASSERT(!wxANY_CHECK_TYPE(m_anyWcharString2, const char*));
// HasSameType()
CPPUNIT_ASSERT( m_anyWcharString1.HasSameType(m_anyWcharString2) );
CPPUNIT_ASSERT( !m_anyWcharString1.HasSameType(m_anyBool1) );
}
void wxAnyTestCase::Equality()