generic disposable object with move semantics More...
#include <ql/utilities/disposable.hpp>
Inherits T.
Public Member Functions | |
Disposable (T &t) | |
Disposable (const Disposable< T > &t) | |
Disposable< T > & | operator= (const Disposable< T > &t) |
generic disposable object with move semantics
This class can be used for returning a value by copy. It relies on the returned object exposing a swap(T&)
method through which the copy constructor and assignment operator are implemented, thus resulting in actual move semantics. Typical use of this class is along the following lines:
T
to Disposable<T>
is destructive, i.e., it does not preserve the state of the original object. Therefore, it is necessary for the developer to avoid code such as which would likely render the passed object unusable. The correct way to obtain the desired behavior would be: