Quick Links:

bal | bbl | bdl | bsl

Namespaces

Component bslma_managedptrdeleter
[Package bslma]

Provide an in-core value-semantic class to call a delete function. More...

Namespaces

namespace  bslma

Detailed Description

Outline
Purpose:
Provide an in-core value-semantic class to call a delete function.
Classes:
bslma::ManagedPtrDeleter in-core value-semantic class storing a deleter
See also:
Component bslma_managedptr
Description:
This component provides a single, complex-constrained in-core value-semantic attribute class, bslma::ManagedPtrDeleter, that is used to store a bound function call for a "factory" to destroy an object.
Attributes:
  Name              Type                      Default
  ----------------  ------------------------  -------
  object            void *                    0
  factory           void *                    0
  deleter           void (*)(void *, void *)  0

  Complex Constraints
  ------------------------------------------------------------------
  '0 == deleter' or 'deleter(object, factory)' has defined behavior.
  • object Address of the object to be destroyed by the factory.
  • factory Address of the factory object that is responsible for destroying object.
  • deleter Address of the function that restores the erased types of object and factory, and invokes the factory method to destroy object.