10.1.3.1 C++ position
— Constructor on position:
position (
std::string* file = 0, uint line = 1, uint col = 1)
Create a position
denoting a given point. Note that file
is
not reclaimed when the position
is destroyed: memory managed must be
handled elsewhere.
— Method on position: void
initialize (
std::string* file = 0, uint line = 1, uint col = 1)
Reset the position to the given values.
— Instance Variable of position: std::string*
file
The name of the file. It will always be handled as a pointer, the
parser will never duplicate nor deallocate it. As an experimental
feature you may change it to ‘type*’ using ‘%define
filename_type "type"’.
— Instance Variable of position: uint
line
The line, starting at 1.
— Method on position: uint
lines (
int height = 1)
Advance by height lines, resetting the column number.
— Instance Variable of position: uint
column
The column, starting at 1.
— Method on position: uint
columns (
int width = 1)
Advance by width columns, without changing the line number.
— Method on position: position&
operator+= (
int width)
— Method on position: position
operator+ (
int width)
— Method on position: position&
operator-= (
int width)
— Method on position: position
operator- (
int width)
Various forms of syntactic sugar for columns
.
— Method on position: bool
operator== (
const position& that)
— Method on position: bool
operator!= (
const position& that)
Whether *this
and that
denote equal/different positions.
— Function: std::ostream&
operator<< (
std::ostream& o, const position& p)
Report p on o like this:
‘file:line.column’, or
‘line.column’ if file is null.