3#include "di/container/algorithm/minmax.h"
15 auto [s, e] = di::minmax({
start,
end });
26 auto b = other.normalize();
27 return a.start == b.start && a.end == other.end;
30 constexpr friend auto tag_invoke(di::Tag<di::reflect>, di::InPlaceType<Selection>) {
Represents the result of reflowing a RowGroup.
Definition reflow_result.h:22
auto map_position(AbsolutePosition position) const -> AbsolutePosition
Map a provided position into the new coordinate space.
Definition reflow_result.cpp:54
Definition absolute_position.h:6
Represents a coordinate anywhere in a screen, including scroll back.
Definition absolute_position.h:11
Represents the visual selection of a terminal.
Definition selection.h:9
constexpr auto normalize() const -> Selection
Normalize the selection so that start <= end.
Definition selection.h:14
constexpr friend auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< Selection >)
Definition selection.h:30
AbsolutePosition start
The start of the selection.
Definition selection.h:10
void apply_reflow_result(ReflowResult const &reflow_result)
Definition selection.h:19
constexpr auto operator==(Selection const &other) const -> bool
Definition selection.h:24
AbsolutePosition end
The end of the selection (inclusive)
Definition selection.h:11