Put(that, at, count);
}
TokenSequence(TokenSequence &&that)
- : start_{std::move(that.start_)},
- nextStart_{that.nextStart_}, char_{std::move(that.char_)},
- provenances_{std::move(that.provenances_)} {}
+ : start_{std::move(that.start_)}, nextStart_{that.nextStart_},
+ char_{std::move(that.char_)}, provenances_{std::move(that.provenances_)} {
+ }
TokenSequence(const std::string &s) { Put(s, 0); } // TODO predefined prov.
TokenSequence &operator=(const TokenSequence &that) {
if (p >= limit_) {
return false;
}
- column_ = 1;
+ int column{1};
for (; *p == ' ' || *p == '\t'; ++p) {
- ++column_;
+ ++column;
}
if (*p == '&') {
++p;
- ++column_;
+ ++column;
} else if (ampersand || delimiterNesting_ > 0) {
if (p > lineStart_) {
--p;
- --column_;
+ --column;
}
} else {
return false; // not a continuation
}
at_ = p;
+ column_ = column;
tabInCurrentLine_ = false;
++newlineDebt_;
NextLine();
private:
void BeginSourceLine(const char *at) {
at_ = at;
+ column_ = 1;
tabInCurrentLine_ = false;
preventHollerith_ = false;
delimiterNesting_ = 0;
std::pair<int, int> pos{
inc.source.FindOffsetLineAndColumn(at - origin.start)};
o << prefix << "at line " << pos.first << ", column "
- << pos.second << " in the file " << inc.source.path() << '\n';
+ << pos.second << " in the file " << inc.source.path()
+ << '\n';
if (origin.replaces.bytes > 0) {
o << prefix << " that was included\n";
Identify(o, origin.replaces.start, indented);