106 scoped_variant.
Set(CreateAndPopulateSafearray<VT_BOOL>());
109 scoped_variant.
Set(CreateAndPopulateSafearray<VT_I1>());
112 scoped_variant.
Set(CreateAndPopulateSafearray<VT_UI1>());
115 scoped_variant.
Set(CreateAndPopulateSafearray<VT_I2>());
118 scoped_variant.
Set(CreateAndPopulateSafearray<VT_UI2>());
121 scoped_variant.
Set(CreateAndPopulateSafearray<VT_I4>());
124 scoped_variant.
Set(CreateAndPopulateSafearray<VT_UI4>());
127 scoped_variant.
Set(CreateAndPopulateSafearray<VT_I8>());
130 scoped_variant.
Set(CreateAndPopulateSafearray<VT_UI8>());
133 scoped_variant.
Set(CreateAndPopulateSafearray<VT_R4>());
136 scoped_variant.
Set(CreateAndPopulateSafearray<VT_R8>());
139 scoped_variant.
Set(CreateAndPopulateSafearray<VT_DATE>());
142 scoped_variant.
Set(CreateAndPopulateSafearray<VT_BSTR>());
145 scoped_variant.
Set(CreateAndPopulateSafearray<VT_DISPATCH>());
148 scoped_variant.
Set(CreateAndPopulateSafearray<VT_UNKNOWN>());
168 return scoped_variant.
Release();
220 VARTYPE safearray_vartype;
223 if (
FAILED(SafeArrayGetVartype(safearray, &safearray_vartype)))
227 if (
Type() != safearray_vartype)
228 return (
Type() < safearray_vartype) ? (-1) : 1;
231 int compare_result = 0;
234 compare_result = CompareAgainstSafearray<VT_BOOL>(
235 vector_, scoped_safearray, ignore_case);
238 compare_result = CompareAgainstSafearray<VT_I1>(vector_, scoped_safearray,
242 compare_result = CompareAgainstSafearray<VT_UI1>(
243 vector_, scoped_safearray, ignore_case);
246 compare_result = CompareAgainstSafearray<VT_I2>(vector_, scoped_safearray,
250 compare_result = CompareAgainstSafearray<VT_UI2>(
251 vector_, scoped_safearray, ignore_case);
254 compare_result = CompareAgainstSafearray<VT_I4>(vector_, scoped_safearray,
258 compare_result = CompareAgainstSafearray<VT_UI4>(
259 vector_, scoped_safearray, ignore_case);
262 compare_result = CompareAgainstSafearray<VT_I8>(vector_, scoped_safearray,
266 compare_result = CompareAgainstSafearray<VT_UI8>(
267 vector_, scoped_safearray, ignore_case);
270 compare_result = CompareAgainstSafearray<VT_R4>(vector_, scoped_safearray,
274 compare_result = CompareAgainstSafearray<VT_R8>(vector_, scoped_safearray,
278 compare_result = CompareAgainstSafearray<VT_DATE>(
279 vector_, scoped_safearray, ignore_case);
282 compare_result = CompareAgainstSafearray<VT_BSTR>(
283 vector_, scoped_safearray, ignore_case);
286 compare_result = CompareAgainstSafearray<VT_DISPATCH>(
287 vector_, scoped_safearray, ignore_case);
290 compare_result = CompareAgainstSafearray<VT_UNKNOWN>(
291 vector_, scoped_safearray, ignore_case);
311 return compare_result;