MCPcopy Create free account
hub / github.com/GothenburgBitFactory/taskwarrior / operator>

Method operator>

src/Variant.cpp:489–634  ·  view source on GitHub ↗

///////////////////////////////////////////////////////////////////////////

Source from the content-addressed store, hash-verified

487
488////////////////////////////////////////////////////////////////////////////////
489bool Variant::operator>(const Variant& other) const {
490 Variant left(*this);
491 Variant right(other);
492
493 if (left._type == type_string) Lexer::dequote(left._string);
494
495 if (right._type == type_string) Lexer::dequote(right._string);
496
497 switch (left._type) {
498 case type_boolean:
499 switch (right._type) {
500 case type_boolean:
501 return !left._bool && right._bool;
502 case type_integer:
503 left.cast(type_integer);
504 return left._integer > right._integer;
505 case type_real:
506 left.cast(type_real);
507 return left._real > right._real;
508 case type_string:
509 left.cast(type_string);
510 return left._string > right._string;
511 case type_date:
512 left.cast(type_date);
513 return left._date > right._date;
514 case type_duration:
515 left.cast(type_duration);
516 return left._duration > right._duration;
517 }
518 break;
519
520 case type_integer:
521 switch (right._type) {
522 case type_boolean:
523 right.cast(type_integer);
524 return left._integer > right._integer;
525 case type_integer:
526 return left._integer > right._integer;
527 case type_real:
528 left.cast(type_real);
529 return left._real > right._real;
530 case type_string:
531 left.cast(type_string);
532 return left._string > right._string;
533 case type_date:
534 left.cast(type_date);
535 return left._date > right._date;
536 case type_duration:
537 left.cast(type_duration);
538 return left._duration > right._duration;
539 }
540 break;
541
542 case type_real:
543 switch (right._type) {
544 case type_boolean:
545 right.cast(type_real);
546 return left._real > right._real;

Callers

nothing calls this directly

Calls 4

castMethod · 0.80
findMethod · 0.80
sourceMethod · 0.80
trivialMethod · 0.80

Tested by

no test coverage detected