1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-07-04 15:26:00 +02:00

Merge pull request #1013 from EinBurgbauer/corlib-additions

Corlib additions
This commit is contained in:
Brian Fiete 2021-05-20 06:16:19 -04:00 committed by GitHub
commit b338c9fb9f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 85 additions and 8 deletions

View file

@ -267,7 +267,11 @@ namespace System.Collections
}
else
{
//TODO: IMPORTANT!
for (int_cosize i = 0; i < mCount; i++)
{
if (mEntries[i].mHashCode >= 0 && mEntries[i].mValue == value) return true;
}
//TODO: comparison
/*EqualityComparer<TValue> c = EqualityComparer<TValue>.Default;
for (int i = 0; i < count; i++)
{

View file

@ -930,6 +930,59 @@ namespace System.Collections
}
}
extension List<T> where T : String
{
public bool Contains(T item, StringComparison comparison)
{
if (item == null)
{
for (int i = 0; i < mSize; i++)
if (mItems[i] == null)
return true;
return false;
}
else
{
for (int i = 0; i < mSize; i++)
if (mItems[i].Equals(item, comparison))
return true;
return false;
}
}
public int IndexOf(T item, StringComparison comparison)
{
for (int i = 0; i < mSize; i++)
if (mItems[i].Equals(item, comparison))
return i;
return -1;
}
public int IndexOf(T item, int index, StringComparison comparison)
{
for (int i = index; i < mSize; i++)
if (mItems[i].Equals(item, comparison))
return i;
return -1;
}
public int IndexOf(T item, int index, int count, StringComparison comparison)
{
for (int i = index; i < index + count; i++)
if (mItems[i].Equals(item, comparison))
return i;
return -1;
}
public int LastIndexOf(T item, StringComparison comparison)
{
for (int i = mSize - 1; i >= 0; i--)
if (mItems[i].Equals(item, comparison))
return i;
return -1;
}
}
class ListWithAlloc<T> : List<T>
{
IRawAllocator mAlloc;

View file

@ -1,6 +1,6 @@
namespace System.Diagnostics
{
class Check
static class Check
{
[Unchecked, SkipCall]

View file

@ -1,6 +1,6 @@
namespace System.Diagnostics.Contracts
{
class Contract
static class Contract
{
public enum ContractFailureKind
{

View file

@ -1,6 +1,6 @@
namespace System.Diagnostics
{
class Debug
static class Debug
{
#if !DEBUG
[SkipCall]

View file

@ -23,7 +23,7 @@ namespace System.IO
case FileReadError(FileReadError);
}
class File
static class File
{
public static Result<void, FileError> ReadAll(StringView path, List<uint8> outData)
{

View file

@ -6,7 +6,7 @@ using System.Threading;
namespace System
{
[StaticInitPriority(100)]
class Runtime
static class Runtime
{
const int32 cVersion = 8;

View file

@ -227,6 +227,26 @@ static
}
}
public static mixin DeleteContainerAndDisposeItems(var container)
{
if (container != null)
{
for (var value in container)
value.Dispose();
delete container;
}
}
public static mixin ClearAndDisposeItems(var container)
{
if (container != null)
{
for (var value in container)
value.Dispose();
container.Clear();
}
}
public static mixin DeleteAndNullify(var val)
{
delete val;

View file

@ -1,7 +1,7 @@
using System.Diagnostics;
namespace System.Text
{
public class UTF16
public static class UTF16
{
public enum EncodeError
{

View file

@ -1,7 +1,7 @@
using System.Diagnostics;
namespace System.Text
{
class UTF8
static class UTF8
{
public const int8[256] sTrailingBytesForUTF8 =
.(