JS8Call-Improved master
Loading...
Searching...
No Matches
pimpl_impl.h
1#ifndef PIMPL_IMPL_HPP_
2#define PIMPL_IMPL_HPP_
3
4#include <utility>
5
6template <typename T> pimpl<T>::pimpl() : m_{new T{}} {}
7
8template <typename T>
9template <typename... Args>
10pimpl<T>::pimpl(Args &&...args) : m_{new T{std::forward<Args>(args)...}} {}
11
12template <typename T> pimpl<T>::~pimpl() {}
13
14template <typename T> T *pimpl<T>::operator->() { return m_.get(); }
15
16template <typename T> T const *pimpl<T>::operator->() const { return m_.get(); }
17
18template <typename T> T &pimpl<T>::operator*() { return *m_.get(); }
19
20template <typename T> T const &pimpl<T>::operator*() const { return *m_.get(); }
21
22#endif