提交 f83c4a85 编写于 作者: J jpark37

libobs: Add move assignment operator for BPtr

上级 19c6d06a
......@@ -20,6 +20,7 @@
#include <string.h>
#include <stdarg.h>
#include <utility>
#include "bmem.h"
#include "config-file.h"
......@@ -36,7 +37,7 @@ template<typename T> class BPtr {
public:
inline BPtr(T *p = nullptr) : ptr(p) {}
inline BPtr(BPtr &&other) : ptr(other.ptr) { other.ptr = nullptr; }
inline BPtr(BPtr &&other) { *this = std::move(other); }
inline ~BPtr() { bfree(ptr); }
inline T *operator=(T *p)
......@@ -45,6 +46,14 @@ public:
ptr = p;
return p;
}
inline BPtr &operator=(BPtr &&other)
{
ptr = other.ptr;
other.ptr = nullptr;
return *this;
}
inline operator T *() { return ptr; }
inline T **operator&()
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册