chsvlib
chsv helper source code

◆ AutoResource() [27/28]

AutoResource ( handle_rref  rrefHandle,
closer_rref  rrefCloser,
checker_rref  rrefChecker 
)

Constructs an AutoResource object from an rvalues of a handle to be managed as well as rvalues of a closer and a checker using move semantics. The handle will be managed by the created object using the closer and the checker to close the handle and to get permission for it respectively.

Parameters
rrefHandleis an rvalue reference to a resource handle which is to be owned and managed by the created object.
rrefCloseris an rvalue reference to a closer object passed using move semantics and used for closing handles owned and managed by the created instance of the AutoResource.
rrefCheckeris an rvalue reference to a checker object to be used to check if a managed handle is allowed to be closed by the closer.
Remarks
The object takes ownership of the handle, initializing its stored handle, closer and checker with the specified values.
The only handles closed are the ones which are allowed to be closed by the checker.
Warning
The checker callable object must not allow the closing of the default constructed handle (i.e. handle_type()).