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

Method Init

library/cpp/getopt/small/opt.cpp:19–44  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

17}
18
19void Opt::Init(int argc, char* argv[], const char* optString, const Ion* longOptions, bool longOnly, bool isOpen) {
20 Ions_ = longOptions;
21 Err = true;
22 GotError_ = false;
23 Ind = argc;
24
25 Opts_.Reset(new TOptsNoDefault(optString));
26 for (const Ion* o = longOptions; o != nullptr && o->name != nullptr; ++o) {
27 TOpt* opt;
28 if ((unsigned)o->val < 0x80 && isalnum(o->val)) {
29 opt = &Opts_->CharOption(char(o->val));
30 opt->AddLongName(o->name);
31 } else {
32 Opts_->AddLongOption(o->name);
33 opt = const_cast<TOpt*>(&Opts_->GetLongOption(o->name));
34 }
35 opt->HasArg_ = EHasArg(o->has_arg);
36 opt->UserValue(o);
37 }
38 Opts_->AllowSingleDashForLong_ = longOnly;
39 Opts_->AllowPlusForLong_ = true;
40 Opts_->AllowUnknownCharOptions_ = isOpen;
41 Opts_->AllowUnknownLongOptions_ = false;
42
43 OptsParser_.Reset(new TOptsParser(Opts_.Get(), argc, argv));
44}
45
46Opt::Opt(int argc, char* argv[], const char* optString, const Ion* longOptions, bool longOnly, bool isOpen) {
47 Init(argc, argv, optString, longOptions, longOnly, isOpen);

Callers

nothing calls this directly

Calls 4

EHasArgEnum · 0.85
UserValueMethod · 0.80
ResetMethod · 0.45
GetMethod · 0.45

Tested by

no test coverage detected