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

Method operator<=

src/Variant.cpp:341–486  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

339
340////////////////////////////////////////////////////////////////////////////////
341bool Variant::operator<=(const Variant& other) const {
342 Variant left(*this);
343 Variant right(other);
344
345 if (left._type == type_string) Lexer::dequote(left._string);
346
347 if (right._type == type_string) Lexer::dequote(right._string);
348
349 switch (left._type) {
350 case type_boolean:
351 switch (right._type) {
352 case type_boolean:
353 return !left._bool || right._bool;
354 case type_integer:
355 left.cast(type_integer);
356 return left._integer <= right._integer;
357 case type_real:
358 left.cast(type_real);
359 return left._real <= right._real;
360 case type_string:
361 left.cast(type_string);
362 return left._string <= right._string;
363 case type_date:
364 left.cast(type_date);
365 return left._date <= right._date;
366 case type_duration:
367 left.cast(type_duration);
368 return left._duration <= right._duration;
369 }
370 break;
371
372 case type_integer:
373 switch (right._type) {
374 case type_boolean:
375 right.cast(type_integer);
376 return left._integer <= right._integer;
377 case type_integer:
378 return left._integer <= right._integer;
379 case type_real:
380 left.cast(type_real);
381 return left._real <= right._real;
382 case type_string:
383 left.cast(type_string);
384 return left._string <= right._string;
385 case type_date:
386 left.cast(type_date);
387 return left._date <= right._date;
388 case type_duration:
389 left.cast(type_duration);
390 return left._duration <= right._duration;
391 }
392 break;
393
394 case type_real:
395 switch (right._type) {
396 case type_boolean:
397 right.cast(type_real);
398 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