POD wrapper around an element (a void*) and an associated deleter. This must be POD, as we memset() it to 0 and memcpy() it around.

Synopsis

Declared in <folly/detail/ThreadLocalDetail.h>

struct ElementWrapper;

Type Aliases

Name

Description

DeleterFunType

Signature of a raw deleter function.

DeleterObjType

Type‐erased deleter callable.

Member Functions

Name

Description

ElementWrapper [constructor]

Constructs an empty wrapper.

cleanup

Disposes any object deleter and resets the wrapper to empty.

dispose

Disposes the held element using its deleter.

release

Releases ownership of the held element without disposing it.

set

set overloads

Static Member Functions

Name

Description

castForgetAlign

Reinterprets a deleter function pointer as a tagged integer.

makeDeleter

makeDeleter overloads

Data Members

Name

Description

deleter

The tagged deleter, either a function pointer or an object pointer.

ptr

The stored element pointer.

Static Data Members

Name

Description

deleter_all_mask

Mask covering all deleter tag bits.

deleter_obj_mask

Bit flag marking that the deleter is an object rather than a function.

Created with MrDocs