File indexing completed on 2024-05-19 05:29:32
0001 /* 0002 * SPDX-FileCopyrightText: 2012-2016 Ivan Cukic <ivan.cukic@kde.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #pragma once 0008 0009 #include <utility> 0010 0011 namespace kamd 0012 { 0013 namespace utils 0014 { 0015 template<typename T> 0016 d_ptr<T>::d_ptr() 0017 : d(new T()) 0018 { 0019 } 0020 0021 template<typename T> 0022 template<typename... Args> 0023 d_ptr<T>::d_ptr(Args &&...args) 0024 : d(new T(std::forward<Args>(args)...)) 0025 { 0026 } 0027 0028 template<typename T> 0029 d_ptr<T>::~d_ptr() 0030 { 0031 } 0032 0033 template<typename T> 0034 T *d_ptr<T>::operator->() const 0035 { 0036 return d.get(); 0037 } 0038 0039 } // namespace utils 0040 } // namespace kamd