diff options
author | couriersud <couriersud@gmx.org> | 2019-02-13 23:23:14 +0100 |
---|---|---|
committer | couriersud <couriersud@gmx.org> | 2019-02-13 23:23:14 +0100 |
commit | aad01d572aef712636d7cb9ac1b24931df93d334 (patch) | |
tree | d9321e63102d7a403a20673dcdc9592da9b2236e | |
parent | dfca58548d97756adf14124508d0ae9a302337d3 (diff) |
netlist: indent. (nw)
-rw-r--r-- | src/lib/netlist/plib/palloc.h | 228 |
1 files changed, 114 insertions, 114 deletions
diff --git a/src/lib/netlist/plib/palloc.h b/src/lib/netlist/plib/palloc.h index 72a10d54dc2..da404be279f 100644 --- a/src/lib/netlist/plib/palloc.h +++ b/src/lib/netlist/plib/palloc.h @@ -18,138 +18,138 @@ namespace plib { -//============================================================ -// Memory allocation -//============================================================ - -template<typename T, typename... Args> -T *palloc(Args&&... args) -{ - return new T(std::forward<Args>(args)...); -} - -template<typename T> -void pfree(T *ptr) -{ - delete ptr; -} - -template<typename T> -T* palloc_array(const std::size_t num) -{ - return new T[num](); -} - -template<typename T> -void pfree_array(T *ptr) -{ - delete [] ptr; -} - -template<typename T, typename... Args> -std::unique_ptr<T> make_unique(Args&&... args) -{ - return std::unique_ptr<T>(new T(std::forward<Args>(args)...)); -} - -template<typename BC, typename DC, typename... Args> -std::unique_ptr<BC> make_unique_base(Args&&... args) -{ - std::unique_ptr<BC> ret(new DC(std::forward<Args>(args)...)); - return ret; -} - -template <typename SC> -class owned_ptr -{ -private: - owned_ptr() - : m_ptr(nullptr), m_is_owned(true) { } -public: - owned_ptr(SC *p, bool owned) noexcept - : m_ptr(p), m_is_owned(owned) - { } - - owned_ptr(const owned_ptr &r) = delete; - owned_ptr & operator =(owned_ptr &r) = delete; - - template<typename DC> - owned_ptr & operator =(owned_ptr<DC> &&r) - { - if (m_is_owned && (m_ptr != nullptr)) - delete m_ptr; - m_is_owned = r.m_is_owned; - m_ptr = r.m_ptr; - r.m_is_owned = false; - r.m_ptr = nullptr; - return *this; - } + //============================================================ + // Memory allocation + //============================================================ - owned_ptr(owned_ptr &&r) noexcept + template<typename T, typename... Args> + T *palloc(Args&&... args) { - m_is_owned = r.m_is_owned; - m_ptr = r.m_ptr; - r.m_is_owned = false; - r.m_ptr = nullptr; + return new T(std::forward<Args>(args)...); } - owned_ptr &operator=(owned_ptr &&r) noexcept + template<typename T> + void pfree(T *ptr) { - m_is_owned = r.m_is_owned; - m_ptr = r.m_ptr; - r.m_is_owned = false; - r.m_ptr = nullptr; - return *this; + delete ptr; } - template<typename DC> - owned_ptr(owned_ptr<DC> &&r) noexcept + template<typename T> + T* palloc_array(const std::size_t num) { - m_ptr = static_cast<SC *>(r.get()); - m_is_owned = r.is_owned(); - r.release(); + return new T[num](); } - ~owned_ptr() - { - if (m_is_owned && (m_ptr != nullptr)) - delete m_ptr; - m_is_owned = false; - m_ptr = nullptr; - } - template<typename DC, typename... Args> - static owned_ptr Create(Args&&... args) + template<typename T> + void pfree_array(T *ptr) { - owned_ptr a; - auto *x = new DC(std::forward<Args>(args)...); - a.m_ptr = static_cast<SC *>(x); - return std::move(a); + delete [] ptr; } - template<typename... Args> - static owned_ptr Create(Args&&... args) + template<typename T, typename... Args> + std::unique_ptr<T> make_unique(Args&&... args) { - owned_ptr a; - a.m_ptr = new SC(std::forward<Args>(args)...); - return std::move(a); + return std::unique_ptr<T>(new T(std::forward<Args>(args)...)); } - SC * release() + + template<typename BC, typename DC, typename... Args> + std::unique_ptr<BC> make_unique_base(Args&&... args) { - SC *tmp = m_ptr; - m_is_owned = false; - m_ptr = nullptr; - return tmp; + std::unique_ptr<BC> ret(new DC(std::forward<Args>(args)...)); + return ret; } - bool is_owned() const { return m_is_owned; } - - SC * operator ->() const { return m_ptr; } - SC & operator *() const { return *m_ptr; } - SC * get() const { return m_ptr; } -private: - SC *m_ptr; - bool m_is_owned; -}; + template <typename SC> + class owned_ptr + { + private: + owned_ptr() + : m_ptr(nullptr), m_is_owned(true) { } + public: + owned_ptr(SC *p, bool owned) noexcept + : m_ptr(p), m_is_owned(owned) + { } + + owned_ptr(const owned_ptr &r) = delete; + owned_ptr & operator =(owned_ptr &r) = delete; + + template<typename DC> + owned_ptr & operator =(owned_ptr<DC> &&r) + { + if (m_is_owned && (m_ptr != nullptr)) + delete m_ptr; + m_is_owned = r.m_is_owned; + m_ptr = r.m_ptr; + r.m_is_owned = false; + r.m_ptr = nullptr; + return *this; + } + + owned_ptr(owned_ptr &&r) noexcept + { + m_is_owned = r.m_is_owned; + m_ptr = r.m_ptr; + r.m_is_owned = false; + r.m_ptr = nullptr; + } + + owned_ptr &operator=(owned_ptr &&r) noexcept + { + m_is_owned = r.m_is_owned; + m_ptr = r.m_ptr; + r.m_is_owned = false; + r.m_ptr = nullptr; + return *this; + } + + template<typename DC> + owned_ptr(owned_ptr<DC> &&r) noexcept + { + m_ptr = static_cast<SC *>(r.get()); + m_is_owned = r.is_owned(); + r.release(); + } + + ~owned_ptr() + { + if (m_is_owned && (m_ptr != nullptr)) + delete m_ptr; + m_is_owned = false; + m_ptr = nullptr; + } + template<typename DC, typename... Args> + static owned_ptr Create(Args&&... args) + { + owned_ptr a; + auto *x = new DC(std::forward<Args>(args)...); + a.m_ptr = static_cast<SC *>(x); + return std::move(a); + } + + template<typename... Args> + static owned_ptr Create(Args&&... args) + { + owned_ptr a; + a.m_ptr = new SC(std::forward<Args>(args)...); + return std::move(a); + } + SC * release() + { + SC *tmp = m_ptr; + m_is_owned = false; + m_ptr = nullptr; + return tmp; + } + + bool is_owned() const { return m_is_owned; } + + SC * operator ->() const { return m_ptr; } + SC & operator *() const { return *m_ptr; } + SC * get() const { return m_ptr; } + private: + SC *m_ptr; + bool m_is_owned; + }; } // namespace plib |