InternalCalls

Overview

Low level apis for Island

Location

 

constructor    (declared in Object)

Default constructor.

 

constructor

 

InternalCalls()

 

init()

 

InternalCalls()

Add (Int32, Int32): Int32

Does an atomic Add on an adress and a value; returns the original value.

 

class method Add(var address: Int32; value: Int32): Int32

 

static Int32 Add(ref Int32 address, Int32 value)

 

static func Add(_ address: Int32, _ value: Int32) -> Int32

 

static Int32 Add(__ref Int32 address, Int32 value)

Parameters:

  • address: the value to increase
  • value: the value to inrease with

Add (Int64, Int64): Int64

Does an atomic Add on an adress and a value; returns the original value.

 

class method Add(var address: Int64; value: Int64): Int64

 

static Int64 Add(ref Int64 address, Int64 value)

 

static func Add(_ address: Int64, _ value: Int64) -> Int64

 

static Int64 Add(__ref Int64 address, Int64 value)

Parameters:

  • address: the value to increase
  • value: the value to increase with

Does an atomic Add on an adress and a value; returns the original value.

 

class method Add(var address: NativeInt; value: NativeInt): NativeInt

 

static NativeInt Add(ref NativeInt address, NativeInt value)

 

static func Add(_ address: NativeInt, _ value: NativeInt) -> NativeInt

 

static NativeInt Add(__ref NativeInt address, NativeInt value)

Parameters:

  • address: the value to increase
  • value: the value to inrease with

Does an atomic Add on an adress and a value; returns the original value.

 

class method Add(var address: NativeUInt; value: NativeUInt): NativeUInt

 

static NativeUInt Add(ref NativeUInt address, NativeUInt value)

 

static func Add(_ address: NativeUInt, _ value: NativeUInt) -> NativeUInt

 

static NativeUInt Add(__ref NativeUInt address, NativeUInt value)

Parameters:

  • address: the value to increase
  • value: the value to inrease with

And (Int32, Int32): Int32

 

class method And(var address: Int32; value: Int32): Int32

 

static Int32 And(ref Int32 address, Int32 value)

 

static func And(_ address: Int32, _ value: Int32) -> Int32

 

static Int32 And(__ref Int32 address, Int32 value)

Parameters:

  • address:
  • value:

And (Int64, Int64): Int64

 

class method And(var address: Int64; value: Int64): Int64

 

static Int64 And(ref Int64 address, Int64 value)

 

static func And(_ address: Int64, _ value: Int64) -> Int64

 

static Int64 And(__ref Int64 address, Int64 value)

Parameters:

  • address:
  • value:

 

class method And(var address: NativeInt; value: NativeInt): NativeInt

 

static NativeInt And(ref NativeInt address, NativeInt value)

 

static func And(_ address: NativeInt, _ value: NativeInt) -> NativeInt

 

static NativeInt And(__ref NativeInt address, NativeInt value)

Parameters:

  • address:
  • value:

 

class method And(var address: NativeUInt; value: NativeUInt): NativeUInt

 

static NativeUInt And(ref NativeUInt address, NativeUInt value)

 

static func And(_ address: NativeUInt, _ value: NativeUInt) -> NativeUInt

 

static NativeUInt And(__ref NativeUInt address, NativeUInt value)

Parameters:

  • address:
  • value:

Asm

Inline assembly; this call is replaced by the AT&T syntax asm passed to this method. This returns the primary register (R0, RAX etc)

 

class method Asm(aAsm: String; aConstraints: String; aSideEffects: Boolean; aAlign: Boolean; params aArgs: array of Object): NativeInt

 

static NativeInt Asm(String aAsm, String aConstraints, Boolean aSideEffects, Boolean aAlign, params Object[] aArgs)

 

static func Asm(_ aAsm: String, _ aConstraints: String, _ aSideEffects: Boolean, _ aAlign: Boolean, _ aArgs: Object...) -> NativeInt

 

static NativeInt Asm(String aAsm, String aConstraints, Boolean aSideEffects, Boolean aAlign, Object[]... aArgs)

Parameters:

  • aAsm: The assembly to use; Note that $ has to be escaped with $ (so $$1 for decimal 1 in AT&T); $0 refers to the first parameter passed to aArgs, etc.
  • aConstraints: A clang compatible constraint string
  • aSideEffects: If true this asm block has side effects not visible in the constraint list
  • aAlign: If true, the stack has to be aligned before entering this blcok
  • aArgs: Argument array passed to asm.

Cast

Does a raw cast of the object O to a pointer. Note that a regular reference to O has to be kept around to make sure this value does not get garbage collected.

 

class method Cast(o: Object): ^void

 

static void* Cast(Object o)

 

static func Cast(_ o: Object) -> UnsafeMutablePointer<void>

 

static void* Cast(Object o)

Parameters:

  • o: the value to cast

Cast<T>

Casts an Object stored as pointer back to it's real type. The T parameter refers to the type this value should be cast to. Note that this does no checking on the type at all and will always succeed.

 

class method Cast<T>(o: ^void): T

 

static T Cast<T>(void* o)

 

static func Cast<T>(_ o: UnsafeMutablePointer<void>) -> T

 

static T Cast<T>(void* o)

Parameters:

  • o: The value to cast

CompareExchange (Int32, Int32, Int32): Int32

Does an atomic compare and exchange value and returns the old value. This method will check the value stored at address, compare it to compare, if it's equal it replaces it with value.

 

class method CompareExchange(var address: Int32; value: Int32; compare: Int32): Int32

 

static Int32 CompareExchange(ref Int32 address, Int32 value, Int32 compare)

 

static func CompareExchange(_ address: Int32, _ value: Int32, _ compare: Int32) -> Int32

 

static Int32 CompareExchange(__ref Int32 address, Int32 value, Int32 compare)

Parameters:

  • address: Address this value is stored at
  • value: New value to store
  • compare: Value to compare what's stored at address with.

CompareExchange (Int64, Int64, Int64): Int64

Does an atomic compare and exchange value and returns the old value. This method will check the value stored at address, compare it to compare, if it's equal it replaces it with value.

 

class method CompareExchange(var address: Int64; value: Int64; compare: Int64): Int64

 

static Int64 CompareExchange(ref Int64 address, Int64 value, Int64 compare)

 

static func CompareExchange(_ address: Int64, _ value: Int64, _ compare: Int64) -> Int64

 

static Int64 CompareExchange(__ref Int64 address, Int64 value, Int64 compare)

Parameters:

  • address: Address this value is stored at
  • value: New value to store
  • compare: Value to compare what's stored at address with.

CompareExchange (NativeInt, NativeInt, NativeInt): NativeInt

Does an atomic compare and exchange value and returns the old value. This method will check the value stored at address, compare it to compare, if it's equal it replaces it with value.

 

class method CompareExchange(var address: NativeInt; value: NativeInt; compare: NativeInt): NativeInt

 

static NativeInt CompareExchange(ref NativeInt address, NativeInt value, NativeInt compare)

 

static func CompareExchange(_ address: NativeInt, _ value: NativeInt, _ compare: NativeInt) -> NativeInt

 

static NativeInt CompareExchange(__ref NativeInt address, NativeInt value, NativeInt compare)

Parameters:

  • address: Address this value is stored at
  • value: New value to store
  • compare: Value to compare what's stored at address with.

Does an atomic compare and exchange value and returns the old value. This method will check the value stored at address, compare it to compare, if it's equal it replaces it with value.

 

class method CompareExchange(var address: NativeUInt; value: NativeUInt; compare: NativeUInt): NativeUInt

 

static NativeUInt CompareExchange(ref NativeUInt address, NativeUInt value, NativeUInt compare)

 

static func CompareExchange(_ address: NativeUInt, _ value: NativeUInt, _ compare: NativeUInt) -> NativeUInt

 

static NativeUInt CompareExchange(__ref NativeUInt address, NativeUInt value, NativeUInt compare)

Parameters:

  • address: Address this value is stored at
  • value: New value to store
  • compare: Value to compare what's stored at address with.

