rem: int i;  for (i = 0; i < bPtr->subviewCount; i++) { if (bPtr->subviews[i].view == view) { memmove(&bPtr->subviews[i], &bPtr->subviews[i+1], (bPtr->subviewCount - i - 1) * sizeof(void*)); bPtr->subviewCount--; break; }
add: if (WMRemoveFromArrayMatching(bPtr->subviews, matchView, view)) { rearrange(bPtr);
context: WMRemoveBoxSubview(WMBox *bPtr, WMView *view){    int i;        for (i = 0; i < bPtr->subviewCount; i++) {	if (bPtr->subviews[i].view == view) {	    memmove(&bPtr->subviews[i], &bPtr->subviews[i+1],		    (bPtr->subviewCount - i - 1) * sizeof(void*));	    bPtr->subviewCount--;	    break;	}    }    rearrange(bPtr);}