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