CompareExchange (UInt32, UInt32, UInt32): UInt32

Does an atomic compare and exchange value and returns the old value. This method will check the value stored at address, compare it to compare, if it's equal it replaces it with value.

 

class method CompareExchange(var address: UInt32; value: UInt32; compare: UInt32): UInt32

 

static UInt32 CompareExchange(ref UInt32 address, UInt32 value, UInt32 compare)

 

static func CompareExchange(_ address: UInt32, _ value: UInt32, _ compare: UInt32) -> UInt32

 

static UInt32 CompareExchange(__ref UInt32 address, UInt32 value, UInt32 compare)

Parameters:

  • address: Address this value is stored at
  • value: New value to store
  • compare: Value to compare what's stored at address with.

CompareExchange (UInt64, UInt64, UInt64): UInt64

Does an atomic compare and exchange value and returns the old value. This method will check the value stored at address, compare it to compare, if it's equal it replaces it with value.

 

class method CompareExchange(var address: UInt64; value: UInt64; compare: UInt64): UInt64

 

static UInt64 CompareExchange(ref UInt64 address, UInt64 value, UInt64 compare)

 

static func CompareExchange(_ address: UInt64, _ value: UInt64, _ compare: UInt64) -> UInt64

 

static UInt64 CompareExchange(__ref UInt64 address, UInt64 value, UInt64 compare)

Parameters:

  • address: Address this value is stored at
  • value: New value to store
  • compare: Value to compare what's stored at address with.

CompareExchange<T>

Does an atomic compare and exchange value and returns the old value. This method will check the value stored at address, compare it to compare, if it's equal it replaces it with value.

 

class method CompareExchange<T>(var address: T; value: T; compare: T): T

 

static T CompareExchange<T>(ref T address, T value, T compare)

 

static func CompareExchange<T>(_ address: T, _ value: T, _ compare: T) -> T

 

static T CompareExchange<T>(__ref T address, T value, T compare)

Parameters:

  • address: Address this value is stored at
  • value: New value to store
  • compare: Value to compare what's stored at address with.

Decrement (Int32): Int32

Does an decrement on an adress; returns the original value.

 

class method Decrement(var address: Int32): Int32

 

static Int32 Decrement(ref Int32 address)

 

static func Decrement(_ address: Int32) -> Int32

 

static Int32 Decrement(__ref Int32 address)

Parameters:

  • address: Address this value is stored at

Decrement (Int64): Int64

Does an decrement on an adress; returns the original value.

 

class method Decrement(var address: Int64): Int64

 

static Int64 Decrement(ref Int64 address)

 

static func Decrement(_ address: Int64) -> Int64

 

static Int64 Decrement(__ref Int64 address)

Parameters:

  • address: Address this value is stored at

Decrement (IntPtr): IntPtr

Does an decrement on an adress; returns the original value.

 

class method Decrement(var address: IntPtr): IntPtr

 

static IntPtr Decrement(ref IntPtr address)

 

static func Decrement(_ address: IntPtr) -> IntPtr

 

static IntPtr Decrement(__ref IntPtr address)

Parameters:

  • address: Address this value is stored at

Equals  virtual    (declared in Object)

Returns true if the target object matches this one, by default compares the reference.

 

method Equals(obj: Object): Boolean

 

Boolean Equals(Object obj)

 

func Equals(_ obj: Object) -> Boolean

 

Boolean Equals(Object obj)

Parameters:

  • obj: the reference to compare this with.

Exchange (Int32, Int32): Int32

Exchanges the value stored at address with a new value and returns the old value.

 

class method Exchange(var address: Int32; value: Int32): Int32

 

static Int32 Exchange(ref Int32 address, Int32 value)

 

static func Exchange(_ address: Int32, _ value: Int32) -> Int32

 

static Int32 Exchange(__ref Int32 address, Int32 value)

Parameters:

  • address: Address this value is stored at
  • value: New value to store

Exchange (Int64, Int64): Int64

Exchanges the value stored at address with a new value and returns the old value.

 

class method Exchange(var address: Int64; value: Int64): Int64

 

static Int64 Exchange(ref Int64 address, Int64 value)

 

static func Exchange(_ address: Int64, _ value: Int64) -> Int64

 

static Int64 Exchange(__ref Int64 address, Int64 value)

Parameters:

  • address: Address this value is stored at
  • value: New value to store

Exchanges the value stored at address with a new value and returns the old value.

 

class method Exchange(var address: NativeInt; value: NativeInt): NativeInt

 

static NativeInt Exchange(ref NativeInt address, NativeInt value)

 

static func Exchange(_ address: NativeInt, _ value: NativeInt) -> NativeInt

 

static NativeInt Exchange(__ref NativeInt address, NativeInt value)

Parameters:

  • address: Address this value is stored at
  • value: New value to store

Exchanges the value stored at address with a new value and returns the old value.

 

class method Exchange(var address: NativeUInt; value: NativeUInt): NativeUInt

 

static NativeUInt Exchange(ref NativeUInt address, NativeUInt value)

 

static func Exchange(_ address: NativeUInt, _ value: NativeUInt) -> NativeUInt

 

static NativeUInt Exchange(__ref NativeUInt address, NativeUInt value)

Parameters:

  • address: Address this value is stored at
  • value: The value to write

Exchange (UInt32, UInt32): UInt32

Exchanges the value stored at address with a new value and returns the old value.

 

class method Exchange(var address: UInt32; value: UInt32): UInt32

 

static UInt32 Exchange(ref UInt32 address, UInt32 value)

 

static func Exchange(_ address: UInt32, _ value: UInt32) -> UInt32

 

static UInt32 Exchange(__ref UInt32 address, UInt32 value)

Parameters:

  • address: Address this value is stored at
  • value: New value to store

Exchange (UInt64, UInt64): UInt64

Exchanges the value stored at address with a new value and returns the old value.

 

class method Exchange(var address: UInt64; value: UInt64): UInt64

 

static UInt64 Exchange(ref UInt64 address, UInt64 value)

 

static func Exchange(_ address: UInt64, _ value: UInt64) -> UInt64

 

static UInt64 Exchange(__ref UInt64 address, UInt64 value)

Parameters:

  • address: Address this value is stored at
  • value: New value to store

Exchange<T>

Exchanges the value stored at address with a new value and returns the old value.

 

class method Exchange<T>(var address: T; value: T): T

 

static T Exchange<T>(ref T address, T value)

 

static func Exchange<T>(_ address: T, _ value: T) -> T

 

static T Exchange<T>(__ref T address, T value)

Parameters:

  • address: Address this value is stored at
  • value: New value to store

Finalize  protected virtual    (declared in Object)

Finalizer implementation. If not overriden it's not called at all, the runtime checks if there is an override before calling a finalizer.

 

method Finalize

 

void Finalize()

 

func Finalize()

 

void Finalize()

GetHashCode  virtual    (declared in Object)

Returns a hashcode for this object. Overriden implementations should make sure that the number returned here is constant given the same object.

 

method GetHashCode: Int32

 

Int32 GetHashCode()

 

func GetHashCode() -> Int32

 

Int32 GetHashCode()

GetType    (declared in Object)

Returns the actual type of this class

 

method GetType: Type

 

Type GetType()

 

func GetType() -> Type

 

Type GetType()

GetTypeInfo<T>

Returns the RTTI info for a given type T

 

class method GetTypeInfo<T>: ^void

 

static void* GetTypeInfo<T>()

 

static func GetTypeInfo<T>() -> UnsafeMutablePointer<void>

 

static void* GetTypeInfo<T>()

GuidOf<T> Android, iOS, iOS Simulator, macOS, tvOS, tvOS Simulator, Ubuntu, UIKit for Mac, watchOS Simulator, watchOS-armv7k, WebAssembly, Windows

 

class method GuidOf<T>: Guid

 

static Guid GuidOf<T>()

 

static func GuidOf<T>() -> Guid

 

static Guid GuidOf<T>()

Increment (Int32): Int32

Does an increment on an adress; returns the original value.

 

class method Increment(var address: Int32): Int32

 

