本文整理汇总了C++中SharedValue::GetType方法的典型用法代码示例。如果您正苦于以下问题:C++ SharedValue::GetType方法的具体用法?C++ SharedValue::GetType怎么用?C++ SharedValue::GetType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SharedValue
的用法示例。
在下文中一共展示了SharedValue::GetType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetNS
void KObject::SetNS(const char *name, SharedValue value)
{
std::vector<std::string> tokens;
FileUtils::Tokenize(std::string(name), tokens, ".");
KObject *scope = this;
for (size_t i = 0; i < tokens.size() - 1; i++)
{
const char* token = tokens[i].c_str();
StaticBoundObject *next;
SharedValue next_val = scope->Get(token);
if (next_val->IsUndefined())
{
next = new StaticBoundObject();
SharedKObject so = next;
next_val = Value::NewObject(so);
scope->Set(token, next_val);
scope = next;
}
else if (!next_val->IsObject()
&& !next_val->IsMethod()
&& !next_val->IsList())
{
std::cerr << "invalid namespace for " << name << ", token: " << token << " was " << next_val->GetType() << std::endl;
throw Value::NewString("Invalid namespace on setNS");
}
else
{
scope = next_val->ToObject().get();
}
}
const char *prop_name = tokens[tokens.size()-1].c_str();
scope->Set(prop_name, value);
#ifdef DEBUG_BINDING
std::cout << "BOUND: " << value->GetType() << " to: " << name << std::endl;
#endif
}