MCPcopy Create free account
hub / github.com/catboost/catboost / ParseEnumValues

Function ParseEnumValues

tools/enum_parser/parse_enum/parse_enum.cpp:34–49  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32};
33
34static TVector<TString> ParseEnumValues(const TString& strValues) {
35 TVector<TString> result;
36
37 TValuesContext ctx;
38 TCppSaxParser parser(&ctx);
39 TMemoryInput in(strValues.data(), strValues.size());
40 TransferData(static_cast<IInputStream*>(&in), &parser);
41 parser.Finish();
42 for (const auto& value : ctx.Values) {
43 Y_ENSURE(value.size() >= 2, "Invalid C-style string. ");
44 TString dequoted = value.substr(1, value.size() - 2);
45 // TODO: support C-unescaping
46 result.push_back(dequoted);
47 }
48 return result;
49}
50
51/**
52 * Parse C++ fragment with one enum

Callers 1

DoMultiLineCommentMethod · 0.85

Calls 6

TransferDataFunction · 0.85
dataMethod · 0.45
sizeMethod · 0.45
FinishMethod · 0.45
substrMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected