Esempio n. 1
0
            public void Add(Blob value)
            {
                Debug.Assert(value != null);
                Debug.Assert(!value.IsEmpty);
                Debug.Assert(value._chunks != null);

                if (value.IsArrayOfChunks)
                {
                    AddChunk(value.AddRef());
                }
                else
                {
                    // if containing only one chunk, add it directly
                    var chunk = value._chunks;
                    InplaceDeepCopy(ref chunk);
                    AddChunk(chunk);
                }

                _flags |= (value._flags & (Flags.ContainsBinary | Flags.ContainsMutables));    // maintain the binary data flag
            }