static Int32 Increment(ref Int32 address)

 

static func Increment(_ address: Int32) -> Int32

 

static Int32 Increment(__ref Int32 address)

Parameters:

  • address: Address this value is stored at

Increment (Int64): Int64

Does an increment on an adress; returns the original value.

 

class method Increment(var address: Int64): Int64

 

static Int64 Increment(ref Int64 address)

 

static func Increment(_ address: Int64) -> Int64

 

static Int64 Increment(__ref Int64 address)

Parameters:

  • address: Address this value is stored at

Increment (IntPtr): IntPtr

Does an increment on an adress; returns the original value.

 

class method Increment(var address: IntPtr): IntPtr

 

static IntPtr Increment(ref IntPtr address)

 

static func Increment(_ address: IntPtr) -> IntPtr

 

static IntPtr Increment(__ref IntPtr address)

Parameters:

  • address: Address this value is stored at

Or (Int32, Int32): Int32

 

class method Or(var address: Int32; value: Int32): Int32

 

static Int32 Or(ref Int32 address, Int32 value)

 

static func Or(_ address: Int32, _ value: Int32) -> Int32

 

static Int32 Or(__ref Int32 address, Int32 value)

Parameters:

  • address:
  • value:

Or (Int64, Int64): Int64

 

class method Or(var address: Int64; value: Int64): Int64

 

static Int64 Or(ref Int64 address, Int64 value)

 

static func Or(_ address: Int64, _ value: Int64) -> Int64

 

static Int64 Or(__ref Int64 address, Int64 value)

Parameters:

  • address:
  • value:

 

class method Or(var address: NativeInt; value: NativeInt): NativeInt

 

static NativeInt Or(ref NativeInt address, NativeInt value)

 

static func Or(_ address: NativeInt, _ value: NativeInt) -> NativeInt

 

static NativeInt Or(__ref NativeInt address, NativeInt value)

Parameters:

  • address:
  • value:

 

class method Or(var address: NativeUInt; value: NativeUInt): NativeUInt

 

static NativeUInt Or(ref NativeUInt address, NativeUInt value)

 

static func Or(_ address: NativeUInt, _ value: NativeUInt) -> NativeUInt

 

static NativeUInt Or(__ref NativeUInt address, NativeUInt value)

Parameters:

  • address:
  • value:

ReadFS16 Windows

 

class method ReadFS16(off: NativeInt): UInt16

 

static UInt16 ReadFS16(NativeInt off)

 

static func ReadFS16(_ off: NativeInt) -> UInt16

 

static UInt16 ReadFS16(NativeInt off)

Parameters:

  • off:

ReadFS32 Windows

 

class method ReadFS32(off: NativeInt): UInt32

 

static UInt32 ReadFS32(NativeInt off)

 

static func ReadFS32(_ off: NativeInt) -> UInt32

 

static UInt32 ReadFS32(NativeInt off)

Parameters:

  • off:

ReadFS64 Windows

 

class method ReadFS64(off: NativeInt): UInt64

 

static UInt64 ReadFS64(NativeInt off)

 

static func ReadFS64(_ off: NativeInt) -> UInt64

 

static UInt64 ReadFS64(NativeInt off)

Parameters:

  • off:

ReadFS8 Windows

 

class method ReadFS8(off: NativeInt): Byte

 

static Byte ReadFS8(NativeInt off)

 

static func ReadFS8(_ off: NativeInt) -> Byte

 

static Byte ReadFS8(NativeInt off)

Parameters:

  • off:

ReadGS16 Windows

 

class method ReadGS16(off: NativeInt): UInt16

 

static UInt16 ReadGS16(NativeInt off)

 

static func ReadGS16(_ off: NativeInt) -> UInt16

 

static UInt16 ReadGS16(NativeInt off)

Parameters:

  • off:

ReadGS32 Windows

 

class method ReadGS32(off: NativeInt): UInt32

 

static UInt32 ReadGS32(NativeInt off)

 

static func ReadGS32(_ off: NativeInt) -> UInt32

 

static UInt32 ReadGS32(NativeInt off)

Parameters:

  • off:

ReadGS64 Windows

 

class method ReadGS64(off: NativeInt): UInt64

 

static UInt64 ReadGS64(NativeInt off)

 

static func ReadGS64(_ off: NativeInt) -> UInt64

 

static UInt64 ReadGS64(NativeInt off)

Parameters:

  • off:

ReadGS8 Windows

 

class method ReadGS8(off: NativeInt): Byte

 

static Byte ReadGS8(NativeInt off)

 

static func ReadGS8(_ off: NativeInt) -> Byte

 

static Byte ReadGS8(NativeInt off)

Parameters:

  • off:

ReferenceEquals    (declared in Object)

Compares two references for equivalence (even if they have an equals operator)

 

class method ReferenceEquals(a: Object; b: Object): Boolean

 

static Boolean ReferenceEquals(Object a, Object b)

 

static func ReferenceEquals(_ a: Object, _ b: Object) -> Boolean

 

static Boolean ReferenceEquals(Object a, Object b)

Parameters:

  • a: left value
  • b: right value

ToString  virtual    (declared in Object)

Gets the string representation of this method.

 

method ToString: String

 

String ToString()

 

func ToString() -> String

 

String ToString()

Undefined<T>

Returns an "undefined" value, used for optimization purposes.

 

class method Undefined<T>: T

 

static T Undefined<T>()

 

static func Undefined<T>() -> T

 

static T Undefined<T>()

VoidAsm

Inline assembly; this call is replaced by the AT&T syntax asm passed to this method.

 

class method VoidAsm(aAsm: String; aConstraints: String; aSideEffects: Boolean; aAlign: Boolean; params aArgs: array of Object)

 

static void VoidAsm(String aAsm, String aConstraints, Boolean aSideEffects, Boolean aAlign, params Object[] aArgs)

 

static func VoidAsm(_ aAsm: String, _ aConstraints: String, _ aSideEffects: Boolean, _ aAlign: Boolean, _ aArgs: Object...)

 

static void VoidAsm(String aAsm, String aConstraints, Boolean aSideEffects, Boolean aAlign, Object[]... aArgs)

Parameters:

  • aAsm: The assembly to use; Note that $ has to be escaped with $ (so $$1 for decimal 1 in AT&T); $0 refers to the first parameter passed to aArgs, etc.
  • aConstraints: A clang compatible constraint string
  • aSideEffects: If true this asm block has side effects not visible in the constraint list
  • aAlign: If true, the stack has to be aligned before entering this blcok
  • aArgs: Argument array passed to asm.

VolatileRead (Byte, Boolean): Byte

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: Byte; aAtomic: Boolean): Byte

 

static Byte VolatileRead(ref Byte address, Boolean aAtomic)

 

static func VolatileRead(_ address: Byte, _ aAtomic: Boolean) -> Byte

 

static Byte VolatileRead(__ref Byte address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (Double, Boolean): Double

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: Double; aAtomic: Boolean): Double

 

static Double VolatileRead(ref Double address, Boolean aAtomic)

 

static func VolatileRead(_ address: Double, _ aAtomic: Boolean) -> Double

 

static Double VolatileRead(__ref Double address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (Int16, Boolean): Int16

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: Int16; aAtomic: Boolean): Int16

 

static Int16 VolatileRead(ref Int16 address, Boolean aAtomic)

 

static func VolatileRead(_ address: Int16, _ aAtomic: Boolean) -> Int16

 

static Int16 VolatileRead(__ref Int16 address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (Int32, Boolean): Int32

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: Int32; aAtomic: Boolean): Int32

 

static Int32 VolatileRead(ref Int32 address, Boolean aAtomic)

 

static func VolatileRead(_ address: Int32, _ aAtomic: Boolean) -> Int32

 

static Int32 VolatileRead(__ref Int32 address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (Int64, Boolean): Int64

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: Int64; aAtomic: Boolean): Int64

 

static Int64 VolatileRead(ref Int64 address, Boolean aAtomic)

 

static func VolatileRead(_ address: Int64, _ aAtomic: Boolean) -> Int64

 

