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();