8#ifndef INCLUDED_BSLMA_MANAGEDPTRDELETER
9#define INCLUDED_BSLMA_MANAGEDPTRDELETER
77#include <bslscm_version.h>
115 typedef void (*
Deleter)(
void *managedObject,
void *cookie);
222, d_factory_p(factory)
250 d_deleter(d_object_p, d_factory_p);
277 const ManagedPtrDeleter& rhs)
279 return lhs.object() == rhs.object()
280 && lhs.factory() == rhs.factory()
281 && lhs.deleter() == rhs.deleter();
286 const ManagedPtrDeleter& rhs)
288 return lhs.object() != rhs.object()
289 || lhs.factory() != rhs.factory()
290 || lhs.deleter() != rhs.deleter();
Definition bslma_managedptrdeleter.h:109
~ManagedPtrDeleter()=default
void(* Deleter)(void *managedObject, void *cookie)
Deleter function prototype used to destroy the managed pointer.
Definition bslma_managedptrdeleter.h:115
void set(void *object, void *factory, Deleter deleter)
Definition bslma_managedptrdeleter.h:237
void clear()
Reset this ManagedPtrDeleter to its default-constructed state.
Definition bslma_managedptrdeleter.h:229
ManagedPtrDeleter()
Definition bslma_managedptrdeleter.h:210
ManagedPtrDeleter & operator=(const ManagedPtrDeleter &rhs)
void * factory() const
Definition bslma_managedptrdeleter.h:261
void * object() const
Return a pointer to the managed object associated with this deleter.
Definition bslma_managedptrdeleter.h:267
Deleter deleter() const
Return the deleter function associated with this deleter.
Definition bslma_managedptrdeleter.h:255
void deleteManagedObject() const
Definition bslma_managedptrdeleter.h:246
ManagedPtrDeleter(const ManagedPtrDeleter &original)
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1762
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition balxml_encoderoptions.h:68
bool operator==(const ManagedPtrDeleter &lhs, const ManagedPtrDeleter &rhs)
bool operator!=(const ManagedPtrDeleter &lhs, const ManagedPtrDeleter &rhs)
Definition bdlbb_blob.h:576
Definition bslmf_integralconstant.h:244
Definition bslmf_isbitwisemoveable.h:718