From d525d9ae023a42b293c5c5e12844ce7d5483d34c Mon Sep 17 00:00:00 2001 From: neuecc Date: Fri, 10 Sep 2021 20:59:46 +0900 Subject: [PATCH] Add ObservableFixedSizeRingBuffer.BinarySearch --- .../Runtime/ObservableFixedSizeRingBuffer.cs | 24 +++++++++++++++++++ .../ObservableFixedSizeRingBuffer.cs | 24 +++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/src/ObservableCollections.Unity/Assets/Plugins/ObservableCollections/Runtime/ObservableFixedSizeRingBuffer.cs b/src/ObservableCollections.Unity/Assets/Plugins/ObservableCollections/Runtime/ObservableFixedSizeRingBuffer.cs index 02ef0b2..ea0003c 100644 --- a/src/ObservableCollections.Unity/Assets/Plugins/ObservableCollections/Runtime/ObservableFixedSizeRingBuffer.cs +++ b/src/ObservableCollections.Unity/Assets/Plugins/ObservableCollections/Runtime/ObservableFixedSizeRingBuffer.cs @@ -278,6 +278,30 @@ namespace ObservableCollections } } + public T[] ToArray() + { + lock (SyncRoot) + { + return buffer.ToArray(); + } + } + + public int BinarySearch(T item) + { + lock (SyncRoot) + { + return buffer.BinarySearch(item); + } + } + + public int BinarySearch(T item, IComparer comparer) + { + lock (SyncRoot) + { + return buffer.BinarySearch(item, comparer); + } + } + public IEnumerator GetEnumerator() { lock (SyncRoot) diff --git a/src/ObservableCollections/ObservableFixedSizeRingBuffer.cs b/src/ObservableCollections/ObservableFixedSizeRingBuffer.cs index 80780d9..fabf45e 100644 --- a/src/ObservableCollections/ObservableFixedSizeRingBuffer.cs +++ b/src/ObservableCollections/ObservableFixedSizeRingBuffer.cs @@ -278,6 +278,30 @@ namespace ObservableCollections } } + public T[] ToArray() + { + lock (SyncRoot) + { + return buffer.ToArray(); + } + } + + public int BinarySearch(T item) + { + lock (SyncRoot) + { + return buffer.BinarySearch(item); + } + } + + public int BinarySearch(T item, IComparer comparer) + { + lock (SyncRoot) + { + return buffer.BinarySearch(item, comparer); + } + } + public IEnumerator GetEnumerator() { lock (SyncRoot)