CUBRID Engine  latest
lockfree::freelist< T >::free_node Class Reference

#include <lockfree_freelist.hpp>

Inheritance diagram for lockfree::freelist< T >::free_node:
Inheritance graph
Collaboration diagram for lockfree::freelist< T >::free_node:
Collaboration graph

Public Member Functions

 free_node ()
 
 ~free_node ()=default
 
T & get_data ()
 
void reclaim () finaloverride
 
- Public Member Functions inherited from lockfree::tran::reclaimable_node
 reclaimable_node ()
 
virtual ~reclaimable_node ()=default
 

Private Member Functions

void set_owner (freelist &m_freelist)
 
void set_freelist_next (free_node *next)
 
void reset_freelist_next (void)
 
free_nodeget_freelist_next ()
 

Private Attributes

friend freelist
 
freelistm_owner
 
m_t
 

Additional Inherited Members

- Protected Attributes inherited from lockfree::tran::reclaimable_node
reclaimable_nodem_retired_next
 

Detailed Description

template<class T>
class lockfree::freelist< T >::free_node

Definition at line 104 of file lockfree_freelist.hpp.

Constructor & Destructor Documentation

template<class T >
lockfree::freelist< T >::free_node::free_node ( )

Definition at line 486 of file lockfree_freelist.hpp.

template<class T >
lockfree::freelist< T >::free_node::~free_node ( )
default

Member Function Documentation

template<class T >
T & lockfree::freelist< T >::free_node::get_data ( )

Definition at line 535 of file lockfree_freelist.hpp.

References lockfree::freelist< T >::free_node::m_t.

template<class T >
freelist< T >::free_node * lockfree::freelist< T >::free_node::get_freelist_next ( )
private
template<class T >
void lockfree::freelist< T >::free_node::reset_freelist_next ( void  )
private

Definition at line 509 of file lockfree_freelist.hpp.

References lockfree::tran::reclaimable_node::m_retired_next, and NULL.

Referenced by lockfree::freelist< T >::pop_from_available().

Here is the caller graph for this function:

template<class T >
void lockfree::freelist< T >::free_node::set_freelist_next ( free_node next)
private

Definition at line 502 of file lockfree_freelist.hpp.

References lockfree::tran::reclaimable_node::m_retired_next.

Referenced by lockfree::freelist< T >::alloc_list(), and lockfree::freelist< T >::push_to_list().

Here is the caller graph for this function:

template<class T >
void lockfree::freelist< T >::free_node::set_owner ( freelist m_freelist)
private

Definition at line 495 of file lockfree_freelist.hpp.

References lockfree::freelist< T >::free_node::m_owner.

Referenced by lockfree::freelist< T >::alloc_list().

Here is the caller graph for this function:

Member Data Documentation

template<class T >
friend lockfree::freelist< T >::free_node::freelist
private

Definition at line 115 of file lockfree_freelist.hpp.

template<class T >
T lockfree::freelist< T >::free_node::m_t
private

The documentation for this class was generated from the following file: