Next: , Up: C++ Location Values   [Contents][Index]


10.1.5.1 C++ position

Type of position: filename_type

The base type for file names. Defaults to const std::string. See api.filename.type, to change its definition.

Type of position: counter_type

The type used to store line and column numbers. Defined as int.

Constructor on position: position (filename_type* file = nullptr, counter_type line = 1, counter_type 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 (filename_type* file = nullptr, counter_type line = 1, counter_type col = 1)

Reset the position to the given values.

Instance Variable of position: filename_type* file

The name of the file. It will always be handled as a pointer, the parser will never duplicate nor deallocate it.

Instance Variable of position: counter_type line

The line, starting at 1.

Method on position: void lines (counter_type height = 1)

If height is not null, advance by height lines, resetting the column number. The resulting line number cannot be less than 1.

Instance Variable of position: counter_type column

The column, starting at 1.

Method on position: void columns (counter_type width = 1)

Advance by width columns, without changing the line number. The resulting column number cannot be less than 1.

Method on position: position& operator+= (counter_type width)
Method on position: position operator+ (counter_type width)
Method on position: position& operator-= (counter_type width)
Method on position: position operator- (counter_type 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.


Next: C++ location, Up: C++ Location Values   [Contents][Index]