本文整理汇总了C++中VRefParam::set方法的典型用法代码示例。如果您正苦于以下问题:C++ VRefParam::set方法的具体用法?C++ VRefParam::set怎么用?C++ VRefParam::set使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VRefParam
的用法示例。
在下文中一共展示了VRefParam::set方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: t_getmultibykey
Variant c_Memcached::t_getmultibykey(CStrRef server_key, CArrRef keys,
VRefParam cas_tokens /*= null_variant*/,
int flags /*= 0*/) {
INSTANCE_METHOD_INJECTION_BUILTIN(Memcached, Memcached::getmultibykey);
m_impl->rescode = q_Memcached_RES_SUCCESS;
bool preserveOrder = flags & q_Memcached_GET_PRESERVE_ORDER;
Array returnValue;
if (!getMultiImpl(server_key, keys, cas_tokens.isReferenced(),
preserveOrder ? &returnValue : NULL)) {
return false;
}
if (cas_tokens.isReferenced()) cas_tokens = Array();
MemcachedResultWrapper result(&m_impl->memcached);
memcached_return status;
while (memcached_fetch_result(&m_impl->memcached, &result.value, &status)) {
Variant value;
if (!toObject(value, result.value)) {
m_impl->rescode = q_Memcached_RES_PAYLOAD_FAILURE;
return false;
}
const char *key = memcached_result_key_value(&result.value);
size_t keyLength = memcached_result_key_length(&result.value);
String sKey(key, keyLength, CopyString);
returnValue.set(sKey, value, true);
if (cas_tokens.isReferenced()) {
double cas = (double) memcached_result_cas(&result.value);
cas_tokens->set(sKey, cas, true);
}
}
if (status != MEMCACHED_END && !handleError(status)) return false;
return returnValue;
}