public override Container And(ArrayContainer value2)
{
ArrayContainer value1 = this;
int desiredCapacity = Math.Min(value1.GetCardinality(), value2.GetCardinality());
ArrayContainer answer = new ArrayContainer(desiredCapacity);
answer.Cardinality = Utility.UnsignedIntersect2by2(value1.Content,
value1.GetCardinality(),
value2.Content,
value2.GetCardinality(),
answer.Content);
return answer;
}
ArrayContainer::And ( |
/// <summary> /// Performs an "in-place" intersection with an ArrayContainer. Since /// no in-place operation is actually possible, this method defaults to /// calling ArrayContainer's and() method with this as input. /// </summary> /// <param name="other">the ArrayContainer to intersect</param> public override Container IAnd(ArrayContainer other) { return(other.And(this)); // No in-place possible }