Meaningless comments, variable names reflect what they contain. No need to duplicate. And use English for comments in code
Why std::string and not a more limited type like Jid ? For get or set use FullJid for from and BareJid in to, and in response or error make FullJid be in to and BareJid in from.
I tried, but roster result should has 'jid' attr, while with Serialization with BareJid I got
<NO_NAME username="n" server="s" >
Expected ResultRoster
<iq…
A comment that doesn't explain anything and just repeats the code.
You can create a structure that contains jid as an attribute and use automatic generation of serialization and deserialization
Why not just throw all the necessary elements through the vector constructor in Roster constructor?
Extra copying if there is an rvalue. Better to forward depending on the type with which it is called.
You can create a structure that contains jid as an attribute and use automatic generation of serialization and deserialization