| 190 | } |
| 191 | |
| 192 | void node_data::insert(node& key, node& value, |
| 193 | const shared_memory_holder& pMemory) { |
| 194 | switch (m_type) { |
| 195 | case NodeType::Map: |
| 196 | break; |
| 197 | case NodeType::Undefined: |
| 198 | case NodeType::Null: |
| 199 | case NodeType::Sequence: |
| 200 | convert_to_map(pMemory); |
| 201 | break; |
| 202 | case NodeType::Scalar: |
| 203 | throw BadSubscript(m_mark, key); |
| 204 | } |
| 205 | |
| 206 | insert_map_pair(key, value); |
| 207 | } |
| 208 | |
| 209 | // indexing |
| 210 | node* node_data::get(node& key, |