Implement move constructor for RTPFragmentationHeader.
This allows returning RTPFragmentationHeader from a method and assigning the results to a variable. BUG=webrtc:7760 Review-Url: https://codereview.webrtc.org/3002283002 Cr-Commit-Position: refs/heads/master@{#19556}
This commit is contained in:
parent
cfc29f4c9a
commit
34960de3fb
@ -91,6 +91,11 @@ class RTPFragmentationHeader {
|
||||
fragmentationTimeDiff(NULL),
|
||||
fragmentationPlType(NULL) {}
|
||||
|
||||
RTPFragmentationHeader(RTPFragmentationHeader&& other)
|
||||
: RTPFragmentationHeader() {
|
||||
std::swap(*this, other);
|
||||
}
|
||||
|
||||
~RTPFragmentationHeader() {
|
||||
delete[] fragmentationOffset;
|
||||
delete[] fragmentationLength;
|
||||
@ -98,6 +103,17 @@ class RTPFragmentationHeader {
|
||||
delete[] fragmentationPlType;
|
||||
}
|
||||
|
||||
void operator=(RTPFragmentationHeader&& other) { std::swap(*this, other); }
|
||||
|
||||
friend void swap(RTPFragmentationHeader& a, RTPFragmentationHeader& b) {
|
||||
using std::swap;
|
||||
swap(a.fragmentationVectorSize, b.fragmentationVectorSize);
|
||||
swap(a.fragmentationOffset, b.fragmentationOffset);
|
||||
swap(a.fragmentationLength, b.fragmentationLength);
|
||||
swap(a.fragmentationTimeDiff, b.fragmentationTimeDiff);
|
||||
swap(a.fragmentationPlType, b.fragmentationPlType);
|
||||
}
|
||||
|
||||
void CopyFrom(const RTPFragmentationHeader& src) {
|
||||
if (this == &src) {
|
||||
return;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user