Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::IntrusiveList< T,, LT > Class Template Reference

#include <lists.h>

Public Types

typedef T ITEMTYPE
 
typedef LT LOCKTYPE
 

Public Member Functions

 IntrusiveList (void)
 
 ~IntrusiveList (void)
 
 IntrusiveList (const IntrusiveList< T, LINK, LT > &copy_from)
 
IntrusiveList< T, LINK, LT > & operator= (const IntrusiveList< T, LINK, LT > &copy_from)
 
template<typename LT2 >
void swap (IntrusiveList< T, LINK, LT2 > &swap_with)
 
template<typename LT2 >
void absorb_append (IntrusiveList< T, LINK, LT2 > &take_from)
 
void push_back (T *new_entry)
 
void push_front (T *new_entry)
 
bool empty (void) const
 
T * front (void) const
 
T * pop_front (void)
 
size_t erase (T *entry)
 

Public Attributes

LT lock
 
IntrusiveListLink< T > head
 
IntrusiveListLink< T > * lastlink
 

Member Typedef Documentation

◆ ITEMTYPE

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
typedef T Realm::IntrusiveList< T,, LT >::ITEMTYPE

◆ LOCKTYPE

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
typedef LT Realm::IntrusiveList< T,, LT >::LOCKTYPE

Constructor & Destructor Documentation

◆ IntrusiveList() [1/2]

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
Realm::IntrusiveList< T,, LT >::IntrusiveList ( void  )

◆ ~IntrusiveList()

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
Realm::IntrusiveList< T,, LT >::~IntrusiveList ( void  )

◆ IntrusiveList() [2/2]

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
Realm::IntrusiveList< T,, LT >::IntrusiveList ( const IntrusiveList< T, LINK, LT > &  copy_from)

Member Function Documentation

◆ absorb_append()

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
template<typename LT2 >
void Realm::IntrusiveList< T,, LT >::absorb_append ( IntrusiveList< T, LINK, LT2 > &  take_from)

◆ empty()

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
bool Realm::IntrusiveList< T,, LT >::empty ( void  ) const

◆ erase()

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
size_t Realm::IntrusiveList< T,, LT >::erase ( T *  entry)

◆ front()

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
T * Realm::IntrusiveList< T,, LT >::front ( void  ) const

◆ operator=()

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
IntrusiveList< T, LINK, LT > & Realm::IntrusiveList< T,, LT >::operator= ( const IntrusiveList< T, LINK, LT > &  copy_from)

◆ pop_front()

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
T * Realm::IntrusiveList< T,, LT >::pop_front ( void  )

◆ push_back()

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
void Realm::IntrusiveList< T,, LT >::push_back ( T *  new_entry)

◆ push_front()

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
void Realm::IntrusiveList< T,, LT >::push_front ( T *  new_entry)

◆ swap()

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
template<typename LT2 >
void Realm::IntrusiveList< T,, LT >::swap ( IntrusiveList< T, LINK, LT2 > &  swap_with)

Member Data Documentation

◆ head

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
IntrusiveListLink<T> Realm::IntrusiveList< T,, LT >::head

◆ lastlink

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
IntrusiveListLink<T>* Realm::IntrusiveList< T,, LT >::lastlink

◆ lock

template<typename T , REALM_PMTA_DECL(T, IntrusiveListLink< T >, LINK) , typename LT >
LT Realm::IntrusiveList< T,, LT >::lock
mutable

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