JS8Call-Improved
master
Loading...
Searching...
No Matches
pimpl_h.h
1
#ifndef PIMPL_H_HPP_
2
#define PIMPL_H_HPP_
3
4
#include <memory>
5
6
//
7
// opaque implementation type with perfect forwarding of constructor arguments
8
//
9
// see pimpl_impl.h for the out-of-line definitions of the members and lifetime
10
// management
11
//
12
// thanks to Herb Sutter (http://herbsutter.com/gotw/_101/) for the
13
// implementation
14
//
15
16
template
<
typename
T>
class
pimpl {
17
private
:
18
std::unique_ptr<T> m_;
19
20
public
:
21
pimpl();
22
template
<
typename
... Args> pimpl(Args &&...);
23
~pimpl();
24
T *operator->();
25
T
const
*operator->()
const
;
26
T &operator*();
27
T
const
&operator*()
const
;
28
};
29
30
#endif
JS8_Include
pimpl_h.h
Generated on
for JS8Call-Improved by
1.16.1