| 296 | } |
| 297 | |
| 298 | std::string getString() const override |
| 299 | { |
| 300 | std::string output; |
| 301 | output.reserve(_blockToken.value.size() + _headerNodes.size() * 50); |
| 302 | |
| 303 | for (const auto& headerNode : _headerNodes) |
| 304 | { |
| 305 | if (!headerNode) continue; |
| 306 | |
| 307 | output.append(headerNode->getString()); |
| 308 | } |
| 309 | |
| 310 | output.append(_blockToken.value); |
| 311 | |
| 312 | return output; |
| 313 | } |
| 314 | |
| 315 | static Ptr CreateTypedBlock(const std::string& type, const std::string& name) |
| 316 | { |