libzypp 17.37.17
|
Reference counted access to a Tp
object calling a custom Dispose
function when the last AutoDispose handle to it is destroyed or reset.
More...
#include <zypp-core/AutoDispose.h>
Classes | |
struct | Impl |
Public Types | |
using | param_type = typename boost::call_traits<Tp>::param_type |
using | reference = typename boost::call_traits<Tp>::reference |
using | const_reference = typename boost::call_traits<Tp>::const_reference |
using | value_type = Tp |
using | result_type = typename boost::call_traits<Tp>::value_type |
using | dispose_param_type = std::conditional_t< std::is_pointer_v<Tp> || std::is_integral_v<Tp>, Tp const, reference > |
using | Dispose = function<void ( dispose_param_type )> |
Dispose function signatue. |
Public Member Functions | |
AutoDispose () | |
Default Ctor using default constructed value and no dispose function. | |
AutoDispose (Dispose dispose_r) | |
Ctor taking dispose function and using default constructed value. | |
AutoDispose (value_type value_r) | |
Ctor taking value and no dispose function. | |
AutoDispose (value_type value_r, Dispose dispose_r) | |
Ctor taking value and dispose function. | |
operator reference () const | |
Provide implicit conversion to Tp& . | |
reference | value () const |
Reference to the Tp object. | |
reference | operator* () const |
Reference to the Tp object. | |
value_type * | operator-> () const |
Pointer to the Tp object (asserted to be != NULL). | |
void | reset () |
Reset to default Ctor values. | |
void | swap (AutoDispose &rhs) noexcept |
Exchange the contents of two AutoDispose objects. | |
bool | unique () const |
Returns true if this is the only AutoDispose instance managing the current data object. | |
const Dispose & | getDispose () const |
Return the current dispose function. | |
void | setDispose (const Dispose &dispose_r) |
Set a new dispose function. | |
void | resetDispose () |
Set no dispose function. | |
void | swapDispose (Dispose &dispose_r) |
Exchange the dispose function. |
Private Attributes | |
shared_ptr< Impl > | _pimpl |
Related Symbols | |
(Note that these are not member symbols.) | |
template<class Tp> | |
std::ostream & | operator<< (std::ostream &str, const AutoDispose< Tp > &obj) |
Stream output of the Tp object. |
Reference counted access to a Tp
object calling a custom Dispose
function when the last AutoDispose handle to it is destroyed or reset.
AutoDispose
object does not apply to the stored Tp
object. If the stored Tp
object should be immutable, you should use AutoDispose<const Tp>.Pass a filename to the application and provide the appropriate code to be executed when the file is no longer needed:
Exception safe handling of temporary files:
Definition at line 94 of file AutoDispose.h.
using zypp::AutoDispose< Tp >::param_type = typename boost::call_traits<Tp>::param_type |
Definition at line 97 of file AutoDispose.h.
using zypp::AutoDispose< Tp >::reference = typename boost::call_traits<Tp>::reference |
Definition at line 98 of file AutoDispose.h.
using zypp::AutoDispose< Tp >::const_reference = typename boost::call_traits<Tp>::const_reference |
Definition at line 99 of file AutoDispose.h.
using zypp::AutoDispose< Tp >::value_type = Tp |
Definition at line 100 of file AutoDispose.h.
using zypp::AutoDispose< Tp >::result_type = typename boost::call_traits<Tp>::value_type |
Definition at line 101 of file AutoDispose.h.
using zypp::AutoDispose< Tp >::dispose_param_type = std::conditional_t< std::is_pointer_v<Tp> || std::is_integral_v<Tp>, Tp const, reference > |
Definition at line 104 of file AutoDispose.h.
using zypp::AutoDispose< Tp >::Dispose = function<void ( dispose_param_type )> |
Dispose function signatue.
Definition at line 108 of file AutoDispose.h.
|
inline |
Default Ctor using default constructed value and no dispose function.
Definition at line 112 of file AutoDispose.h.
|
inlineexplicit |
Ctor taking dispose function and using default constructed value.
Definition at line 117 of file AutoDispose.h.
|
inlineexplicit |
Ctor taking value and no dispose function.
Definition at line 122 of file AutoDispose.h.
|
inline |
Ctor taking value and dispose function.
Definition at line 127 of file AutoDispose.h.
|
inline |
Provide implicit conversion to Tp&
.
Definition at line 134 of file AutoDispose.h.
|
inline |
Reference to the Tp
object.
Definition at line 138 of file AutoDispose.h.
|
inline |
Reference to the Tp
object.
Definition at line 142 of file AutoDispose.h.
|
inline |
Pointer to the Tp
object (asserted to be != NULL).
Definition at line 146 of file AutoDispose.h.
|
inline |
Reset to default Ctor values.
Definition at line 150 of file AutoDispose.h.
|
inlinenoexcept |
Exchange the contents of two AutoDispose objects.
Definition at line 154 of file AutoDispose.h.
|
inline |
Returns true if this is the only AutoDispose instance managing the current data object.
Definition at line 158 of file AutoDispose.h.
|
inline |
Return the current dispose function.
Definition at line 163 of file AutoDispose.h.
|
inline |
Set a new dispose function.
Definition at line 167 of file AutoDispose.h.
|
inline |
Set no dispose function.
Definition at line 171 of file AutoDispose.h.
|
inline |
Exchange the dispose function.
Definition at line 175 of file AutoDispose.h.
|
Stream output of the Tp
object.
Definition at line 300 of file AutoDispose.h.
|
private |
Definition at line 199 of file AutoDispose.h.