[+] AU_OPERATOR_COPY
[+] AU_OPERATOR_MOVE [+] AU_OPERATOR_COPY_MOVE
This commit is contained in:
parent
779e884caf
commit
3085ddc97b
@ -8,16 +8,20 @@
|
|||||||
***/
|
***/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define AU_DEF(type) inline type() = default;
|
#define AU_DEF(type) inline type() = default;
|
||||||
|
|
||||||
#define AU_COPY(type) inline type(const type&) = default; inline type &operator=(const type &) = default;
|
#define AU_COPY(type) inline type(const type&) = default; inline type &operator=(const type &) = default;
|
||||||
#define AU_MOVE(type) inline type(type&&) = default; inline type &operator=(type &&) = default;
|
#define AU_MOVE(type) inline type(type&&) = default; inline type &operator=(type &&) = default;
|
||||||
#define AU_COPY_MOVE(type) AU_COPY(type) AU_MOVE(type)
|
#define AU_COPY_MOVE(type) AU_COPY(type) AU_MOVE(type)
|
||||||
#define AU_COPY_MOVE_DEF(type) AU_COPY(type) AU_MOVE(type) AU_DEF(type)
|
#define AU_COPY_MOVE_DEF(type) AU_COPY(type) AU_MOVE(type) AU_DEF(type)
|
||||||
|
|
||||||
#define AU_NO_COPY(type) inline type(const type&) = delete;
|
#define AU_NO_COPY(type) inline type(const type&) = delete;
|
||||||
#define AU_NO_MOVE(type) inline type(type&&) = delete;
|
#define AU_NO_MOVE(type) inline type(type&&) = delete;
|
||||||
#define AU_NO_COPY_NO_MOVE(type) AU_NO_COPY(type) AU_NO_MOVE(type)
|
#define AU_NO_COPY_NO_MOVE(type) AU_NO_COPY(type) AU_NO_MOVE(type)
|
||||||
|
|
||||||
|
#define AU_OPERATOR_COPY(type) inline type &operator =(const type ©) { AuResetMember(*this, copy); return *this; }
|
||||||
|
#define AU_OPERATOR_MOVE(type) inline type &operator =(type &&move) { AuResetMember(*this, AuMove(move)); return *this; }
|
||||||
|
#define AU_OPERATOR_COPY_MOVE(type) AU_OPERATOR_COPY(type) AU_OPERATOR_MOVE(type)
|
||||||
|
|
||||||
#if !defined(AU_SHARED_FROM_THIS)
|
#if !defined(AU_SHARED_FROM_THIS)
|
||||||
#define AU_SHARED_FROM_THIS (AuStaticPointerCast<AuRemovePointer_t<decltype(this)>>(this->SharedFromThis()))
|
#define AU_SHARED_FROM_THIS (AuStaticPointerCast<AuRemovePointer_t<decltype(this)>>(this->SharedFromThis()))
|
||||||
|
Loading…
Reference in New Issue
Block a user