fedora-csb-system-manager
1#name : class ... { ... }
2# --
3/**
4 * @brief Summary
5 *
6 * Description.
7 */
8class $1
9{
10 $0
11
12public:
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