From 1660933d76b335048b7e9b3085d3e64f7af7b338 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Fri, 13 Nov 2026 20:27:47 +0000 Subject: replace by malloc(), cleanup attribute, and removed unused .h --- include/memory.h | 65 +++----------------------------------------------------- 1 file changed, 3 insertions(+), 62 deletions(-) (limited to 'include') diff --git a/include/memory.h b/include/memory.h index 6cf4536..15cdd11 100644 --- a/include/memory.h +++ b/include/memory.h @@ -1,67 +1,8 @@ #pragma once -#include +#include -namespace ov4 +inline void cleanup_free_argv(char ***p) { - -template -class T_raw_mem -{ - -public: - - void *_p; - std::size_t _len; - - explicit T_raw_mem(std::size_t size) - { - _p = operator new(size); - _len = size; - } - - ~T_raw_mem() - { - operator delete(_p); - } - - T *get() const noexcept - { - return static_cast(_p); - } - - std::size_t get_size() const noexcept - { - return len; - } - - // COPY is not allowed - T_raw_mem(const T_raw_mem&) = delete; - T_raw_mem& operator=(const T_raw_mem&) = delete; - - // MOVE constructor - T_raw_mem(T_raw_mem &&x) noexcept - : p(std::exchange(x._p, nullptr)), slen(std::exchange(x._len, 0)) - { /* empty */ } - - T_raw_mem& operator=(T_raw_mem &&x) noexcept - { - // if they are same - // release itself, which is not expected - if (this != &x) - { - // consider statement: y = x; - // release memory of y (if exist) - operator delete(_p); - - // and then move - _p = std::exchange(x._p, nullptr); - _len = std::exchange(x._len, 0); - } - - return *this; - } - -}; - + free(*p); } -- cgit v1.3.1-4-g156e