| 89 | } |
| 90 | |
| 91 | inline void deserializeValue(const std::string &data, bool &value) |
| 92 | { |
| 93 | /*if (data.length() != 4) |
| 94 | { |
| 95 | value = false; |
| 96 | return; |
| 97 | }*/ |
| 98 | |
| 99 | //static const unsigned char nonAsciiMap = 1<<7; |
| 100 | std::string lowercase(data); |
| 101 | //tolower is undefined (i.e. might crash) for non-ASCII characters. Since we don't want to parse those, just xor them out |
| 102 | //std::transform(lowercase.begin(), lowercase.end(), lowercase.begin(), [](char c) { return c ^ nonAsciiMap; }); |
| 103 | std::transform(lowercase.begin(), lowercase.end(), lowercase.begin(), tolower); //Transform to lower case |
| 104 | value = (lowercase.compare("true") == 0 || lowercase.compare("1") == 0); |
| 105 | } |
| 106 | |
| 107 | inline void deserializeValue(const std::string &data, int &value) |
| 108 | { |
no test coverage detected