Functionalities for detecting whether a line is in one of the stored line ranges (or in the context of a range). More...
< RangeElemType, RangeElemType >
|typedef std::set< RangeType >||LineRangeSet|
|LineRanges (unsigned int contextLines=0)|
|RangeError||addRange (const std::string &range)|
|Adds a range to the set. |
|const LineRangeSet &||getLineRangeSet () const|
|The next isInRange search will start from the first element of the set. |
|RangeResult||isInRange (const RangeElemType e)|
|Checks whether the passed element is in a range of this set. |
|void||setContextLines (unsigned int context)|
|whether to perform the search from the first element of the set |
|The current range for performing the search of isInRange. |
|The number of lines making the context (i.e., the number of lines that are not part of a range but are in the specified line number context) |
Functionalities for detecting whether a line is in one of the stored line ranges (or in the context of a range).
This also performs some optimization: ranges are stored in a set in ascending order; if we have ranges, e.g., 1-20, 50-70, 100-200, and we check whether 23 is in range, we first check if it's in 1-20, then, since it's not there, we check whether it's in 50-70; it is not, and since the range is 50-70 it makes no sense searching for it in other ranges. The next search will start from range 50-70, since we assume that line numbers are always increasing.
Adds a range to the set.
The argument can be:
|range||the string representing the range.|
Checks whether the passed element is in a range of this set.
If it's not in the range it might be in the surrounding context.
The next isInRange search will start from the first element of the set.
This should be called before searching for lines of a file, that we started to process.