Example #1
0
        /// <summary>
        /// Creates a union of two or more FieldMasks.
        /// </summary>
        public FieldMask Union(params FieldMask[] otherMasks)
        {
            var maskTree = new FieldMaskTree(this);

            foreach (var mask in otherMasks)
            {
                maskTree.MergeFromFieldMask(mask);
            }

            return(maskTree.ToFieldMask());
        }
Example #2
0
        /// <summary>
        /// Calculates the intersection of two FieldMasks.
        /// </summary>
        public FieldMask Intersection(FieldMask additionalMask)
        {
            var tree   = new FieldMaskTree(this);
            var result = new FieldMaskTree();

            foreach (var path in additionalMask.Paths)
            {
                tree.IntersectFieldPath(path, result);
            }

            return(result.ToFieldMask());
        }