В общем, всякий раз, когда вы представляете диапазон любого типа, у вас есть несколько вариантов выбора значений для начала и конца диапазона. Например, если вы хотите иметь диапазон, содержащий целые числа 1, 2, 3, 4, 5, вы можете выбрать следующие возможные значения:
- begin = 0, end = 5 (aka begin < x <= end)
- begin = 1, end = 5 (aka begin <= x <= end)
- begin = 0, end = 6 (aka begin < x < end)
- begin = 1, end = 6 (aka begin <= x < end (похоже, это выбирает С++ STL и многие другие библиотеки)).
Я не уверен, какие меры я должен использовать, чтобы выбрать один из этих вариантов.