The idea is to have a range class similar to KTextEditor::Range but without column support. A LineRange simply is defined by a tuple of a start line and an end line. The API matches 1:1 the one of KTextEditor::Range but without column support.
Many locations in KTextEditor require only a start line and an end line, like tagging dirty lines for a repaint. The intention of this class is to have a better semantic of LineRanges throughout our code.
Since the class KTextEditor::LineRange is defined by two ints, it has in total 8 bytes in memory and therefore can safely be passed by value without performance issues.
For easy conversion, KTextEditor::Range::toLineRange() can be used to convert a Range to a LineRange. The same holds for a MovingRange.