JS8Call-Improved master
Loading...
Searching...
No Matches
pimpl_h.h
Go to the documentation of this file.
1
13#ifndef PIMPL_H_HPP_
14#define PIMPL_H_HPP_
15
16#include <memory>
17
28template <typename T> class pimpl {
29 private:
33 std::unique_ptr<T> m_;
34
35 public:
41 pimpl();
42
52 template <typename... Args> pimpl(Args &&... args);
53
60 ~pimpl();
61
66 T *operator->();
67
72 T const *operator->() const;
73
78 T &operator*();
79
84 T const &operator*() const;
85};
86
87#endif // PIMPL_H_HPP_
~pimpl()
Destroys the managed implementation block.
Definition pimpl_impl.h:52
T & operator*()
Overloaded indirection dereference operator for mutable access.
Definition pimpl_impl.h:76
pimpl()
Constructs an instance of the opaque implementation object.
Definition pimpl_impl.h:26
T * operator->()
Overloaded structure dereference arrow operator for mutable operations.
Definition pimpl_impl.h:60