sibling = (parent->getLeft() == child) ?
parent->getRight() : parent->getLeft();
+ // NOTE: From above, sibling must be BLACK here.
+ assert(sibling->isBlack());
+
if (parent->isBlack() &&
- sibling->isBlack() &&
((!sibling->getLeft()) || sibling->getLeft()->isBlack()) &&
((!sibling->getRight()) || sibling->getRight()->isBlack()))
{
continue;
}
- // FIXME: Can't sibling be NULL here?
if (parent->isRed() &&
- sibling->isBlack() &&
((!sibling->getLeft()) || sibling->getLeft()->isBlack()) &&
((!sibling->getRight()) || sibling->getRight()->isBlack()))
{