Clean-up: lttng: utils: missing special member functions
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 22 Mar 2024 19:35:29 +0000 (15:35 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 22 Mar 2024 19:36:00 +0000 (15:36 -0400)
clang-tidy warns:
  warning: class 'session_list' defines a move constructor but does not define a destructor, a copy constructor, a copy assignment operator or a move assignment operator [cppcoreguidelines-special-member-functions]

This warning related to the "Rule of Five":

If a class requires a custom destructor, copy constructor, or copy
assignment operator due to manual resource management, it likely needs
to explicitly define all five (including move constructor and move
assignment operator) to correctly manage the resources across all types
of object copying and moving scenarios. This rule helps prevent resource
leaks, double frees, and other common issues related to resource
management.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I970cd1ab905eb877241f7e559b47349b9371f261

src/bin/lttng/utils.hpp

index dc9c23e29923d85503ad0707d82d6c19ce359bb4..7f398397a95a38ca585bcfcd000095497f913c6d 100644 (file)
@@ -67,6 +67,11 @@ public:
        {
        }
 
+       session_storage(session_storage&) = delete;
+       session_storage& operator=(const session_storage& other) = delete;
+       session_storage& operator=(session_storage&& other) = delete;
+       ~session_storage() = default;
+
        lttng_session_uptr _array = nullptr;
        std::size_t _count = 0;
 };
@@ -128,6 +133,11 @@ public:
        {
        }
 
+       session_list(session_list&) = delete;
+       session_list& operator=(const session_list& other) = delete;
+       session_list& operator=(session_list&& other) = delete;
+       ~session_list() = default;
+
        void resize(std::size_t new_size) noexcept
        {
                _container._count = new_size;
This page took 0.025956 seconds and 4 git commands to generate.