bool operator()(size_t a, size_t b) { for (size_t column = column_first_; column < column_beyond_; ++column) { typename MatrixType::value_type va = matrix_(a, column); typename MatrixType::value_type vb = matrix_(b, column); if (less_(va, vb)) return true; else if (less_(vb, va)) return false; } return false; }
bool ge(value_type x, value_type y) { return !less_(x, y); }
bool gt(value_type x, value_type y) { return !less_(x, y) && less_(y, x); }
bool le(value_type x, value_type y) { return less_(x, y) || !less_(y, x); }
bool lt(value_type x, value_type y) { return less_(x, y); }