Example #1
0
        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);
            }
        }
Example #2
0
        public SharedValue(Context context, T value, bool host = false)
        {
            if (host)
            {
                _value = new T[] { value };

                Stream = SharedMemoryStream.FromHost(context, new Span <T>(_value));
            }
            else
            {
                var size = Marshal.SizeOf <T>();

                Stream = new SharedMemoryStream(context, (uint)size);

                Stream.Write(value);
            }
        }