class (1040B)
1 #name : class ... { ... } 2 # -- 3 /** 4 * @brief Summary 5 * 6 * Description. 7 */ 8 class $1 9 { 10 $0 11 12 public: 13 /** @name Construction and Destruction 14 @{ */ 15 16 $1() noexcept? { 17 TRACE_CTOR($1, ""); 18 } 19 20 #if defined(DEBUG_MODE) 21 virtual? ~$1() { 22 try { 23 TRACE_DTOR($1); 24 } 25 catch (...) { 26 std::terminate(); 27 } 28 } 29 #else 30 ~$1() = default|delete; 31 #endif 32 33 /*@}*/ 34 35 /** @name Assignment, Copy and Move 36 @{*/ 37 38 #if defined(DEBUG_MODE) 39 $1(const $1& rhs) noexcept? { 40 TRACE_CTOR($1, "copy"); 41 *this = rhs; 42 } 43 #else 44 $1(const $1&) = default|delete; 45 #endif 46 47 $1& operator=(const $1&) = default|delete; 48 $1& operator=(const $1& rhs) noexcept? { 49 //if (this != &rhs) { 50 //} 51 return *this; 52 } 53 54 #if defined(DEBUG_MODE) 55 $1($1&&r rhs) noexcept? { 56 TRACE_CTOR($1, "move"); 57 *this = rhs; 58 } 59 #else 60 $1($1&&r) = default|delete; 61 #endif 62 63 $1& operator=($1&&r) = default|delete; 64 $1& operator=($1&&r rhs) noexcept? { 65 //if (this != &rhs) { 66 //} 67 return *this; 68 } 69 70 /*@}*/ 71 }; // class $1