Seastar
High performance C++ framework for concurrent servers
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Classes | Functions
Memory management

Detailed Description

Functions and classes for managing memory.

Memory management in seastar consists of the following:

Classes

class  seastar::deleter
 
class  seastar::temporary_buffer< CharType >
 

Functions

 seastar::deleter::~deleter ()
 Destroys the deleter and carries out the encapsulated action.
 
deleterseastar::deleter::operator= (deleter &&x) noexcept
 
template<typename Object >
deleter make_deleter (deleter next, Object o)
 
template<typename Object >
deleter make_deleter (Object o)
 
deleter seastar::deleter::share ()
 
void seastar::deleter::append (deleter d)
 
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)
 

Function Documentation

◆ append()

void seastar::deleter::append ( deleter  d)
inline

Appends another deleter to this deleter. When this deleter is destroyed, both encapsulated actions will be carried out.

◆ make_deleter() [1/2]

template<typename Object >
deleter make_deleter ( deleter  next,
Object  o 
)
related

Makes a deleter that encapsulates the action of destroying an object, as well as running another deleter. The input object is moved to the deleter, and destroyed when the deleter is destroyed.

Parameters
nextdeleter that will become part of the new deleter's encapsulated action
oobject whose destructor becomes part of the new deleter's encapsulated action

◆ make_deleter() [2/2]

template<typename Object >
deleter make_deleter ( Object  o)
related

Makes a deleter that encapsulates the action of destroying an object. The input object is moved to the deleter, and destroyed when the deleter is destroyed.

Parameters
oobject whose destructor becomes the new deleter's encapsulated action

◆ make_free_deleter() [1/2]

deleter make_free_deleter ( deleter  next,
void *  obj 
)
related

Makes a deleter that calls std::free() when it is destroyed, as well as invoking the encapsulated action of another deleter.

Parameters
nextdeleter to invoke.
objobject to free.

◆ make_free_deleter() [2/2]

deleter make_free_deleter ( void *  obj)
related

Makes a deleter that calls std::free() when it is destroyed.

Parameters
objobject to free.

◆ make_object_deleter() [1/2]

template<typename T >
deleter make_object_deleter ( deleter  d,
T &&  obj 
)
related

◆ make_object_deleter() [2/2]

template<typename T >
deleter make_object_deleter ( T &&  obj)
related

◆ share()

deleter seastar::deleter::share ( )
inline

Performs a sharing operation. The encapsulated action will only be carried out after both the original deleter and the returned deleter are both destroyed.

Returns
a deleter with the same encapsulated action as this one.