| 217 | static void reset() { ctorCount() = 0; destroyCount() = 0; } |
| 218 | |
| 219 | explicit ThrowingMovable(int id, bool throwOnCctor = false, bool throwOnAssignment = false, bool throwOnSecondCctor = false) |
| 220 | : id(id), moved(false), copied(false), throwOnCctor(throwOnCctor), throwOnAssignment(throwOnAssignment), throwOnSecondCctor(throwOnSecondCctor) |
| 221 | { |
| 222 | ctorCount().fetch_add(1, std::memory_order_relaxed); |
| 223 | } |
| 224 | |
| 225 | ThrowingMovable(ThrowingMovable const& o) |
| 226 | : id(o.id), moved(false), copied(true), throwOnCctor(o.throwOnCctor), throwOnAssignment(o.throwOnAssignment), throwOnSecondCctor(false) |