本文整理汇总了C++中Flag::is_writeable方法的典型用法代码示例。如果您正苦于以下问题:C++ Flag::is_writeable方法的具体用法?C++ Flag::is_writeable怎么用?C++ Flag::is_writeable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Flag
的用法示例。
在下文中一共展示了Flag::is_writeable方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: set_flag
// Implementation of "setflag" command
static jint set_flag(AttachOperation* op, outputStream* out) {
const char* name = NULL;
if ((name = op->arg(0)) == NULL) {
out->print_cr("flag name is missing");
return JNI_ERR;
}
Flag* f = Flag::find_flag((char*)name, strlen(name));
if (f && f->is_external() && f->is_writeable()) {
if (f->is_bool()) {
return set_bool_flag(name, op, out);
} else if (f->is_intx()) {
return set_intx_flag(name, op, out);
} else if (f->is_uintx()) {
return set_uintx_flag(name, op, out);
} else if (f->is_uint64_t()) {
return set_uint64_t_flag(name, op, out);
} else if (f->is_ccstr()) {
return set_ccstr_flag(name, op, out);
} else {
ShouldNotReachHere();
return JNI_ERR;
}
} else {
return AttachListener::pd_set_flag(op, out);
}
}
示例2: set_flag
// a writeable flag setter accepting either 'jvalue' or 'char *' values
int WriteableFlags::set_flag(const char* name, const void* value, int(*setter)(Flag*,const void*,Flag::Flags,FormatBuffer<80>&), Flag::Flags origin, FormatBuffer<80>& err_msg) {
if (name == NULL) {
err_msg.print("flag name is missing");
return MISSING_NAME;
}
if (value == NULL) {
err_msg.print("flag value is missing");
return MISSING_VALUE;
}
Flag* f = Flag::find_flag((char*)name, strlen(name));
if (f) {
// only writeable flags are allowed to be set
if (f->is_writeable()) {
return setter(f, value, origin, err_msg);
} else {
err_msg.print("only 'writeable' flags can be set");
return NON_WRITABLE;
}
}
err_msg.print("flag %s does not exist", name);
return INVALID_FLAG;
}