本文整理汇总了C++中value::get_type方法的典型用法代码示例。如果您正苦于以下问题:C++ value::get_type方法的具体用法?C++ value::get_type怎么用?C++ value::get_type使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类value
的用法示例。
在下文中一共展示了value::get_type方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CHECK
#include <adio/value.hpp>
#include <catch/catch.hpp>
using adio::value;
TEST_CASE("Null values")
{
value v;
auto b = v == nullptr;
CHECK(b);
auto b2 = v.get_type() == adio::type::null_t;
CHECK(b2);
CHECK(v == v);
CHECK_FALSE(v != v);
CHECK_FALSE(v < v);
CHECK(v <= v);
CHECK(v >= v);
CHECK_FALSE(v > v);
}
TEST_CASE("Integer values")
{
value v{value::integer{12}};
CHECK(v == 12);
CHECK(v < 14);
CHECK(v != 13);
CHECK(v > 9);
CHECK(v != "Dogs");
}
示例2: binary_operator
value::ptr_type value::binary_operator(const value& rhs, binary_op op) const
{
ASL_ASSERT(get_type() == rhs.get_type());
#define TEST_OP(in_type, out_type, symbol) \
if (is_##in_type() == true) \
{ \
value::ptr_type result = get_type().get_type_manager().create_value_##out_type(get_##in_type() symbol rhs.get_##in_type()); \
return (result); \
}
switch (op)
{
case OP_EQUAL:
{
TEST_OP(bool, bool, ==)
TEST_OP(uint, bool, ==)
break;
}
case OP_NOT_EQUAL:
{
TEST_OP(bool, bool, !=)
TEST_OP(uint, bool, !=)
break;
}
case OP_GREATER:
{
TEST_OP(uint, bool, >)
break;
}
case OP_GREATER_EQUAL:
{
TEST_OP(uint, bool, >=)
break;
}
case OP_LESSER:
{
TEST_OP(uint, bool, <)
break;
}
case OP_LESSER_EQUAL:
{
TEST_OP(uint, bool, <=)
break;
}
case OP_ADD:
{
TEST_OP(uint, uint, +)
break;
}
case OP_SUB:
{
TEST_OP(uint, uint, -)
break;
}
case OP_MUL:
{
TEST_OP(uint, uint, *)
break;
}
case OP_DIV:
{
TEST_OP(uint, uint, /)
break;
}
}
#undef TEST_OP
ASL_ASSERT(false);
return (NULL);
}