1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
3 using System
.Collections
.Generic
;
7 static class ListExtensions
9 public delegate bool LessThan
<T
>(T a
, T b
);
10 public delegate X Map
<T
, X
>(T v
);
12 public static int MappedBinarySearchIndex
<T
, X
>(this List
<T
> lst
, X v
, Map
<T
, X
> map
, LessThan
<X
> lt
)
14 int l
= 0, u
= lst
.Count
;
21 if (lt(v
, map(lst
[m
])))
35 static class ArrayExtensions
37 public static int MappedBinarySearchIndex
<T
, X
>(this T
[] lst
, X v
, ListExtensions
.Map
<T
, X
> map
, ListExtensions
.LessThan
<X
> lt
)
39 int l
= 0, u
= lst
.Length
;
46 if (lt(v
, map(lst
[m
])))