Construction
In general, construct an
RWScopeGuard object by initializing it using one of the
rwtMakeScopeGuard() functions:
RWScopeGuard sg0 = rwtMakeScopeGuard(free, p);
You can also copy construct it:
// ...
RWScopeGuard sg0 = rwtMakeScopeGuard(free, p);
RWScopeGuard sg2 (sg0);
RWScopeGuard sg3 = sg0;
// ...
However, because
RWScopeGuard is not actually a class but a typedef for
const RWScopeGuardImp&, it is not default constructible or assignable:
// ...
RWScopeGuard sg1; // fail; not default constructible
sg1 = sg0; // fail; not assignable
// ...