public SharedCollection(Context context, int length, bool host = false) { var size = (uint)(Marshal.SizeOf <T>() * length); if (host) { Stream = SharedMemoryStream.AllocHost(context, size); } else { Stream = new SharedMemoryStream(context, size); } }
public SharedValue(Context context, bool host = false) { if (host) { _value = new T[1]; Stream = SharedMemoryStream.FromHost(context, new Span <T>(_value)); } else { var size = Marshal.SizeOf <T>(); Stream = new SharedMemoryStream(context, (uint)size); } }
public SharedCollection(Context context, Span <T> span, bool host = false) { if (host) { Stream = SharedMemoryStream.FromHost(context, span); } else { var size = (uint)(Marshal.SizeOf <T>() * span.Length); Stream = new SharedMemoryStream(context, size); Stream.Write(span); } }