Skip to content

Instantly share code, notes, and snippets.

View kolebynov's full-sized avatar
😀
Sas

Vitali kolebynov

😀
Sas
View GitHub Profile
0eNqUvd2uLstxXfkqDV7LQFXWT2byVfqiIaEPGgIoypBouA3B7940uY9goNeYNcelZWv47G/N+ouREfEff/inP/233/7rv/3zn//yhz/+xx/++S+//csf/vi//c/+4Q9/+sd/+u1Pf/2f/T+//fm3f/vHv/z2f/8f//v/7W9//ss//+Wff/v3P/zx//yPv/8f/sf/9ef/9i//9Nu//eGPxz/84c//+C+//fV/99//8q9//u2//Pd//NOf/vq/8l//9d//+r/yr3/+X////b9/+OP8hz/8j7/+v/2f//Mf/n+AswKcgwmjI1xMuDrCzYS7I2wmPBVhHEx4O8LJhNkRwu+wOsLDhN0R3pCoLpNjBUSXyhH+nmcXyyv8Qc8ul1f4i55dMK9weZ1dMq9wfZ1dNK8QrLPL5p1+zi6cd/o5u3Te6W7VpfMOP+fo0nmHn3N06bzDhTq6dN7hSh1dOu/w+BhdOu9wsY8unXe42EeXziekc3TpfEI6R5fOJ6Tz6tL5pIdpl84npPPq0vmEdF5dOp+QzqtL5xPSeXXpfEI6ry6dT0jn1aXzDem8unS+IZ1Xl843pPPu0vmGdN5dOt/0rtel8w3pvLt0viGdd5fON6Tz7tL5hnTeXTrfkM67S+cM6by7dM6QzrtL5wzpfMpvoZDOp0vnDOl8unTOkM6nS+cM6Xy6dM6QzqdL5wzpfLp0zvRZ1qVzhXQ+XTpXSOfTpXOFdL5dOldI59ulc4V0vl06V0jn26VzhXS+XTpXSOfbpXOFdL5dOldI59ulc6eqQZfOHdL5duncIZ2zS+cO6ZxdOndI5+zSuUM6Z5fOHdI5u3TukM7ZpXOHdM4unTukc3bpPI8Qz7lKRipr7ZIRArqOkhESuspa55EKbGW18wgZXWW98wghXWXF8wgpXU/JCDFdb8kIOV1lTs+Q01Xm9Aw5XWVOUzF8lzlN5fBd5jQVxHeZ0zOVgsucniGnu8zpGXK6y5yeIae7zGlSBLvMaZIEu8xp0gS7zOlIVeWjDOp
@kolebynov
kolebynov / Program.cs
Created May 7, 2024 13:38
Fixed stack/heap array with any element type
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
var list1 = new FixedList<string, Buffer16<string>>();
var list2 = new FixedList<string, Buffer32<string>>();
UseList(ref list1, "Hello");
UseList(ref list2, "World");
Console.WriteLine(list1.GetRef(0));
Console.WriteLine(list2.GetRef(0));
@kolebynov
kolebynov / Program.cs
Created May 7, 2024 13:15
Simple stack/heap dynamic array
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
var list1 = new FixedList16<int>();
var list2 = new FixedList32<int>();
UseList(ref list1, 1);
UseList(ref list2, 2);
static void UseList<TItem, TList>(ref TList list, TItem item)
where TItem : unmanaged