mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-21 01:18:02 +02:00
Moving corlib files out of "System" directory into root
This commit is contained in:
parent
4cd58262e4
commit
7dbfd15292
179 changed files with 3 additions and 0 deletions
83
BeefLibs/corlib/src/IComparable.bf
Normal file
83
BeefLibs/corlib/src/IComparable.bf
Normal file
|
@ -0,0 +1,83 @@
|
|||
namespace System
|
||||
{
|
||||
interface IComparable<T>
|
||||
{
|
||||
int32 CompareTo(T other);
|
||||
}
|
||||
|
||||
public interface IComparer<T>
|
||||
{
|
||||
int Compare(T x, T y);
|
||||
}
|
||||
|
||||
public class CompareWrapper<T> : IComparer<T> where T : IOpComparable
|
||||
{
|
||||
public int Compare(T x, T y)
|
||||
{
|
||||
return x <=> y;
|
||||
}
|
||||
}
|
||||
|
||||
interface IInteger
|
||||
{
|
||||
}
|
||||
|
||||
interface IUnsigned
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
interface ISigned
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
interface IFloating
|
||||
{
|
||||
}
|
||||
|
||||
interface IOpEquals
|
||||
{
|
||||
public static bool operator==(Self val1, Self val2);
|
||||
}
|
||||
|
||||
interface IOpEquals<T>
|
||||
{
|
||||
public static bool operator==(Self val1, T val2);
|
||||
}
|
||||
|
||||
interface IOpComparable
|
||||
{
|
||||
static int operator<=>(Self lhs, Self rhs);
|
||||
}
|
||||
|
||||
interface IOpAddable
|
||||
{
|
||||
static Self operator+(Self lhs, Self rhs);
|
||||
}
|
||||
|
||||
interface IOpNegatable
|
||||
{
|
||||
static Self operator-(Self value);
|
||||
}
|
||||
|
||||
interface IOpConvertibleTo<T>
|
||||
{
|
||||
static operator T(Self value);
|
||||
}
|
||||
|
||||
interface IOpConvertibleFrom<T>
|
||||
{
|
||||
static operator Self(T value);
|
||||
}
|
||||
|
||||
interface IIsNaN
|
||||
{
|
||||
bool IsNaN { get; }
|
||||
}
|
||||
|
||||
interface ICanBeNaN : IIsNaN
|
||||
{
|
||||
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue