VTK
9.0.3
|
A atomic type representing the union of many types. More...
#include <vtkVariant.h>
Public Member Functions | |
vtkVariant () | |
Create an invalid variant. More... | |
~vtkVariant () | |
Destruct the variant. More... | |
vtkVariant (const vtkVariant &other) | |
Copy constructor. More... | |
vtkVariant (bool value) | |
Create a bool variant. More... | |
vtkVariant (char value) | |
Create a char variant. More... | |
vtkVariant (unsigned char value) | |
Create an unsigned char variant. More... | |
vtkVariant (signed char value) | |
Create a signed char variant. More... | |
vtkVariant (short value) | |
Create a short variant. More... | |
vtkVariant (unsigned short value) | |
Create an unsigned short variant. More... | |
vtkVariant (int value) | |
Create an integer variant. More... | |
vtkVariant (unsigned int value) | |
Create an unsigned integer variant. More... | |
vtkVariant (long value) | |
Create an long variant. More... | |
vtkVariant (unsigned long value) | |
Create an unsigned long variant. More... | |
vtkVariant (long long value) | |
Create a long long variant. More... | |
vtkVariant (unsigned long long value) | |
Create an unsigned long long variant. More... | |
vtkVariant (float value) | |
Create a float variant. More... | |
vtkVariant (double value) | |
Create a double variant. More... | |
vtkVariant (const char *value) | |
Create a string variant from a const char*. More... | |
vtkVariant (vtkStdString value) | |
Create a string variant from a std string. More... | |
vtkVariant (const vtkUnicodeString &value) | |
Create a Unicode string variant. More... | |
vtkVariant (vtkObjectBase *value) | |
Create a vtkObjectBase variant. More... | |
vtkVariant (const vtkVariant &other, unsigned int type) | |
Create a variant of a specific type. More... | |
vtkVariant & | operator= (const vtkVariant &other) |
Copy the value of one variant into another. More... | |
bool | IsValid () const |
Get whether the variant value is valid. More... | |
bool | IsString () const |
Get whether the variant is a string. More... | |
bool | IsUnicodeString () const |
Get whether the variant is a Unicode string. More... | |
bool | IsNumeric () const |
Get whether the variant is any numeric type. More... | |
bool | IsFloat () const |
Get whether the variant is a float. More... | |
bool | IsDouble () const |
Get whether the variant is a double. More... | |
bool | IsChar () const |
Get whether the variant is an char. More... | |
bool | IsUnsignedChar () const |
Get whether the variant is an unsigned char. More... | |
bool | IsSignedChar () const |
Get whether the variant is an signed char. More... | |
bool | IsShort () const |
Get whether the variant is an short. More... | |
bool | IsUnsignedShort () const |
Get whether the variant is an unsigned short. More... | |
bool | IsInt () const |
Get whether the variant is an int. More... | |
bool | IsUnsignedInt () const |
Get whether the variant is an unsigned int. More... | |
bool | IsLong () const |
Get whether the variant is an long. More... | |
bool | IsUnsignedLong () const |
Get whether the variant is an unsigned long. More... | |
bool | Is__Int64 () const |
Legacy. More... | |
bool | IsUnsigned__Int64 () const |
Legacy. More... | |
bool | IsLongLong () const |
Get whether the variant is long long. More... | |
bool | IsUnsignedLongLong () const |
Get whether the variant is unsigned long long. More... | |
bool | IsVTKObject () const |
Get whether the variant is a VTK object pointer. More... | |
bool | IsArray () const |
Get whether the variant is a VTK array (i.e. More... | |
unsigned int | GetType () const |
Get the type of the variant. More... | |
const char * | GetTypeAsString () const |
Get the type of the variant as a string. More... | |
vtkStdString | ToString () const |
Convert the variant to a string. More... | |
vtkUnicodeString | ToUnicodeString () const |
convert the variant to a Unicode string. More... | |
float | ToFloat (bool *valid) const |
Convert the variant to a numeric type: If it holds a numeric, cast to the appropriate type. More... | |
float | ToFloat () const |
double | ToDouble (bool *valid) const |
double | ToDouble () const |
char | ToChar (bool *valid) const |
char | ToChar () const |
unsigned char | ToUnsignedChar (bool *valid) const |
unsigned char | ToUnsignedChar () const |
signed char | ToSignedChar (bool *valid) const |
signed char | ToSignedChar () const |
short | ToShort (bool *valid) const |
short | ToShort () const |
unsigned short | ToUnsignedShort (bool *valid) const |
unsigned short | ToUnsignedShort () const |
int | ToInt (bool *valid) const |
int | ToInt () const |
unsigned int | ToUnsignedInt (bool *valid) const |
unsigned int | ToUnsignedInt () const |
long | ToLong (bool *valid) const |
long | ToLong () const |
unsigned long | ToUnsignedLong (bool *valid) const |
unsigned long | ToUnsignedLong () const |
long long | ToLongLong (bool *valid) const |
long long | ToLongLong () const |
unsigned long long | ToUnsignedLongLong (bool *valid) const |
unsigned long long | ToUnsignedLongLong () const |
vtkTypeInt64 | ToTypeInt64 (bool *valid) const |
vtkTypeInt64 | ToTypeInt64 () const |
vtkTypeUInt64 | ToTypeUInt64 (bool *valid) const |
vtkTypeUInt64 | ToTypeUInt64 () const |
vtkObjectBase * | ToVTKObject () const |
Return the VTK object, or nullptr if not of that type. More... | |
vtkAbstractArray * | ToArray () const |
Return the array, or nullptr if not of that type. More... | |
bool | IsEqual (const vtkVariant &other) const |
Determines whether two variants have the same value. More... | |
bool | operator== (const vtkVariant &other) const |
Compare two variants for equality, greater than, and less than. More... | |
bool | operator!= (const vtkVariant &other) const |
bool | operator< (const vtkVariant &other) const |
bool | operator> (const vtkVariant &other) const |
bool | operator<= (const vtkVariant &other) const |
bool | operator>= (const vtkVariant &other) const |
Friends | |
struct | vtkVariantLessThan |
struct | vtkVariantEqual |
struct | vtkVariantStrictWeakOrder |
struct | vtkVariantStrictEquality |
VTKCOMMONCORE_EXPORT ostream & | operator<< (ostream &os, const vtkVariant &val) |
A atomic type representing the union of many types.
Definition at line 65 of file vtkVariant.h.
vtkVariant::vtkVariant | ( | ) |
Create an invalid variant.
vtkVariant::~vtkVariant | ( | ) |
Destruct the variant.
vtkVariant::vtkVariant | ( | const vtkVariant & | other | ) |
Copy constructor.
vtkVariant::vtkVariant | ( | bool | value | ) |
Create a bool variant.
Internally store it as char.
vtkVariant::vtkVariant | ( | char | value | ) |
Create a char variant.
vtkVariant::vtkVariant | ( | unsigned char | value | ) |
Create an unsigned char variant.
vtkVariant::vtkVariant | ( | signed char | value | ) |
Create a signed char variant.
vtkVariant::vtkVariant | ( | short | value | ) |
Create a short variant.
vtkVariant::vtkVariant | ( | unsigned short | value | ) |
Create an unsigned short variant.
vtkVariant::vtkVariant | ( | int | value | ) |
Create an integer variant.
vtkVariant::vtkVariant | ( | unsigned int | value | ) |
Create an unsigned integer variant.
vtkVariant::vtkVariant | ( | long | value | ) |
Create an long variant.
vtkVariant::vtkVariant | ( | unsigned long | value | ) |
Create an unsigned long variant.
vtkVariant::vtkVariant | ( | long long | value | ) |
Create a long long variant.
vtkVariant::vtkVariant | ( | unsigned long long | value | ) |
Create an unsigned long long variant.
vtkVariant::vtkVariant | ( | float | value | ) |
Create a float variant.
vtkVariant::vtkVariant | ( | double | value | ) |
Create a double variant.
vtkVariant::vtkVariant | ( | const char * | value | ) |
Create a string variant from a const char*.
vtkVariant::vtkVariant | ( | vtkStdString | value | ) |
Create a string variant from a std string.
vtkVariant::vtkVariant | ( | const vtkUnicodeString & | value | ) |
Create a Unicode string variant.
vtkVariant::vtkVariant | ( | vtkObjectBase * | value | ) |
Create a vtkObjectBase variant.
vtkVariant::vtkVariant | ( | const vtkVariant & | other, |
unsigned int | type | ||
) |
Create a variant of a specific type.
vtkVariant& vtkVariant::operator= | ( | const vtkVariant & | other | ) |
Copy the value of one variant into another.
bool vtkVariant::IsValid | ( | ) | const |
Get whether the variant value is valid.
bool vtkVariant::IsString | ( | ) | const |
Get whether the variant is a string.
bool vtkVariant::IsUnicodeString | ( | ) | const |
Get whether the variant is a Unicode string.
bool vtkVariant::IsNumeric | ( | ) | const |
Get whether the variant is any numeric type.
bool vtkVariant::IsFloat | ( | ) | const |
Get whether the variant is a float.
bool vtkVariant::IsDouble | ( | ) | const |
Get whether the variant is a double.
bool vtkVariant::IsChar | ( | ) | const |
Get whether the variant is an char.
bool vtkVariant::IsUnsignedChar | ( | ) | const |
Get whether the variant is an unsigned char.
bool vtkVariant::IsSignedChar | ( | ) | const |
Get whether the variant is an signed char.
bool vtkVariant::IsShort | ( | ) | const |
Get whether the variant is an short.
bool vtkVariant::IsUnsignedShort | ( | ) | const |
Get whether the variant is an unsigned short.
bool vtkVariant::IsInt | ( | ) | const |
Get whether the variant is an int.
bool vtkVariant::IsUnsignedInt | ( | ) | const |
Get whether the variant is an unsigned int.
bool vtkVariant::IsLong | ( | ) | const |
Get whether the variant is an long.
bool vtkVariant::IsUnsignedLong | ( | ) | const |
Get whether the variant is an unsigned long.
bool vtkVariant::Is__Int64 | ( | ) | const |
Legacy.
Returns false. The variant is never an __int64.
bool vtkVariant::IsUnsigned__Int64 | ( | ) | const |
Legacy.
Returns false. The variant is never an unsigned __int64.
bool vtkVariant::IsLongLong | ( | ) | const |
Get whether the variant is long long.
bool vtkVariant::IsUnsignedLongLong | ( | ) | const |
Get whether the variant is unsigned long long.
bool vtkVariant::IsVTKObject | ( | ) | const |
Get whether the variant is a VTK object pointer.
bool vtkVariant::IsArray | ( | ) | const |
Get whether the variant is a VTK array (i.e.
a subclass of vtkAbstractArray).
unsigned int vtkVariant::GetType | ( | ) | const |
Get the type of the variant.
const char* vtkVariant::GetTypeAsString | ( | ) | const |
Get the type of the variant as a string.
vtkStdString vtkVariant::ToString | ( | ) | const |
Convert the variant to a string.
vtkUnicodeString vtkVariant::ToUnicodeString | ( | ) | const |
convert the variant to a Unicode string.
float vtkVariant::ToFloat | ( | bool * | valid | ) | const |
Convert the variant to a numeric type: If it holds a numeric, cast to the appropriate type.
If it holds a string, attempt to convert the string to the appropriate type; set the valid flag to false when the conversion fails. If it holds an array type, cast the first value of the array to the appropriate type. Fail if it holds a VTK object which is not an array.
|
inline |
Definition at line 319 of file vtkVariant.h.
double vtkVariant::ToDouble | ( | bool * | valid | ) | const |
|
inline |
Definition at line 321 of file vtkVariant.h.
char vtkVariant::ToChar | ( | bool * | valid | ) | const |
|
inline |
Definition at line 323 of file vtkVariant.h.
unsigned char vtkVariant::ToUnsignedChar | ( | bool * | valid | ) | const |
|
inline |
Definition at line 325 of file vtkVariant.h.
signed char vtkVariant::ToSignedChar | ( | bool * | valid | ) | const |
|
inline |
Definition at line 327 of file vtkVariant.h.
short vtkVariant::ToShort | ( | bool * | valid | ) | const |
|
inline |
Definition at line 329 of file vtkVariant.h.
unsigned short vtkVariant::ToUnsignedShort | ( | bool * | valid | ) | const |
|
inline |
Definition at line 331 of file vtkVariant.h.
int vtkVariant::ToInt | ( | bool * | valid | ) | const |
|
inline |
Definition at line 333 of file vtkVariant.h.
unsigned int vtkVariant::ToUnsignedInt | ( | bool * | valid | ) | const |
|
inline |
Definition at line 335 of file vtkVariant.h.
long vtkVariant::ToLong | ( | bool * | valid | ) | const |
|
inline |
Definition at line 337 of file vtkVariant.h.
unsigned long vtkVariant::ToUnsignedLong | ( | bool * | valid | ) | const |
|
inline |
Definition at line 339 of file vtkVariant.h.
long long vtkVariant::ToLongLong | ( | bool * | valid | ) | const |
|
inline |
Definition at line 341 of file vtkVariant.h.
unsigned long long vtkVariant::ToUnsignedLongLong | ( | bool * | valid | ) | const |
|
inline |
Definition at line 343 of file vtkVariant.h.
vtkTypeInt64 vtkVariant::ToTypeInt64 | ( | bool * | valid | ) | const |
|
inline |
Definition at line 345 of file vtkVariant.h.
vtkTypeUInt64 vtkVariant::ToTypeUInt64 | ( | bool * | valid | ) | const |
|
inline |
Definition at line 347 of file vtkVariant.h.
vtkObjectBase* vtkVariant::ToVTKObject | ( | ) | const |
Return the VTK object, or nullptr if not of that type.
vtkAbstractArray* vtkVariant::ToArray | ( | ) | const |
Return the array, or nullptr if not of that type.
bool vtkVariant::IsEqual | ( | const vtkVariant & | other | ) | const |
Determines whether two variants have the same value.
They do not need to be storing exactly the same type to have the same value. In practice you don't need to use this method: just use operator== instead. If you want precise equality down to the bit level use the following idiom:
vtkVariantStrictEquality comparator; bool variantsEqual = comparator(firstVariant, secondVariant);
|
inline |
Compare two variants for equality, greater than, and less than.
These operators use the value represented by the variant instead of the particular type/bit pattern used to represent it. This behavior is similar to the default behavior in C and C++, including type promotion, with the following caveats:
This approach follows the principle of least surprise at the expense of speed. Casting integers to floating-point values is relatively slow. Casting numeric types to strings is very slow. If you prefer speed at the expense of counterintuitive behavior – for example, when using vtkVariants as keys in STL containers – you can use the functors described at the bottom of this file.
The actual definitions of these operators are in vtkVariantInlineOperators.cxx.
Definition at line 84 of file vtkVariantInlineOperators.h.
|
inline |
Definition at line 242 of file vtkVariantInlineOperators.h.
|
inline |
Definition at line 159 of file vtkVariantInlineOperators.h.
|
inline |
Definition at line 247 of file vtkVariantInlineOperators.h.
|
inline |
Definition at line 252 of file vtkVariantInlineOperators.h.
|
inline |
Definition at line 257 of file vtkVariantInlineOperators.h.
|
friend |
Definition at line 439 of file vtkVariant.h.
|
friend |
Definition at line 440 of file vtkVariant.h.
|
friend |
Definition at line 441 of file vtkVariant.h.
|
friend |
Definition at line 442 of file vtkVariant.h.
|
friend |
vtkStdString* vtkVariant::String |
Definition at line 418 of file vtkVariant.h.
vtkUnicodeString* vtkVariant::UnicodeString |
Definition at line 419 of file vtkVariant.h.
float vtkVariant::Float |
Definition at line 420 of file vtkVariant.h.
double vtkVariant::Double |
Definition at line 421 of file vtkVariant.h.
char vtkVariant::Char |
Definition at line 422 of file vtkVariant.h.
unsigned char vtkVariant::UnsignedChar |
Definition at line 423 of file vtkVariant.h.
signed char vtkVariant::SignedChar |
Definition at line 424 of file vtkVariant.h.
short vtkVariant::Short |
Definition at line 425 of file vtkVariant.h.
unsigned short vtkVariant::UnsignedShort |
Definition at line 426 of file vtkVariant.h.
int vtkVariant::Int |
Definition at line 427 of file vtkVariant.h.
unsigned int vtkVariant::UnsignedInt |
Definition at line 428 of file vtkVariant.h.
long vtkVariant::Long |
Definition at line 429 of file vtkVariant.h.
unsigned long vtkVariant::UnsignedLong |
Definition at line 430 of file vtkVariant.h.
long long vtkVariant::LongLong |
Definition at line 431 of file vtkVariant.h.
unsigned long long vtkVariant::UnsignedLongLong |
Definition at line 432 of file vtkVariant.h.
vtkObjectBase* vtkVariant::VTKObject |
Definition at line 433 of file vtkVariant.h.