// Check the user-defined macro for warnings
#if defined(PSTL_USAGE_WARNINGS)
-# undef _PSTL_USAGE_WARNINGS
-# define _PSTL_USAGE_WARNINGS PSTL_USAGE_WARNINGS
-// Check the internal macro for warnings
-#elif !defined(_PSTL_USAGE_WARNINGS)
-# define _PSTL_USAGE_WARNINGS 0
+# define _PSTL_USAGE_WARNINGS
#endif
#if !defined(_PSTL_ASSERT)
int32_t value;
int32_t copied_times = 0;
constexpr explicit copy_int(int32_t val = 0) : value(val) {}
+ constexpr copy_int(copy_int const& other) : value(other.value), copied_times(other.copied_times) { }
constexpr copy_int&
operator=(const copy_int& other)
int32_t my_field;
MyClass() { my_field = 0; }
MyClass(int32_t in) { my_field = in; }
- MyClass(const MyClass& in) { my_field = in.my_field; }
+ MyClass(const MyClass& in) = default;
friend MyClass
operator+(const MyClass& x, const MyClass& y)