js8call/JS8_Include/pimpl_impl.h
2026-01-18 19:19:15 -06:00

22 lines
610 B
C++

#ifndef PIMPL_IMPL_HPP_
#define PIMPL_IMPL_HPP_
#include <utility>
template <typename T> pimpl<T>::pimpl() : m_{new T{}} {}
template <typename T>
template <typename... Args>
pimpl<T>::pimpl(Args &&...args) : m_{new T{std::forward<Args>(args)...}} {}
template <typename T> pimpl<T>::~pimpl() {}
template <typename T> T *pimpl<T>::operator->() { return m_.get(); }
template <typename T> T const *pimpl<T>::operator->() const { return m_.get(); }
template <typename T> T &pimpl<T>::operator*() { return *m_.get(); }
template <typename T> T const &pimpl<T>::operator*() const { return *m_.get(); }
#endif