from dataclasses import dataclass @dataclass class Buffer: content: str @property def min_pos(self) -> int: return 0 @property def max_pos(self) -> int: return len(self.content) def valid_pos(self, pos : int) -> bool: return self.min_pos <= pos < self.max_pos