本文整理汇总了C++中dynamic::isString方法的典型用法代码示例。如果您正苦于以下问题:C++ dynamic::isString方法的具体用法?C++ dynamic::isString怎么用?C++ dynamic::isString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dynamic
的用法示例。
在下文中一共展示了dynamic::isString方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: makeError
Optional<SchemaError> validate(ValidationContext&,
const dynamic& value) const override {
if (!value.isString() || regex_.empty()) {
return none;
}
if (!boost::regex_search(value.getString().toStdString(), regex_)) {
return makeError("string matching regex", value);
}
return none;
}
示例2: TypeValidator
explicit TypeValidator(const dynamic& schema) {
if (schema.isString()) {
addType(schema.stringPiece());
} else if (schema.isArray()) {
for (const auto& item : schema) {
if (item.isString()) {
addType(item.stringPiece());
}
}
}
}
示例3: parseValue
int64_t CrontabSelector::parseValue(
const dynamic& d,
function<int64_t(const string& lc_str)> str_to_value) {
int64_t res;
if (d.isInt()) {
res = d.asInt();
} else if (d.isString()) {
auto s = d.asString();
if (str_to_value == nullptr) {
throw runtime_error("Cannot parse string " + s);
}
transform(s.begin(), s.end(), s.begin(), ::tolower);
res = str_to_value(s);
} else {
throw runtime_error(format("Cannot parse {}", folly::toJson(d)).str());
}
if (res < minVal_ || res > maxVal_) {
throw runtime_error(format(
"Value {} out of range [{}, {}]", res, minVal_, maxVal_
).str());
}
return res;
}
示例4: StringPatternValidator
explicit StringPatternValidator(const dynamic& schema) {
if (schema.isString()) {
regex_ = boost::regex(schema.getString().toStdString());
}
}