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
{
}
+ 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;
};
{
}
+ 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;