#include <wx/any.h>
Detailed Description
The wxAny class represents a container for any type.
Its value can be changed at run time, possibly to a different type of value.
wxAny is a backwards-incompatible (but convertible) successor class for wxVariant, essentially doing the same thing in a more modern, template- based manner and with transparent support for any user data type.
Some pseudo-code'ish example of use with arbitrary user data:
void SomeFunction()
{
MyClass myObject;
wxAny any = myObject;
if ( any.CheckType<MyClass>() )
{
MyClass myObject2 = any.As<MyClass>();
}
else
{
wxFAIL();
}
}
When compared to wxVariant, there are various internal implementation differences as well. For instance, wxAny only allocates separate data object in heap for large objects (i.e. ones with size more than WX_ANY_VALUE_BUFFER_SIZE, which at the time of writing is 16 bytes).
- See also:
- wxAnyValueType, wxVariant, Caveats When Not Using C++ RTTI
List of all members.
Constructor & Destructor Documentation
Default constructor.
It seeds the object with a null value.
template<typename T >
wxAny::wxAny |
( |
const T & |
value |
) |
[inline] |
Constructs wxAny from data.
wxAny::wxAny |
( |
const wxAny & |
any |
) |
|
Member Function Documentation
template<typename T >
T wxAny::As |
( |
|
) |
const [inline] |
This template function converts wxAny into given type.
In most cases no type conversion is performed, so if the type is incorrect an assertion failure will occur.
This template function may not work properly with Visual C++ 6. For full compiler compatibility, please use wxANY_AS(any, T) macro instead.
template<typename T >
bool wxAny::CheckType |
( |
|
) |
const [inline] |
bool wxAny::GetAs |
( |
wxVariant * |
value |
) |
const |
Specialization of GetAs() that allows conversion of wxAny into wxVariant.
- Returns:
- Returns true if conversion was successful. Conversion usually only fails if variant used custom wxVariantData that did not implement the wxAny to wxVariant conversion functions.
template<typename T >
bool wxAny::GetAs |
( |
T * |
value |
) |
const [inline] |
Template function that retrieves and converts the value of this wxAny to the type that T* value is.
- Returns:
- Returns true if conversion was successful.
bool wxAny::HasSameType |
( |
const wxAny & |
other |
) |
const |
Returns true if this and another wxAny have the same value type.
bool wxAny::IsNull |
( |
|
) |
const |
Tests if wxAny is null (that is, whether there is no data).
Makes wxAny null (that is, clears it).
bool wxAny::operator!= |
( |
const wxString & |
value |
) |
const |
bool wxAny::operator!= |
( |
const wchar_t * |
value |
) |
const |
bool wxAny::operator!= |
( |
const char * |
value |
) |
const |
bool wxAny::operator!= |
( |
bool |
value |
) |
const |
bool wxAny::operator!= |
( |
double |
value |
) |
const |
bool wxAny::operator!= |
( |
float |
value |
) |
const |
bool wxAny::operator!= |
( |
wxULongLong_t |
value |
) |
const |
bool wxAny::operator!= |
( |
unsigned long |
value |
) |
const |
bool wxAny::operator!= |
( |
unsigned int |
value |
) |
const |
bool wxAny::operator!= |
( |
unsigned short |
value |
) |
const |
bool wxAny::operator!= |
( |
unsigned char |
value |
) |
const |
bool wxAny::operator!= |
( |
wxLongLong_t |
value |
) |
const |
bool wxAny::operator!= |
( |
signed long |
value |
) |
const |
bool wxAny::operator!= |
( |
signed int |
value |
) |
const |
bool wxAny::operator!= |
( |
signed short |
value |
) |
const |
bool wxAny::operator!= |
( |
signed char |
value |
) |
const |
template<typename T >
wxAny& wxAny::operator= |
( |
const T & |
value |
) |
[inline] |
bool wxAny::operator== |
( |
const wxString & |
value |
) |
const |
bool wxAny::operator== |
( |
const wchar_t * |
value |
) |
const |
bool wxAny::operator== |
( |
const char * |
value |
) |
const |
bool wxAny::operator== |
( |
bool |
value |
) |
const |
bool wxAny::operator== |
( |
double |
value |
) |
const |
bool wxAny::operator== |
( |
float |
value |
) |
const |
bool wxAny::operator== |
( |
wxULongLong_t |
value |
) |
const |
bool wxAny::operator== |
( |
unsigned long |
value |
) |
const |
bool wxAny::operator== |
( |
unsigned int |
value |
) |
const |
bool wxAny::operator== |
( |
unsigned short |
value |
) |
const |
bool wxAny::operator== |
( |
unsigned char |
value |
) |
const |
bool wxAny::operator== |
( |
wxLongLong_t |
value |
) |
const |
bool wxAny::operator== |
( |
signed long |
value |
) |
const |
bool wxAny::operator== |
( |
signed int |
value |
) |
const |
bool wxAny::operator== |
( |
signed short |
value |
) |
const |
bool wxAny::operator== |
( |
signed char |
value |
) |
const |