| 2167 | valid_keys->insert("allowSpecialFloats"); |
| 2168 | } |
| 2169 | bool CharReaderBuilder::validate(Json::Value* invalid) const |
| 2170 | { |
| 2171 | Json::Value my_invalid; |
| 2172 | if (!invalid) invalid = &my_invalid; // so we do not need to test for NULL |
| 2173 | Json::Value& inv = *invalid; |
| 2174 | std::set<JSONCPP_STRING> valid_keys; |
| 2175 | getValidReaderKeys(&valid_keys); |
| 2176 | Value::Members keys = settings_.getMemberNames(); |
| 2177 | size_t n = keys.size(); |
| 2178 | for (size_t i = 0; i < n; ++i) { |
| 2179 | JSONCPP_STRING const& key = keys[i]; |
| 2180 | if (valid_keys.find(key) == valid_keys.end()) { |
| 2181 | inv[key] = settings_[key]; |
| 2182 | } |
| 2183 | } |
| 2184 | return 0u == inv.size(); |
| 2185 | } |
| 2186 | Value& CharReaderBuilder::operator[](JSONCPP_STRING key) |
| 2187 | { |
| 2188 | return settings_[key]; |