本文整理汇总了C++中type::Ptr::is_primitive方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::is_primitive方法的具体用法?C++ Ptr::is_primitive怎么用?C++ Ptr::is_primitive使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类type::Ptr
的用法示例。
在下文中一共展示了Ptr::is_primitive方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: operator
void CCodeGenerator::operator()(Call* expr) {
// The call expression may actually be a native operator, so check the type
// first.
if (expr->arguments()) {
Type::Ptr type = expr->arguments()->type();
String::Ptr id = expr->function()->name();
if (id->string()[0] == '@' && type->is_primitive()) {
native_operator(expr);
return;
}
}
call(expr->function(), expr->arguments());
}
示例2: scope_cleanup
void CCodeGenerator::scope_cleanup(Variable* var) {
// Emits the code to clean up the stack when exiting a block. This
// includes decrementing reference counts, and calling destructors for
// value types.
Type::Ptr type = var->type();
if (type && !type->is_primitive()) {
if (type->is_value()) {
assert(!"Need to figure out how to do value types");
// Call destructor
} else {
// Emit a branch to check the variable's reference count and free
// it if necessary.
refcount_dec(Operand(var->name()));
}
}
}