2013/4/29 Marshall Clow
A "C++ interface", in my opinion, uses the same principles/concepts as the standard library.
As opposed to, say, looking like Java or Python.
I think that value semantics should be consider for XML elements, as opposed to most other libraries. Now that we have move semantic, it should be possible to get good performance and it would "use the same principles" as the standard library containers. How about something like that? xml::element root("root"); root.push_back(xml::comment("Comment")); root.push_back(xml::element("Element")); root.push_back(xml::text("Text")); root.push_back(root); Since xml::element have value semantic, it's current state will be copied and appended to itself, resulting in the following structure: <root> <!-- Comment --> <Element /> Text <root> <!-- Comment --> <Element /> Text </root> </root> -- Martin Desharnais