diff --git a/tl/optional.hpp b/tl/optional.hpp index c1a75a0..0e7ab9e 100644 --- a/tl/optional.hpp +++ b/tl/optional.hpp @@ -43,18 +43,18 @@ #define TL_OPTIONAL_NO_CONSTRR // GCC < 5 doesn't support some standard C++11 type traits -#define IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T) \ +#define TL_OPTIONAL_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T) \ std::has_trivial_copy_constructor::value -#define IS_TRIVIALLY_COPY_ASSIGNABLE(T) std::has_trivial_copy_assign::value +#define TL_OPTIONAL_IS_TRIVIALLY_COPY_ASSIGNABLE(T) std::has_trivial_copy_assign::value // This one will be different for GCC 5.7 if it's ever supported -#define IS_TRIVIALLY_DESTRUCTIBLE(T) std::is_trivially_destructible::value +#define TL_OPTIONAL_IS_TRIVIALLY_DESTRUCTIBLE(T) std::is_trivially_destructible::value #else -#define IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T) \ +#define TL_OPTIONAL_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T) \ std::is_trivially_copy_constructible::value -#define IS_TRIVIALLY_COPY_ASSIGNABLE(T) \ +#define TL_OPTIONAL_IS_TRIVIALLY_COPY_ASSIGNABLE(T) \ std::is_trivially_copy_assignable::value -#define IS_TRIVIALLY_DESTRUCTIBLE(T) std::is_trivially_destructible::value +#define TL_OPTIONAL_IS_TRIVIALLY_DESTRUCTIBLE(T) std::is_trivially_destructible::value #endif #if __cplusplus > 201103L @@ -380,7 +380,7 @@ template struct optional_operations_base : optional_storage_base { // This class manages conditionally having a trivial copy constructor // This specialization is for when T is trivially copy constructible -template +template struct optional_copy_base : optional_operations_base { using optional_operations_base::optional_operations_base; }; @@ -436,9 +436,9 @@ template struct optional_move_base : optional_copy_base { }; // This class manages conditionally having a trivial copy assignment operator -template +template struct optional_copy_assign_base : optional_move_base { using optional_move_base::optional_move_base; };