本文整理汇总了C++中pgsVariable类的典型用法代码示例。如果您正苦于以下问题:C++ pgsVariable类的具体用法?C++ pgsVariable怎么用?C++ pgsVariable使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了pgsVariable类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pgs_plus
pgsOperand pgsString::pgs_plus(const pgsVariable &rhs) const
{
if (rhs.is_string())
{
return pnew pgsString(m_data + rhs.value());
}
else
{
throw pgsArithmeticException(m_data, rhs.value());
}
}
示例2: pgs_different
pgsOperand pgsString::pgs_different(const pgsVariable &rhs) const
{
if (rhs.is_string())
{
return pnew pgsNumber(m_data != rhs.value() ? wxT("1") : wxT("0"));
}
else
{
throw pgsArithmeticException(m_data, rhs.value());
}
}
示例3: pgs_almost_equal
pgsOperand pgsString::pgs_almost_equal(const pgsVariable &rhs) const
{
if (rhs.is_string())
{
return pnew pgsNumber(m_data.CmpNoCase(rhs.value()) == 0
? wxT("1") : wxT("0"));
}
else
{
throw pgsArithmeticException(m_data, rhs.value());
}
}
示例4: pgs_different
pgsOperand pgsRecord::pgs_different(const pgsVariable &rhs) const
{
if (rhs.is_record())
{
const pgsRecord &rhs_op = dynamic_cast<const pgsRecord &>(rhs);
return pnew pgsNumber(*this != rhs_op ? wxT("1") : wxT("0"));
}
else
{
throw pgsArithmeticException(value(), rhs.value());
}
}
示例5: pgs_plus
pgsOperand pgsNumber::pgs_plus(const pgsVariable &rhs) const
{
if (rhs.is_number())
{
return pnew pgsNumber(pgsMapm::pgs_mapm_str(num(m_data)
+ num(rhs.value())), is_real() || rhs.is_real());
}
else
{
throw pgsArithmeticException(m_data, rhs.value());
}
}
示例6: pgs_greater_equal
pgsOperand pgsNumber::pgs_greater_equal(const pgsVariable &rhs) const
{
if (rhs.is_number())
{
return pnew pgsNumber(num(m_data) >= num(rhs.value())
? wxT("1") : wxT("0"));
}
else
{
throw pgsArithmeticException(m_data, rhs.value());
}
}
示例7: pgs_almost_equal
pgsOperand pgsRecord::pgs_almost_equal(const pgsVariable &rhs) const
{
if (rhs.is_record())
{
const pgsRecord &rhs_op = dynamic_cast<const pgsRecord &>(rhs);
return pnew pgsNumber(this->almost_equal(rhs_op) ? wxT("1") : wxT("0"));
}
else
{
throw pgsArithmeticException(value(), rhs.value());
}
}
示例8: pgs_over
pgsOperand pgsNumber::pgs_over(const pgsVariable &rhs) const
{
if (rhs.is_number())
{
if (num(rhs.value()) != 0)
{
if (is_real() || rhs.is_real())
return pnew pgsNumber(pgsMapm::pgs_mapm_str(num(m_data)
/ num(rhs.value())), is_real() || rhs.is_real());
else
return pnew pgsNumber(pgsMapm::pgs_mapm_str(num(m_data)
.div(num(rhs.value()))), is_real() || rhs.is_real());
}
else
{
throw pgsArithmeticException(m_data, rhs.value());
}
}
else
{
throw pgsArithmeticException(m_data, rhs.value());
}
}
示例9:
pgsOperand operator==(const pgsVariable &lhs, const pgsVariable &rhs)
{
return lhs.pgs_equal(rhs);
}
示例10: pgs_modulo
pgsOperand pgsRecord::pgs_modulo(const pgsVariable &rhs) const
{
throw pgsArithmeticException(value(), rhs.value());
}
示例11: pgs_modulo
pgsOperand pgsString::pgs_modulo(const pgsVariable &rhs) const
{
throw pgsArithmeticException(m_data, rhs.value());
}