diff --git a/Include/auROXTL/AU_MACROS.hpp b/Include/auROXTL/AU_MACROS.hpp index d91d562..6c65bb2 100644 --- a/Include/auROXTL/AU_MACROS.hpp +++ b/Include/auROXTL/AU_MACROS.hpp @@ -8,12 +8,15 @@ ***/ #pragma once -#define AU_COPY(type) type(const type&) = default; type &operator=(const type &) = default; -#define AU_MOVE(type) type(type&&) = default; type &operator=(type &&) = default; -#define AU_COPY_MOVE(type) AU_COPY(type) AU_MOVE(type) +#define AU_DEF(type) inline type() = default; -#define AU_NO_COPY(type) type(const type&) = delete; -#define AU_NO_MOVE(type) type(type&&) = delete; +#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_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_NO_COPY(type) inline type(const 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) #if !defined(AU_SHARED_FROM_THIS) @@ -209,4 +212,4 @@ struct AuStringException : std::exception #define AU_EMIT_FIRST_COMMA_FIRST(n)n #define AU_EMIT_FIRST_COMMA_OTHERS(n),n -#include "Objects/Objects.hpp" \ No newline at end of file +#include "Objects/Objects.hpp"