| 38 | } |
| 39 | |
| 40 | bool cmValue::IsOff(cm::string_view value) noexcept |
| 41 | { |
| 42 | switch (value.size()) { |
| 43 | case 0: |
| 44 | return true; |
| 45 | case 1: |
| 46 | return value[0] == '0' || value[0] == 'N' || value[0] == 'n'; |
| 47 | case 2: |
| 48 | return // |
| 49 | (value[0] == 'N' || value[0] == 'n') && // |
| 50 | (value[1] == 'O' || value[1] == 'o'); |
| 51 | case 3: |
| 52 | return // |
| 53 | (value[0] == 'O' || value[0] == 'o') && // |
| 54 | (value[1] == 'F' || value[1] == 'f') && // |
| 55 | (value[2] == 'F' || value[2] == 'f'); |
| 56 | case 5: |
| 57 | return // |
| 58 | (value[0] == 'F' || value[0] == 'f') && // |
| 59 | (value[1] == 'A' || value[1] == 'a') && // |
| 60 | (value[2] == 'L' || value[2] == 'l') && // |
| 61 | (value[3] == 'S' || value[3] == 's') && // |
| 62 | (value[4] == 'E' || value[4] == 'e'); |
| 63 | case 6: |
| 64 | return // |
| 65 | (value[0] == 'I' || value[0] == 'i') && // |
| 66 | (value[1] == 'G' || value[1] == 'g') && // |
| 67 | (value[2] == 'N' || value[2] == 'n') && // |
| 68 | (value[3] == 'O' || value[3] == 'o') && // |
| 69 | (value[4] == 'R' || value[4] == 'r') && // |
| 70 | (value[5] == 'E' || value[5] == 'e'); |
| 71 | default: |
| 72 | break; |
| 73 | } |
| 74 | |
| 75 | return IsNOTFOUND(value); |
| 76 | } |
| 77 | |
| 78 | bool cmValue::IsNOTFOUND(cm::string_view value) noexcept |
| 79 | { |