27 explicit ParserPosition(
const std::string* f =
nullptr, uint32_t l = 0, uint32_t c = 0)
30 inline void initialize(
const std::string* fn =
nullptr, uint32_t l = 0, uint32_t c = 0) {
41 inline void lines(uint32_t count = 1) {
111 inline void initialize(
const std::string* f =
nullptr, uint32_t l = 0, uint32_t c = 0) {
128 inline void lines(uint32_t count = 1) {
148 os <<
'-' << loc.
end.
line <<
'.' << end_col;
150 os <<
'-' << end_col;
std::ostream & operator<<(std::ostream &os, const ParserPosition &pos)
Definition ParserPosition.h:67
ParserPosition & operator+=(ParserPosition &lhs, uint32_t rhs)
Definition ParserPosition.h:58
ParserPosition operator+(ParserPosition lhs, uint32_t rhs)
Definition ParserPosition.h:63
Represents a range in a source file, from a start position to an end position.
Definition ParserPosition.h:79
void step()
Reset initial position to the end position.
Definition ParserPosition.h:120
ParserPosition begin
Definition ParserPosition.h:80
void initialize(const std::string *f=nullptr, uint32_t l=0, uint32_t c=0)
Definition ParserPosition.h:111
ParserLocation(const ParserPosition &b, const ParserPosition &e)
Construct location from 'begin' to 'end' positions.
Definition ParserPosition.h:89
ParserLocation(const ParserPosition &p=ParserPosition())
Construct a 0-width location at position 'p'.
Definition ParserPosition.h:97
void columns(uint32_t count=1)
Definition ParserPosition.h:124
ParserPosition end
Definition ParserPosition.h:81
ParserLocation(const std::string *f, uint32_t l=0, uint32_t c=0)
Construct a 0-width location at file 'f', line 'l', column 'c'.
Definition ParserPosition.h:108
void lines(uint32_t count=1)
Definition ParserPosition.h:128
Represents a single point in a source file.
Definition ParserPosition.h:22
void initialize(const std::string *fn=nullptr, uint32_t l=0, uint32_t c=0)
Definition ParserPosition.h:30
uint32_t column
Definition ParserPosition.h:25
const std::string * filename
Definition ParserPosition.h:23
uint32_t line
Definition ParserPosition.h:24
ParserPosition(const std::string *f=nullptr, uint32_t l=0, uint32_t c=0)
Definition ParserPosition.h:27
void lines(uint32_t count=1)
Increment the line number by count, resetting the column to 0.
Definition ParserPosition.h:41
void columns(uint32_t count=1)
Increment the column number by count.
Definition ParserPosition.h:53