Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
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);
            }
        }