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

Function ParseOptions

tools/triecompiler/lib/main.cpp:51–146  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49} // namespace
50
51static TOptions ParseOptions(const int argc, const char* argv[]) {
52 TOptions options;
53 auto parser = NLastGetopt::TOpts::Default();
54 parser
55 .AddLongOption('t', "type")
56 .DefaultValue("ui64")
57 .RequiredArgument("TYPE")
58 .StoreResult(&options.ValueType)
59 .Help("type of value or array element, possible: ui16, i16, ui32, i32, ui64, i64, float, double, bool,"
60 " TString, TUtf16String (utf-8 in input)");
61 parser
62 .AddCharOption('0')
63 .NoArgument()
64 .SetFlag(&options.NoValues)
65 .Help("Do not store values to produce TCompactTrieSet compatible binary");
66 parser
67 .AddLongOption('a', "array")
68 .NoArgument()
69 .SetFlag(&options.Vector)
70 .Help("Values are arrays (of some type, depending on -t flag). Input looks like"
71 " 'key <TAB> value1 <TAB> .. <TAB> valueN' (N may differ from line to line)");
72 parser
73 .AddCharOption('S')
74 .RequiredArgument("INT")
75 .StoreResult(&options.ArraySize)
76 .Help("Values are fixed size not packed (!) arrays, may used for mapping classes/structs"
77 " with monotyped fields");
78 parser
79 .AddLongOption('e', "allow-empty")
80 .NoArgument()
81 .SetFlag(&options.AllowEmptyKey)
82 .Help("Allow empty key");
83 parser
84 .AddLongOption('i', "input")
85 .DefaultValue("-")
86 .RequiredArgument("FILE")
87 .StoreResult(&options.Infile)
88 .Help("Input file");
89 parser
90 .AddLongOption('m', "minimize")
91 .NoArgument()
92 .SetFlag(&options.Minimized)
93 .Help("Minimize tree into a DAG");
94 parser
95 .AddLongOption('f', "fast-layout")
96 .NoArgument()
97 .SetFlag(&options.FastLayout)
98 .Help("Make fast layout");
99 parser
100 .AddLongOption('v', "verbose")
101 .NoArgument()
102 .Help("Be verbose - show progress & stats");
103 parser
104 .AddLongOption('s', "prefix-grouped")
105 .NoArgument()
106 .Help("Assume input is prefix-grouped by key (for every prefix all keys with this prefix"
107 " come in one group; greatly reduces memory usage)");
108 parser

Callers 1

MainFunction · 0.70

Calls 8

DefaultFunction · 0.85
SetFreeArgsNumMethod · 0.80
SetFreeArgTitleMethod · 0.80
HelpMethod · 0.45
DefaultValueMethod · 0.45
frontMethod · 0.45
GetFreeArgsMethod · 0.45
HasMethod · 0.45

Tested by

no test coverage detected