From 1fd19c76727270f72265af627fae26c395039919 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sun, 24 Oct 2021 09:00:04 -0700 Subject: [PATCH] Minlib index additions --- IDE/mintest/minlib/src/System/Range.bf | 46 ++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/IDE/mintest/minlib/src/System/Range.bf b/IDE/mintest/minlib/src/System/Range.bf index 1337136d..837688e6 100644 --- a/IDE/mintest/minlib/src/System/Range.bf +++ b/IDE/mintest/minlib/src/System/Range.bf @@ -3,6 +3,52 @@ using System.Diagnostics; namespace System { + enum Index + { + case FromFront(int offset); + case FromEnd(int offset); + } + + struct IndexRange + { + public Index mStart; + public Index mEnd; + public bool mIsClosed; + + public this() + { + this = default; + } + + public this(Index start, Index end, bool isClosed=true) + { + mStart = start; + mEnd = end; + mIsClosed = isClosed; + } + + public this(int start, Index end, bool isClosed=true) + { + mStart = .FromFront(start); + mEnd = end; + mIsClosed = isClosed; + } + + public this(Index start, int end, bool isClosed=true) + { + mStart = start; + mEnd = .FromFront(end); + mIsClosed = isClosed; + } + + public this(int start, int end, bool isClosed=true) + { + mStart = .FromFront(start); + mEnd = .FromFront(end); + mIsClosed = isClosed; + } + } + struct Range { protected int mStart;