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

Method CommitEndOfOptions

library/cpp/getopt/small/last_getopt_parser.cpp:60–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

58 }
59
60 bool TOptsParser::CommitEndOfOptions(size_t pos) {
61 Pos_ = pos;
62 Sop_ = 0;
63 Y_ASSERT(!CurOpt());
64 Y_ASSERT(!CurVal());
65
66 Y_ASSERT(!Stopped_);
67
68 if (Opts_->FreeArgsMin_ == Opts_->FreeArgsMax_ && Argc_ - Pos_ != Opts_->FreeArgsMin_)
69 throw TUsageException() << "required exactly " << Opts_->FreeArgsMin_ << " free args";
70 else if (Argc_ - Pos_ < Opts_->FreeArgsMin_)
71 throw TUsageException() << "required at least " << Opts_->FreeArgsMin_ << " free args";
72 else if (Argc_ - Pos_ > Opts_->FreeArgsMax_)
73 throw TUsageException() << "required at most " << Opts_->FreeArgsMax_ << " free args";
74
75 return false;
76 }
77
78 bool TOptsParser::ParseUnknownShortOptWithinArg(size_t pos, size_t sop) {
79 Y_ASSERT(pos < Argc_);

Callers

nothing calls this directly

Calls 1

TUsageExceptionClass · 0.85

Tested by

no test coverage detected