| 268 | } |
| 269 | |
| 270 | MemTrieNode* TrieBranchNode::remove(bytesConstRef _key) |
| 271 | { |
| 272 | if (_key.empty()) |
| 273 | if (m_value.size()) |
| 274 | { |
| 275 | m_value.clear(); |
| 276 | return rejig(); |
| 277 | } |
| 278 | else {} |
| 279 | else if (m_nodes[_key[0]] != nullptr) |
| 280 | { |
| 281 | m_nodes[_key[0]] = m_nodes[_key[0]]->remove(_key.cropped(1)); |
| 282 | return rejig(); |
| 283 | } |
| 284 | return this; |
| 285 | } |
| 286 | |
| 287 | MemTrieNode* TrieBranchNode::rejig() |
| 288 | { |