static Int64 VolatileRead(__ref Int64 address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (NativeInt, Boolean): NativeInt

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: NativeInt; aAtomic: Boolean): NativeInt

 

static NativeInt VolatileRead(ref NativeInt address, Boolean aAtomic)

 

static func VolatileRead(_ address: NativeInt, _ aAtomic: Boolean) -> NativeInt

 

static NativeInt VolatileRead(__ref NativeInt address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (NativeUInt, Boolean): NativeUInt

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: NativeUInt; aAtomic: Boolean): NativeUInt

 

static NativeUInt VolatileRead(ref NativeUInt address, Boolean aAtomic)

 

static func VolatileRead(_ address: NativeUInt, _ aAtomic: Boolean) -> NativeUInt

 

static NativeUInt VolatileRead(__ref NativeUInt address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (Object, Boolean): Object

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: Object; aAtomic: Boolean): Object

 

static Object VolatileRead(ref Object address, Boolean aAtomic)

 

static func VolatileRead(_ address: Object, _ aAtomic: Boolean) -> Object

 

static Object VolatileRead(__ref Object address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (SByte, Boolean): SByte

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: SByte; aAtomic: Boolean): SByte

 

static SByte VolatileRead(ref SByte address, Boolean aAtomic)

 

static func VolatileRead(_ address: SByte, _ aAtomic: Boolean) -> SByte

 

static SByte VolatileRead(__ref SByte address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (Single, Boolean): Single

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: Single; aAtomic: Boolean): Single

 

static Single VolatileRead(ref Single address, Boolean aAtomic)

 

static func VolatileRead(_ address: Single, _ aAtomic: Boolean) -> Single

 

static Single VolatileRead(__ref Single address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (UInt16, Boolean): UInt16

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: UInt16; aAtomic: Boolean): UInt16

 

static UInt16 VolatileRead(ref UInt16 address, Boolean aAtomic)

 

static func VolatileRead(_ address: UInt16, _ aAtomic: Boolean) -> UInt16

 

static UInt16 VolatileRead(__ref UInt16 address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (UInt32, Boolean): UInt32

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: UInt32; aAtomic: Boolean): UInt32

 

static UInt32 VolatileRead(ref UInt32 address, Boolean aAtomic)

 

static func VolatileRead(_ address: UInt32, _ aAtomic: Boolean) -> UInt32

 

static UInt32 VolatileRead(__ref UInt32 address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (UInt64, Boolean): UInt64

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: UInt64; aAtomic: Boolean): UInt64

 

static UInt64 VolatileRead(ref UInt64 address, Boolean aAtomic)

 

static func VolatileRead(_ address: UInt64, _ aAtomic: Boolean) -> UInt64

 

