Silly coding
public cpp v1 · immutablebool rect::operator ()(const rect & r){ typedef const rect constrect; return(static_cast<constrect&>(r).rect::x1>=x1&&static_cast<constrect&>(r).rect::x1<=x2&&static_cast<constrect&>(r).rect::y1>=y1&&static_cast<constrect&>(r).rect::y1<=y2&&static_cast<constrect&>(r).rect::x2>=x1&&static_cast<constrect&>(r).rect::x2<=x2&&static_cast<constrect&>(r).rect::y2>=y1&&static_cast<constrect&>(r).rect::y2<=y2);}