本文整理汇总了C++中Datum::Type方法的典型用法代码示例。如果您正苦于以下问题:C++ Datum::Type方法的具体用法?C++ Datum::Type怎么用?C++ Datum::Type使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Datum
的用法示例。
在下文中一共展示了Datum::Type方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GenerateCaseMap
void ActionListSwitch::GenerateCaseMap()
{
Datum& cases = Actions();
Datum::DatumType switchType = Datum::DatumType::UNKNOWN;
if (cases.Size() > 0)
{
delete mCaseMap;
mCaseMap = new Hashmap<Datum, ActionListSwitchCase*>(cases.Size());
Datum* conditionDatum = Search((*this)[ATTRIBUTE_SWITCH_VALUE].Get<std::string>());
if (conditionDatum == nullptr)
{
std::stringstream str;
str << "Undefined variable: " << (*this)[ATTRIBUTE_SWITCH_VALUE].Get<std::string>();
throw std::exception(str.str().c_str());
}
switchType = conditionDatum->Type();
}
for (uint32_t i = 0; i < cases.Size(); i++)
{
ActionListSwitchCase* switchCase = cases.Get<Scope>(i).As<ActionListSwitchCase>();
if (switchCase == nullptr)
continue;
if (switchCase->DefaultCase)
{
Adopt(ActionListSwitchCase::ATTRIBUTE_DEFAULT, *switchCase);
}
else
{
Datum d;
d.SetType(switchType);
d.SetFromString(switchCase->operator[](ActionListSwitchCase::ATTRIBUTE_CASE_VALUE).Get<std::string>());
mCaseMap->Insert(d, switchCase);
}
}
}