They can all benefit from moving, since they contain std::string and std::vector. We intended to add these in https://codereview.webrtc.org/1896953004/, but got compiler errors we couldn't make sense of, so we skipped them. It turns out that what the compiler was complaining about was that when we said we'd have a user-defined move constructor, it stopped generating a copy assignment operator for us. This CL solves the problem by outfitting the types with defaulted copy and move assignment operators too. Review URL: https://codereview.webrtc.org/1899173002 Cr-Commit-Position: refs/heads/master@{#12469}