Value Node1 Value + Value() + Value() + Value() + Value() + Value() + Tag() + Val() Node2 std::string Node2->Node1 -m_Tag Node4 std::vector< std::string > Node2->Node4 +elements Node3 std::basic_string< char > Node3->Node2 Node4->Node1 -m_Val