Versions in this module Expand all Collapse all v1 v1.0.2 Sep 17, 2025 v1.0.1 Sep 17, 2025 Changes in this version type Range + func Invalid[C Comparable]() Range[C] v1.0.0 Sep 16, 2025 Changes in this version + var ErrRangeSideUnbounded = errors.New("range unbounded on this side") + var ErrUnboundedCut = errors.New("unbounded cut") + var ErrWrongBoundType = errors.New("unknown bound type") + type BoundType int + const CLOSED + const OPEN + const Unbounded + type Comparable interface + type Cut struct + func NewAboveAll[C Comparable]() Cut[C] + func NewAboveValue[C Comparable](value C) Cut[C] + func NewBelowAll[C Comparable]() Cut[C] + func NewBelowValue[C Comparable](value C) Cut[C] + func (c Cut[C]) Compare(other Cut[C]) int + func (c Cut[C]) DescribeAsLowerBound() string + func (c Cut[C]) DescribeAsUpperBound() string + func (c Cut[C]) Endpoint() (endpoint C, err error) + func (c Cut[C]) Equal(other Cut[C]) bool + func (c Cut[C]) IsLessThan(value C) bool + func (c Cut[C]) TypeAsLowerBound() (BoundType, error) + func (c Cut[C]) TypeAsUpperBound() (BoundType, error) + type CutType int + const AboveAll + const AboveValue + const BelowAll + const BelowValue + type Range struct + func All[C Comparable]() Range[C] + func AtLeast[C Comparable](lower C) Range[C] + func AtMost[C Comparable](upper C) Range[C] + func ClosedE[C Comparable](lower, upper C) (Range[C], error) + func ClosedOpenE[C Comparable](lower, upper C) (Range[C], error) + func ClosedOpen[C Comparable](lower, upper C) Range[C] + func Closed[C Comparable](lower, upper C) Range[C] + func DownTo[C Comparable](endpoint C, boundType BoundType) (Range[C], error) + func GreaterThan[C Comparable](lower C) Range[C] + func LessThan[C Comparable](upper C) Range[C] + func NewE[C Comparable](lower C, lowerType BoundType, upper C, upperType BoundType) (Range[C], error) + func New[C Comparable](lower C, lowerType BoundType, upper C, upperType BoundType) Range[C] + func OpenClosedE[C Comparable](lower, upper C) (Range[C], error) + func OpenClosed[C Comparable](lower, upper C) Range[C] + func OpenE[C Comparable](lower, upper C) (Range[C], error) + func Open[C Comparable](lower, upper C) Range[C] + func Singleton[C Comparable](value C) Range[C] + func UpTo[C Comparable](endpoint C, boundType BoundType) (Range[C], error) + func (r Range[C]) Contains(value C) bool + func (r Range[C]) ContainsAll(values []C) bool + func (r Range[C]) Encloses(other Range[C]) bool + func (r Range[C]) Equal(other Range[C]) bool + func (r Range[C]) Gap(other Range[C]) Range[C] + func (r Range[C]) GapE(other Range[C]) (Range[C], error) + func (r Range[C]) HasLowerBound() bool + func (r Range[C]) HasUpperBound() bool + func (r Range[C]) Intersection(connectedRange Range[C]) Range[C] + func (r Range[C]) IntersectionE(connectedRange Range[C]) (Range[C], error) + func (r Range[C]) IsConnected(other Range[C]) bool + func (r Range[C]) IsEmpty() bool + func (r Range[C]) IsInvalid() bool + func (r Range[C]) LowerBoundType() BoundType + func (r Range[C]) LowerBoundTypeE() (BoundType, error) + func (r Range[C]) LowerEndpoint() C + func (r Range[C]) LowerEndpointE() (C, error) + func (r Range[C]) Span(other Range[C]) Range[C] + func (r Range[C]) SpanE(other Range[C]) (Range[C], error) + func (r Range[C]) String() string + func (r Range[C]) UpperBoundType() BoundType + func (r Range[C]) UpperBoundTypeE() (BoundType, error) + func (r Range[C]) UpperEndpoint() C + func (r Range[C]) UpperEndpointE() (C, error)