22 #ifndef __vtkVariantExtract_h
23 #define __vtkVariantExtract_h
38 vtkGenericWarningMacro(
39 <<
"Cannot convert vtkVariant containing [" << value.
GetTypeAsString() <<
"] "
40 <<
"to unsupported type [" <<
typeid(T).name() <<
"]. "
41 <<
"Create a vtkVariantExtract<> specialization to eliminate this warning."
53 valid = value.IsChar();
54 return valid ? value.ToChar() : 0;
60 valid = value.IsUnsignedChar();
61 return valid ? value.ToUnsignedChar() : 0;
67 valid = value.IsShort();
68 return valid ? value.ToShort() : 0;
74 valid = value.IsUnsignedShort();
75 return valid ? value.ToUnsignedShort() : 0;
81 valid = value.IsInt();
82 return valid ? value.ToInt() : 0;
88 valid = value.IsUnsignedInt();
89 return valid ? value.ToUnsignedInt() : 0;
95 valid = value.IsLong();
96 return valid ? value.ToLong() : 0;
102 valid = value.IsUnsignedLong();
103 return valid ? value.ToUnsignedLong() : 0;
106 #ifdef VTK_TYPE_USE___INT64
109 inline __int64 vtkVariantExtract<__int64>(
const vtkVariant& value,
bool& valid)
111 valid = value.Is__Int64();
112 return valid ? value.To__Int64() : 0;
116 inline unsigned __int64 vtkVariantExtract<unsigned __int64>(
const vtkVariant& value,
bool& valid)
118 valid = value.IsUnsigned__Int64();
119 return valid ? value.ToUnsigned__Int64() : 0;
125 #ifdef VTK_TYPE_USE_LONG_LONG
128 inline long long vtkVariantExtract<long long>(
const vtkVariant& value,
bool& valid)
130 valid = value.IsLongLong();
131 return valid ? value.ToLongLong() : 0;
135 inline unsigned long long vtkVariantExtract<unsigned long long>(
const vtkVariant& value,
bool& valid)
137 valid = value.IsUnsignedLongLong();
138 return valid ? value.ToUnsignedLongLong() : 0;
146 valid = value.IsFloat();
147 return valid ? value.ToFloat() : 0.0f;
153 valid = value.IsDouble();
154 return valid ? value.ToDouble() : 0.0;
160 valid = value.IsString();
167 valid = value.IsUnicodeString();
Wrapper around vtkstd::string to keep symbols short.
A atomic type representing the union of many types.
const char * GetTypeAsString() const
String class that stores Unicode text.