static UInt64 VolatileRead(__ref UInt64 address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileWrite (Byte, Byte, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: Byte; value: Byte; aAtomic: Boolean)

 

static void VolatileWrite(ref Byte address, Byte value, Boolean aAtomic)

 

static func VolatileWrite(_ address: Byte, _ value: Byte, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref Byte address, Byte value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (Double, Double, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: Double; value: Double; aAtomic: Boolean)

 

static void VolatileWrite(ref Double address, Double value, Boolean aAtomic)

 

static func VolatileWrite(_ address: Double, _ value: Double, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref Double address, Double value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (Int16, Int16, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: Int16; value: Int16; aAtomic: Boolean)

 

static void VolatileWrite(ref Int16 address, Int16 value, Boolean aAtomic)

 

static func VolatileWrite(_ address: Int16, _ value: Int16, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref Int16 address, Int16 value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (Int32, Int32, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: Int32; value: Int32; aAtomic: Boolean)

 

static void VolatileWrite(ref Int32 address, Int32 value, Boolean aAtomic)

 

static func VolatileWrite(_ address: Int32, _ value: Int32, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref Int32 address, Int32 value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (Int64, Int64, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: Int64; value: Int64; aAtomic: Boolean)

 

static void VolatileWrite(ref Int64 address, Int64 value, Boolean aAtomic)

 

static func VolatileWrite(_ address: Int64, _ value: Int64, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref Int64 address, Int64 value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (NativeInt, NativeInt, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: NativeInt; value: NativeInt; aAtomic: Boolean)

 

static void VolatileWrite(ref NativeInt address, NativeInt value, Boolean aAtomic)

 

static func VolatileWrite(_ address: NativeInt, _ value: NativeInt, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref NativeInt address, NativeInt value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (NativeUInt, NativeUInt, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: NativeUInt; value: NativeUInt; aAtomic: Boolean)

 

static void VolatileWrite(ref NativeUInt address, NativeUInt value, Boolean aAtomic)

 

static func VolatileWrite(_ address: NativeUInt, _ value: NativeUInt, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref NativeUInt address, NativeUInt value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (Object, Object, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: Object; value: Object; aAtomic: Boolean)

 

static void VolatileWrite(ref Object address, Object value, Boolean aAtomic)

 

static func VolatileWrite(_ address: Object, _ value: Object, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref Object address, Object value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (SByte, SByte, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: SByte; value: SByte; aAtomic: Boolean)

 

static void VolatileWrite(ref SByte address, SByte value, Boolean aAtomic)

 

static func VolatileWrite(_ address: SByte, _ value: SByte, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref SByte address, SByte value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (Single, Single, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: Single; value: Single; aAtomic: Boolean)

 

static void VolatileWrite(ref Single address, Single value, Boolean aAtomic)

 

static func VolatileWrite(_ address: Single, _ value: Single, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref Single address, Single value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (UInt16, UInt16, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: UInt16; value: UInt16; aAtomic: Boolean)

 

static void VolatileWrite(ref UInt16 address, UInt16 value, Boolean aAtomic)

 

static func VolatileWrite(_ address: UInt16, _ value: UInt16, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref UInt16 address, UInt16 value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (UInt32, UInt32, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: UInt32; value: UInt32; aAtomic: Boolean)

 

static void VolatileWrite(ref UInt32 address, UInt32 value, Boolean aAtomic)

 

static func VolatileWrite(_ address: UInt32, _ value: UInt32, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref UInt32 address, UInt32 value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (UInt64, UInt64, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: UInt64; value: UInt64; aAtomic: Boolean)

 

static void VolatileWrite(ref UInt64 address, UInt64 value, Boolean aAtomic)

 

static func VolatileWrite(_ address: UInt64, _ value: UInt64, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref UInt64 address, UInt64 value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

Xor (Int32, Int32): Int32

 

class method Xor(var address: Int32; value: Int32): Int32

 

static Int32 Xor(ref Int32 address, Int32 value)

 

static func Xor(_ address: Int32, _ value: Int32) -> Int32

 

static Int32 Xor(__ref Int32 address, Int32 value)

Parameters:

  • address:
  • value:

Xor (Int64, Int64): Int64

 

class method Xor(var address: Int64; value: Int64): Int64

 

static Int64 Xor(ref Int64 address, Int64 value)

 

static func Xor(_ address: Int64, _ value: Int64) -> Int64

 

static Int64 Xor(__ref Int64 address, Int64 value)

Parameters:

  • address:
  • value:

 

class method Xor(var address: NativeInt; value: NativeInt): NativeInt

 

static NativeInt Xor(ref NativeInt address, NativeInt value)

 

static func Xor(_ address: NativeInt, _ value: NativeInt) -> NativeInt

 

static NativeInt Xor(__ref NativeInt address, NativeInt value)

Parameters:

  • address:
  • value:

 

class method Xor(var address: NativeUInt; value: NativeUInt): NativeUInt

 

static NativeUInt Xor(ref NativeUInt address, NativeUInt value)

 

static func Xor(_ address: NativeUInt, _ value: NativeUInt) -> NativeUInt

 

static NativeUInt Xor(__ref NativeUInt address, NativeUInt value)

Parameters:

  • address:
  • value:

 

Add (Int32, Int32): Int32

Does an atomic Add on an adress and a value; returns the original value.

 

class method Add(var address: Int32; value: Int32): Int32

 

static Int32 Add(ref Int32 address, Int32 value)

 

static func Add(_ address: Int32, _ value: Int32) -> Int32

 

static Int32 Add(__ref Int32 address, Int32 value)

Parameters:

  • address: the value to increase
  • value: the value to inrease with

Add (Int64, Int64): Int64

Does an atomic Add on an adress and a value; returns the original value.

 

class method Add(var address: Int64; value: Int64): Int64

 

static Int64 Add(ref Int64 address, Int64 value)

 

static func Add(_ address: Int64, _ value: Int64) -> Int64

 

static Int64 Add(__ref Int64 address, Int64 value)

Parameters:

  • address: the value to increase
  • value: the value to increase with

Does an atomic Add on an adress and a value; returns the original value.

 

class method Add(var address: NativeInt; value: NativeInt): NativeInt

 

static NativeInt Add(ref NativeInt address, NativeInt value)

 

static func Add(_ address: NativeInt, _ value: NativeInt) -> NativeInt

 

static NativeInt Add(__ref NativeInt address, NativeInt value)

Parameters:

  • address: the value to increase
  • value: the value to inrease with

Does an atomic Add on an adress and a value; returns the original value.

 

class method Add(var address: NativeUInt; value: NativeUInt): NativeUInt

 

static NativeUInt Add(ref NativeUInt address, NativeUInt value)

 

static func Add(_ address: NativeUInt, _ value: NativeUInt) -> NativeUInt

 

static NativeUInt Add(__ref NativeUInt address, NativeUInt value)

Parameters:

  • address: the value to increase
  • value: the value to inrease with

And (Int32, Int32): Int32

 

class method And(var address: Int32; value: Int32): Int32

 

static Int32 And(ref Int32 address, Int32 value)

 

static func And(_ address: Int32, _ value: Int32) -> Int32

 

static Int32 And(__ref Int32 address, Int32 value)

Parameters:

  • address:
  • value:

And (Int64, Int64): Int64

 

class method And(var address: Int64; value: Int64): Int64

 

static Int64 And(ref Int64 address, Int64 value)

 

static func And(_ address: Int64, _ value: Int64) -> Int64

 

static Int64 And(__ref Int64 address, Int64 value)

Parameters:

  • address:
  • value:

 

class method And(var address: NativeInt; value: NativeInt): NativeInt

 

static NativeInt And(ref NativeInt address, NativeInt value)

 

static func And(_ address: NativeInt, _ value: NativeInt) -> NativeInt

 

static NativeInt And(__ref NativeInt address, NativeInt value)

Parameters:

  • address:
  • value:

 

class method And(var address: NativeUInt; value: NativeUInt): NativeUInt

 

static NativeUInt And(ref NativeUInt address, NativeUInt value)

 

static func And(_ address: NativeUInt, _ value: NativeUInt) -> NativeUInt

 

static NativeUInt And(__ref NativeUInt address, NativeUInt value)

Parameters:

  • address:
  • value:

Asm

Inline assembly; this call is replaced by the AT&T syntax asm passed to this method. This returns the primary register (R0, RAX etc)

 

class method Asm(aAsm: String; aConstraints: String; aSideEffects: Boolean; aAlign: Boolean; params aArgs: array of Object): NativeInt

 

static NativeInt Asm(String aAsm, String aConstraints, Boolean aSideEffects, Boolean aAlign, params Object[] aArgs)

 

static func Asm(_ aAsm: String, _ aConstraints: String, _ aSideEffects: Boolean, _ aAlign: Boolean, _ aArgs: Object...) -> NativeInt

 

static NativeInt Asm(String aAsm, String aConstraints, Boolean aSideEffects, Boolean aAlign, Object[]... aArgs)

Parameters:

  • aAsm: The assembly to use; Note that $ has to be escaped with $ (so $$1 for decimal 1 in AT&T); $0 refers to the first parameter passed to aArgs, etc.
  • aConstraints: A clang compatible constraint string
  • aSideEffects: If true this asm block has side effects not visible in the constraint list
  • aAlign: If true, the stack has to be aligned before entering this blcok
  • aArgs: Argument array passed to asm.

Cast

Does a raw cast of the object O to a pointer. Note that a regular reference to O has to be kept around to make sure this value does not get garbage collected.

 

class method Cast(o: Object): ^void

 

static void* Cast(Object o)

 

static func Cast(_ o: Object) -> UnsafeMutablePointer<void>

 

static void* Cast(Object o)

Parameters:

  • o: the value to cast

Cast<T>

Casts an Object stored as pointer back to it's real type. The T parameter refers to the type this value should be cast to. Note that this does no checking on the type at all and will always succeed.

 

class method Cast<T>(o: ^void): T

 

static T Cast<T>(void* o)

 

static func Cast<T>(_ o: UnsafeMutablePointer<void>) -> T

 

static T Cast<T>(void* o)

Parameters:

  • o: The value to cast

CompareExchange (Int32, Int32, Int32): Int32

Does an atomic compare and exchange value and returns the old value. This method will check the value stored at address, compare it to compare, if it's equal it replaces it with value.

 

class method CompareExchange(var address: Int32; value: Int32; compare: Int32): Int32

 

static Int32 CompareExchange(ref Int32 address, Int32 value, Int32 compare)

 

static func CompareExchange(_ address: Int32, _ value: Int32, _ compare: Int32) -> Int32

 

static Int32 CompareExchange(__ref Int32 address, Int32 value, Int32 compare)

Parameters:

  • address: Address this value is stored at
  • value: New value to store
  • compare: Value to compare what's stored at address with.

CompareExchange (Int64, Int64, Int64): Int64

Does an atomic compare and exchange value and returns the old value. This method will check the value stored at address, compare it to compare, if it's equal it replaces it with value.

 

class method CompareExchange(var address: Int64; value: Int64; compare: Int64): Int64

 

static Int64 CompareExchange(ref Int64 address, Int64 value, Int64 compare)

 

static func CompareExchange(_ address: Int64, _ value: Int64, _ compare: Int64) -> Int64

 

static Int64 CompareExchange(__ref Int64 address, Int64 value, Int64 compare)

Parameters:

  • address: Address this value is stored at
  • value: New value to store
  • compare: Value to compare what's stored at address with.

CompareExchange (NativeInt, NativeInt, NativeInt): NativeInt

Does an atomic compare and exchange value and returns the old value. This method will check the value stored at address, compare it to compare, if it's equal it replaces it with value.

 

class method CompareExchange(var address: NativeInt; value: NativeInt; compare: NativeInt): NativeInt

 

static NativeInt CompareExchange(ref NativeInt address, NativeInt value, NativeInt compare)

 

static func CompareExchange(_ address: NativeInt, _ value: NativeInt, _ compare: NativeInt) -> NativeInt

 

static NativeInt CompareExchange(__ref NativeInt address, NativeInt value, NativeInt compare)

Parameters:

  • address: Address this value is stored at
  • value: New value to store
  • compare: Value to compare what's stored at address with.

Does an atomic compare and exchange value and returns the old value. This method will check the value stored at address, compare it to compare, if it's equal it replaces it with value.

 

class method CompareExchange(var address: NativeUInt; value: NativeUInt; compare: NativeUInt): NativeUInt

 

static NativeUInt CompareExchange(ref NativeUInt address, NativeUInt value, NativeUInt compare)

 

static func CompareExchange(_ address: NativeUInt, _ value: NativeUInt, _ compare: NativeUInt) -> NativeUInt

 

static NativeUInt CompareExchange(__ref NativeUInt address, NativeUInt value, NativeUInt compare)

Parameters:

  • address: Address this value is stored at
  • value: New value to store
  • compare: Value to compare what's stored at address with.

CompareExchange (UInt32, UInt32, UInt32): UInt32

Does an atomic compare and exchange value and returns the old value. This method will check the value stored at address, compare it to compare, if it's equal it replaces it with value.

 

class method CompareExchange(var address: UInt32; value: UInt32; compare: UInt32): UInt32

 

static UInt32 CompareExchange(ref UInt32 address, UInt32 value, UInt32 compare)

 

static func CompareExchange(_ address: UInt32, _ value: UInt32, _ compare: UInt32) -> UInt32

 

static UInt32 CompareExchange(__ref UInt32 address, UInt32 value, UInt32 compare)

Parameters:

  • address: Address this value is stored at
  • value: New value to store
  • compare: Value to compare what's stored at address with.

CompareExchange (UInt64, UInt64, UInt64): UInt64

Does an atomic compare and exchange value and returns the old value. This method will check the value stored at address, compare it to compare, if it's equal it replaces it with value.

 

class method CompareExchange(var address: UInt64; value: UInt64; compare: UInt64): UInt64

 

static UInt64 CompareExchange(ref UInt64 address, UInt64 value, UInt64 compare)

 

static func CompareExchange(_ address: UInt64, _ value: UInt64, _ compare: UInt64) -> UInt64

 

static UInt64 CompareExchange(__ref UInt64 address, UInt64 value, UInt64 compare)

Parameters:

  • address: Address this value is stored at
  • value: New value to store
  • compare: Value to compare what's stored at address with.

CompareExchange<T>

Does an atomic compare and exchange value and returns the old value. This method will check the value stored at address, compare it to compare, if it's equal it replaces it with value.

 

class method CompareExchange<T>(var address: T; value: T; compare: T): T

 

static T CompareExchange<T>(ref T address, T value, T compare)

 

static func CompareExchange<T>(_ address: T, _ value: T, _ compare: T) -> T

 

static T CompareExchange<T>(__ref T address, T value, T compare)

Parameters:

  • address: Address this value is stored at
  • value: New value to store
  • compare: Value to compare what's stored at address with.

Decrement (Int32): Int32

Does an decrement on an adress; returns the original value.

 

class method Decrement(var address: Int32): Int32

 

static Int32 Decrement(ref Int32 address)

 

static func Decrement(_ address: Int32) -> Int32

 

static Int32 Decrement(__ref Int32 address)

Parameters:

  • address: Address this value is stored at

Decrement (Int64): Int64

Does an decrement on an adress; returns the original value.

 

class method Decrement(var address: Int64): Int64

 

static Int64 Decrement(ref Int64 address)

 

static func Decrement(_ address: Int64) -> Int64

 

static Int64 Decrement(__ref Int64 address)

Parameters:

  • address: Address this value is stored at

Decrement (IntPtr): IntPtr

Does an decrement on an adress; returns the original value.

 

class method Decrement(var address: IntPtr): IntPtr

 

static IntPtr Decrement(ref IntPtr address)

 

static func Decrement(_ address: IntPtr) -> IntPtr

 

static IntPtr Decrement(__ref IntPtr address)

Parameters:

  • address: Address this value is stored at

Exchange (Int32, Int32): Int32

Exchanges the value stored at address with a new value and returns the old value.

 

class method Exchange(var address: Int32; value: Int32): Int32

 

static Int32 Exchange(ref Int32 address, Int32 value)

 

static func Exchange(_ address: Int32, _ value: Int32) -> Int32

 

static Int32 Exchange(__ref Int32 address, Int32 value)

Parameters:

  • address: Address this value is stored at
  • value: New value to store

Exchange (Int64, Int64): Int64

Exchanges the value stored at address with a new value and returns the old value.

 

class method Exchange(var address: Int64; value: Int64): Int64

 

static Int64 Exchange(ref Int64 address, Int64 value)

 

static func Exchange(_ address: Int64, _ value: Int64) -> Int64

 

static Int64 Exchange(__ref Int64 address, Int64 value)

Parameters:

  • address: Address this value is stored at
  • value: New value to store

Exchanges the value stored at address with a new value and returns the old value.

 

class method Exchange(var address: NativeInt; value: NativeInt): NativeInt

 

static NativeInt Exchange(ref NativeInt address, NativeInt value)

 

static func Exchange(_ address: NativeInt, _ value: NativeInt) -> NativeInt

 

static NativeInt Exchange(__ref NativeInt address, NativeInt value)

Parameters:

  • address: Address this value is stored at
  • value: New value to store

Exchanges the value stored at address with a new value and returns the old value.

 

class method Exchange(var address: NativeUInt; value: NativeUInt): NativeUInt

 

static NativeUInt Exchange(ref NativeUInt address, NativeUInt value)

 

static func Exchange(_ address: NativeUInt, _ value: NativeUInt) -> NativeUInt

 

static NativeUInt Exchange(__ref NativeUInt address, NativeUInt value)

Parameters:

  • address: Address this value is stored at
  • value: The value to write

Exchange (UInt32, UInt32): UInt32

Exchanges the value stored at address with a new value and returns the old value.

 

class method Exchange(var address: UInt32; value: UInt32): UInt32

 

static UInt32 Exchange(ref UInt32 address, UInt32 value)

 

static func Exchange(_ address: UInt32, _ value: UInt32) -> UInt32

 

static UInt32 Exchange(__ref UInt32 address, UInt32 value)

Parameters:

  • address: Address this value is stored at
  • value: New value to store

Exchange (UInt64, UInt64): UInt64

Exchanges the value stored at address with a new value and returns the old value.

 

class method Exchange(var address: UInt64; value: UInt64): UInt64

 

static UInt64 Exchange(ref UInt64 address, UInt64 value)

 

static func Exchange(_ address: UInt64, _ value: UInt64) -> UInt64

 

static UInt64 Exchange(__ref UInt64 address, UInt64 value)

Parameters:

  • address: Address this value is stored at
  • value: New value to store

Exchange<T>

Exchanges the value stored at address with a new value and returns the old value.

 

class method Exchange<T>(var address: T; value: T): T

 

static T Exchange<T>(ref T address, T value)

 

static func Exchange<T>(_ address: T, _ value: T) -> T

 

static T Exchange<T>(__ref T address, T value)

Parameters:

  • address: Address this value is stored at
  • value: New value to store

GetTypeInfo<T>

Returns the RTTI info for a given type T

 

class method GetTypeInfo<T>: ^void

 

static void* GetTypeInfo<T>()

 

static func GetTypeInfo<T>() -> UnsafeMutablePointer<void>

 

static void* GetTypeInfo<T>()

GuidOf<T> Android, iOS, iOS Simulator, macOS, tvOS, tvOS Simulator, Ubuntu, UIKit for Mac, watchOS Simulator, watchOS-armv7k, WebAssembly, Windows

 

class method GuidOf<T>: Guid

 

static Guid GuidOf<T>()

 

static func GuidOf<T>() -> Guid

 

static Guid GuidOf<T>()

Increment (Int32): Int32

Does an increment on an adress; returns the original value.

 

class method Increment(var address: Int32): Int32

 

static Int32 Increment(ref Int32 address)

 

static func Increment(_ address: Int32) -> Int32

 

static Int32 Increment(__ref Int32 address)

Parameters:

  • address: Address this value is stored at

Increment (Int64): Int64

Does an increment on an adress; returns the original value.

 

class method Increment(var address: Int64): Int64

 

static Int64 Increment(ref Int64 address)

 

static func Increment(_ address: Int64) -> Int64

 

static Int64 Increment(__ref Int64 address)

Parameters:

  • address: Address this value is stored at

Increment (IntPtr): IntPtr

Does an increment on an adress; returns the original value.

 

class method Increment(var address: IntPtr): IntPtr

 

static IntPtr Increment(ref IntPtr address)

 

static func Increment(_ address: IntPtr) -> IntPtr

 

static IntPtr Increment(__ref IntPtr address)

Parameters:

  • address: Address this value is stored at

Or (Int32, Int32): Int32

 

class method Or(var address: Int32; value: Int32): Int32

 

static Int32 Or(ref Int32 address, Int32 value)

 

static func Or(_ address: Int32, _ value: Int32) -> Int32

 

static Int32 Or(__ref Int32 address, Int32 value)

Parameters:

  • address:
  • value:

Or (Int64, Int64): Int64

 

class method Or(var address: Int64; value: Int64): Int64

 

static Int64 Or(ref Int64 address, Int64 value)

 

static func Or(_ address: Int64, _ value: Int64) -> Int64

 

static Int64 Or(__ref Int64 address, Int64 value)

Parameters:

  • address:
  • value:

 

class method Or(var address: NativeInt; value: NativeInt): NativeInt

 

static NativeInt Or(ref NativeInt address, NativeInt value)

 

static func Or(_ address: NativeInt, _ value: NativeInt) -> NativeInt

 

static NativeInt Or(__ref NativeInt address, NativeInt value)

Parameters:

  • address:
  • value:

 

class method Or(var address: NativeUInt; value: NativeUInt): NativeUInt

 

static NativeUInt Or(ref NativeUInt address, NativeUInt value)

 

static func Or(_ address: NativeUInt, _ value: NativeUInt) -> NativeUInt

 

static NativeUInt Or(__ref NativeUInt address, NativeUInt value)

Parameters:

  • address:
  • value:

ReadFS16 Windows

 

class method ReadFS16(off: NativeInt): UInt16

 

static UInt16 ReadFS16(NativeInt off)

 

static func ReadFS16(_ off: NativeInt) -> UInt16

 

static UInt16 ReadFS16(NativeInt off)

Parameters:

  • off:

ReadFS32 Windows

 

class method ReadFS32(off: NativeInt): UInt32

 

static UInt32 ReadFS32(NativeInt off)

 

static func ReadFS32(_ off: NativeInt) -> UInt32

 

static UInt32 ReadFS32(NativeInt off)

Parameters:

  • off:

ReadFS64 Windows

 

class method ReadFS64(off: NativeInt): UInt64

 

static UInt64 ReadFS64(NativeInt off)

 

static func ReadFS64(_ off: NativeInt) -> UInt64

 

static UInt64 ReadFS64(NativeInt off)

Parameters:

  • off:

ReadFS8 Windows

 

class method ReadFS8(off: NativeInt): Byte

 

static Byte ReadFS8(NativeInt off)

 

static func ReadFS8(_ off: NativeInt) -> Byte

 

static Byte ReadFS8(NativeInt off)

Parameters:

  • off:

ReadGS16 Windows

 

class method ReadGS16(off: NativeInt): UInt16

 

static UInt16 ReadGS16(NativeInt off)

 

static func ReadGS16(_ off: NativeInt) -> UInt16

 

static UInt16 ReadGS16(NativeInt off)

Parameters:

  • off:

ReadGS32 Windows

 

class method ReadGS32(off: NativeInt): UInt32

 

static UInt32 ReadGS32(NativeInt off)

 

static func ReadGS32(_ off: NativeInt) -> UInt32

 

static UInt32 ReadGS32(NativeInt off)

Parameters:

  • off:

ReadGS64 Windows

 

class method ReadGS64(off: NativeInt): UInt64

 

static UInt64 ReadGS64(NativeInt off)

 

static func ReadGS64(_ off: NativeInt) -> UInt64

 

static UInt64 ReadGS64(NativeInt off)

Parameters:

  • off:

ReadGS8 Windows

 

class method ReadGS8(off: NativeInt): Byte

 

static Byte ReadGS8(NativeInt off)

 

static func ReadGS8(_ off: NativeInt) -> Byte

 

static Byte ReadGS8(NativeInt off)

Parameters:

  • off:

ReferenceEquals    (declared in Object)

Compares two references for equivalence (even if they have an equals operator)

 

class method ReferenceEquals(a: Object; b: Object): Boolean

 

static Boolean ReferenceEquals(Object a, Object b)

 

static func ReferenceEquals(_ a: Object, _ b: Object) -> Boolean

 

static Boolean ReferenceEquals(Object a, Object b)

Parameters:

  • a: left value
  • b: right value

Undefined<T>

Returns an "undefined" value, used for optimization purposes.

 

class method Undefined<T>: T

 

static T Undefined<T>()

 

static func Undefined<T>() -> T

 

static T Undefined<T>()

VoidAsm

Inline assembly; this call is replaced by the AT&T syntax asm passed to this method.

 

class method VoidAsm(aAsm: String; aConstraints: String; aSideEffects: Boolean; aAlign: Boolean; params aArgs: array of Object)

 

static void VoidAsm(String aAsm, String aConstraints, Boolean aSideEffects, Boolean aAlign, params Object[] aArgs)

 

static func VoidAsm(_ aAsm: String, _ aConstraints: String, _ aSideEffects: Boolean, _ aAlign: Boolean, _ aArgs: Object...)

 

static void VoidAsm(String aAsm, String aConstraints, Boolean aSideEffects, Boolean aAlign, Object[]... aArgs)

Parameters:

  • aAsm: The assembly to use; Note that $ has to be escaped with $ (so $$1 for decimal 1 in AT&T); $0 refers to the first parameter passed to aArgs, etc.
  • aConstraints: A clang compatible constraint string
  • aSideEffects: If true this asm block has side effects not visible in the constraint list
  • aAlign: If true, the stack has to be aligned before entering this blcok
  • aArgs: Argument array passed to asm.

VolatileRead (Byte, Boolean): Byte

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: Byte; aAtomic: Boolean): Byte

 

static Byte VolatileRead(ref Byte address, Boolean aAtomic)

 

static func VolatileRead(_ address: Byte, _ aAtomic: Boolean) -> Byte

 

static Byte VolatileRead(__ref Byte address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (Double, Boolean): Double

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: Double; aAtomic: Boolean): Double

 

static Double VolatileRead(ref Double address, Boolean aAtomic)

 

static func VolatileRead(_ address: Double, _ aAtomic: Boolean) -> Double

 

static Double VolatileRead(__ref Double address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (Int16, Boolean): Int16

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: Int16; aAtomic: Boolean): Int16

 

static Int16 VolatileRead(ref Int16 address, Boolean aAtomic)

 

static func VolatileRead(_ address: Int16, _ aAtomic: Boolean) -> Int16

 

static Int16 VolatileRead(__ref Int16 address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (Int32, Boolean): Int32

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: Int32; aAtomic: Boolean): Int32

 

static Int32 VolatileRead(ref Int32 address, Boolean aAtomic)

 

static func VolatileRead(_ address: Int32, _ aAtomic: Boolean) -> Int32

 

static Int32 VolatileRead(__ref Int32 address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (Int64, Boolean): Int64

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: Int64; aAtomic: Boolean): Int64

 

static Int64 VolatileRead(ref Int64 address, Boolean aAtomic)

 

static func VolatileRead(_ address: Int64, _ aAtomic: Boolean) -> Int64

 

static Int64 VolatileRead(__ref Int64 address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (NativeInt, Boolean): NativeInt

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: NativeInt; aAtomic: Boolean): NativeInt

 

static NativeInt VolatileRead(ref NativeInt address, Boolean aAtomic)

 

static func VolatileRead(_ address: NativeInt, _ aAtomic: Boolean) -> NativeInt

 

static NativeInt VolatileRead(__ref NativeInt address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (NativeUInt, Boolean): NativeUInt

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: NativeUInt; aAtomic: Boolean): NativeUInt

 

static NativeUInt VolatileRead(ref NativeUInt address, Boolean aAtomic)

 

static func VolatileRead(_ address: NativeUInt, _ aAtomic: Boolean) -> NativeUInt

 

static NativeUInt VolatileRead(__ref NativeUInt address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (Object, Boolean): Object

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: Object; aAtomic: Boolean): Object

 

static Object VolatileRead(ref Object address, Boolean aAtomic)

 

static func VolatileRead(_ address: Object, _ aAtomic: Boolean) -> Object

 

static Object VolatileRead(__ref Object address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (SByte, Boolean): SByte

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: SByte; aAtomic: Boolean): SByte

 

static SByte VolatileRead(ref SByte address, Boolean aAtomic)

 

static func VolatileRead(_ address: SByte, _ aAtomic: Boolean) -> SByte

 

static SByte VolatileRead(__ref SByte address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (Single, Boolean): Single

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: Single; aAtomic: Boolean): Single

 

static Single VolatileRead(ref Single address, Boolean aAtomic)

 

static func VolatileRead(_ address: Single, _ aAtomic: Boolean) -> Single

 

static Single VolatileRead(__ref Single address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (UInt16, Boolean): UInt16

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: UInt16; aAtomic: Boolean): UInt16

 

static UInt16 VolatileRead(ref UInt16 address, Boolean aAtomic)

 

static func VolatileRead(_ address: UInt16, _ aAtomic: Boolean) -> UInt16

 

static UInt16 VolatileRead(__ref UInt16 address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (UInt32, Boolean): UInt32

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: UInt32; aAtomic: Boolean): UInt32

 

static UInt32 VolatileRead(ref UInt32 address, Boolean aAtomic)

 

static func VolatileRead(_ address: UInt32, _ aAtomic: Boolean) -> UInt32

 

static UInt32 VolatileRead(__ref UInt32 address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileRead (UInt64, Boolean): UInt64

Forces the compiler to read a value atomically.

 

class method VolatileRead(var address: UInt64; aAtomic: Boolean): UInt64

 

static UInt64 VolatileRead(ref UInt64 address, Boolean aAtomic)

 

static func VolatileRead(_ address: UInt64, _ aAtomic: Boolean) -> UInt64

 

static UInt64 VolatileRead(__ref UInt64 address, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • aAtomic:

VolatileWrite (Byte, Byte, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: Byte; value: Byte; aAtomic: Boolean)

 

static void VolatileWrite(ref Byte address, Byte value, Boolean aAtomic)

 

static func VolatileWrite(_ address: Byte, _ value: Byte, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref Byte address, Byte value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (Double, Double, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: Double; value: Double; aAtomic: Boolean)

 

static void VolatileWrite(ref Double address, Double value, Boolean aAtomic)

 

static func VolatileWrite(_ address: Double, _ value: Double, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref Double address, Double value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (Int16, Int16, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: Int16; value: Int16; aAtomic: Boolean)

 

static void VolatileWrite(ref Int16 address, Int16 value, Boolean aAtomic)

 

static func VolatileWrite(_ address: Int16, _ value: Int16, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref Int16 address, Int16 value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (Int32, Int32, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: Int32; value: Int32; aAtomic: Boolean)

 

static void VolatileWrite(ref Int32 address, Int32 value, Boolean aAtomic)

 

static func VolatileWrite(_ address: Int32, _ value: Int32, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref Int32 address, Int32 value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (Int64, Int64, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: Int64; value: Int64; aAtomic: Boolean)

 

static void VolatileWrite(ref Int64 address, Int64 value, Boolean aAtomic)

 

static func VolatileWrite(_ address: Int64, _ value: Int64, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref Int64 address, Int64 value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (NativeInt, NativeInt, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: NativeInt; value: NativeInt; aAtomic: Boolean)

 

static void VolatileWrite(ref NativeInt address, NativeInt value, Boolean aAtomic)

 

static func VolatileWrite(_ address: NativeInt, _ value: NativeInt, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref NativeInt address, NativeInt value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (NativeUInt, NativeUInt, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: NativeUInt; value: NativeUInt; aAtomic: Boolean)

 

static void VolatileWrite(ref NativeUInt address, NativeUInt value, Boolean aAtomic)

 

static func VolatileWrite(_ address: NativeUInt, _ value: NativeUInt, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref NativeUInt address, NativeUInt value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (Object, Object, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: Object; value: Object; aAtomic: Boolean)

 

static void VolatileWrite(ref Object address, Object value, Boolean aAtomic)

 

static func VolatileWrite(_ address: Object, _ value: Object, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref Object address, Object value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (SByte, SByte, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: SByte; value: SByte; aAtomic: Boolean)

 

static void VolatileWrite(ref SByte address, SByte value, Boolean aAtomic)

 

static func VolatileWrite(_ address: SByte, _ value: SByte, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref SByte address, SByte value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (Single, Single, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: Single; value: Single; aAtomic: Boolean)

 

static void VolatileWrite(ref Single address, Single value, Boolean aAtomic)

 

static func VolatileWrite(_ address: Single, _ value: Single, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref Single address, Single value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (UInt16, UInt16, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: UInt16; value: UInt16; aAtomic: Boolean)

 

static void VolatileWrite(ref UInt16 address, UInt16 value, Boolean aAtomic)

 

static func VolatileWrite(_ address: UInt16, _ value: UInt16, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref UInt16 address, UInt16 value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (UInt32, UInt32, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: UInt32; value: UInt32; aAtomic: Boolean)

 

static void VolatileWrite(ref UInt32 address, UInt32 value, Boolean aAtomic)

 

static func VolatileWrite(_ address: UInt32, _ value: UInt32, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref UInt32 address, UInt32 value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

VolatileWrite (UInt64, UInt64, Boolean)

Forces the compiler to write a value atomically.

 

class method VolatileWrite(var address: UInt64; value: UInt64; aAtomic: Boolean)

 

static void VolatileWrite(ref UInt64 address, UInt64 value, Boolean aAtomic)

 

static func VolatileWrite(_ address: UInt64, _ value: UInt64, _ aAtomic: Boolean)

 

static void VolatileWrite(__ref UInt64 address, UInt64 value, Boolean aAtomic)

Parameters:

  • address: Address this value is stored at
  • value: Value to write
  • aAtomic:

Xor (Int32, Int32): Int32

 

class method Xor(var address: Int32; value: Int32): Int32

 

static Int32 Xor(ref Int32 address, Int32 value)

 

static func Xor(_ address: Int32, _ value: Int32) -> Int32

 

static Int32 Xor(__ref Int32 address, Int32 value)

Parameters:

  • address:
  • value:

Xor (Int64, Int64): Int64

 

class method Xor(var address: Int64; value: Int64): Int64

 

static Int64 Xor(ref Int64 address, Int64 value)

 

static func Xor(_ address: Int64, _ value: Int64) -> Int64

 

static Int64 Xor(__ref Int64 address, Int64 value)

Parameters:

  • address:
  • value:

 

class method Xor(var address: NativeInt; value: NativeInt): NativeInt

 

static NativeInt Xor(ref NativeInt address, NativeInt value)

 

static func Xor(_ address: NativeInt, _ value: NativeInt) -> NativeInt

 

static NativeInt Xor(__ref NativeInt address, NativeInt value)

Parameters:

  • address:
  • value:

 

class method Xor(var address: NativeUInt; value: NativeUInt): NativeUInt

 

static NativeUInt Xor(ref NativeUInt address, NativeUInt value)

 

static func Xor(_ address: NativeUInt, _ value: NativeUInt) -> NativeUInt

 

static NativeUInt Xor(__ref NativeUInt address, NativeUInt value)

Parameters:

  • address:
  • value:

 

constructor    (declared in Object)

Default constructor.

 

constructor

 

InternalCalls()

 

init()

 

InternalCalls()

Equals  virtual    (declared in Object)

Returns true if the target object matches this one, by default compares the reference.

 

method Equals(obj: Object): Boolean

 

Boolean Equals(Object obj)

 

func Equals(_ obj: Object) -> Boolean

 

Boolean Equals(Object obj)

Parameters:

  • obj: the reference to compare this with.

Finalize  protected virtual    (declared in Object)

Finalizer implementation. If not overriden it's not called at all, the runtime checks if there is an override before calling a finalizer.

 

method Finalize

 

void Finalize()

 

func Finalize()

 

void Finalize()

GetHashCode  virtual    (declared in Object)

Returns a hashcode for this object. Overriden implementations should make sure that the number returned here is constant given the same object.

 

method GetHashCode: Int32

 

Int32 GetHashCode()

 

func GetHashCode() -> Int32

 

Int32 GetHashCode()

GetType    (declared in Object)

Returns the actual type of this class

 

method GetType: Type

 

Type GetType()

 

func GetType() -> Type

 

Type GetType()

ToString  virtual    (declared in Object)

Gets the string representation of this method.

 

method ToString: String

 

String ToString()

 

func ToString() -> String

 

String ToString()