Seastar
High performance C++ framework for concurrent servers
|
Provides a mechanism for managing the lifetime of a buffer.
A deleter
is an object that is used to inform the consumer of some buffer (not referenced by the deleter itself) how to delete the buffer. This can be by calling an arbitrary function or destroying an object carried by the deleter. Examples of a deleter's encapsulated actions are:
std::free(p)
on some captured pointer, pdelete
p
on some captured pointer, pA deleter performs its action from its destructor.
#include <seastar/core/deleter.hh>
Public Member Functions | |
deleter () noexcept=default | |
Constructs an empty deleter that does nothing in its destructor. | |
deleter (const deleter &)=delete | |
deleter (deleter &&x) noexcept | |
Moves a deleter. | |
~deleter () | |
Destroys the deleter and carries out the encapsulated action. | |
deleter & | operator= (deleter &&x) noexcept |
deleter & | operator= (deleter &)=delete |
deleter | share () |
operator bool () const noexcept | |
Checks whether the deleter has an associated action. | |
void | append (deleter d) |
Related Functions | |
(Note that these are not member functions.) | |
template<typename Object > | |
deleter | make_deleter (deleter next, Object o) |
template<typename Object > | |
deleter | make_deleter (Object o) |
deleter | make_free_deleter (void *obj) |
deleter | make_free_deleter (deleter next, void *obj) |
template<typename T > | |
deleter | make_object_deleter (T &&obj) |
template<typename T > | |
deleter | make_object_deleter (deleter d, T &&obj) |