本文整理汇总了C++中variant::convert方法的典型用法代码示例。如果您正苦于以下问题:C++ variant::convert方法的具体用法?C++ variant::convert怎么用?C++ variant::convert使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类variant
的用法示例。
在下文中一共展示了variant::convert方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: variant_compare_less
bool variant_compare_less(const variant& lhs, const type& lhs_type, const variant& rhs, const type& rhs_type)
{
if (lhs_type.is_arithmetic() && rhs_type.is_arithmetic())
{
if (is_floating_point(lhs_type) || is_floating_point(rhs_type))
return (lhs.to_double() < rhs.to_double());
else
return (lhs.to_int64() < rhs.to_int64());
}
else
{
variant lhs_tmp;
if (lhs.convert(rhs_type, lhs_tmp))
return lhs_tmp.compare_less(rhs);
if (!lhs.is_nullptr() && rhs.is_nullptr())
return false;
// as last try, do a string conversion
bool ok1 = false;
bool ok2 = false;
auto ret = (lhs.to_string(&ok1) < rhs.to_string(&ok2));
if (ok1 && ok2)
return ret;
else
return (lhs_type < rhs_type);
}
}