alternative Standard Libary  0.29.8
std::intrusive_list_base Klassenreferenz

#include <intrusive_list.hpp>

+ Klassendiagramm für std::intrusive_list_base:
+ Zusammengehörigkeiten von std::intrusive_list_base:

Öffentliche Typen

using size_type = int
 

Öffentliche Methoden

void pop_back ()
 
void pop_front ()
 
size_type size () const
 
bool empty () const
 

Geschützte Methoden

 intrusive_list_base ()
 
 ~intrusive_list_base ()
 

Geschützte, statische Methoden

static void link (intrusive_list_node *node, intrusive_list_node *nextNode)
 
static void unlink (intrusive_list_node *node)
 

Geschützte Attribute

intrusive_list_node m_root
 

Ausführliche Beschreibung

Dokumentation der benutzerdefinierten Datentypen

◆ size_type

Beschreibung der Konstruktoren und Destruktoren

◆ intrusive_list_base()

std::intrusive_list_base::intrusive_list_base ( )
protected
30  : m_root()
31  {
32  }
intrusive_list_node m_root
Definition: intrusive_list.hpp:143

◆ ~intrusive_list_base()

std::intrusive_list_base::~intrusive_list_base ( )
inlineprotected
138 {}

Dokumentation der Elementfunktionen

◆ empty()

bool std::intrusive_list_base::empty ( ) const
inline
133  {
134  return !m_root.in_list();
135  }
intrusive_list_node m_root
Definition: intrusive_list.hpp:143
bool in_list() const
Definition: intrusive_list.hpp:46

◆ link()

void std::intrusive_list_base::link ( intrusive_list_node node,
intrusive_list_node nextNode 
)
staticprotected
47  {
48  assert(!node->in_list());
49  node->prev = nextNode->prev;
50  node->prev->next = node;
51  nextNode->prev = node;
52  node->next = nextNode;
53  }

◆ pop_back()

void std::intrusive_list_base::pop_back ( )
inline
123  {
124  unlink(m_root.prev);
125  }
intrusive_list_node m_root
Definition: intrusive_list.hpp:143
static void unlink(intrusive_list_node *node)
Definition: intrusive_list.cpp:54
intrusive_list_node * prev
Definition: intrusive_list.hpp:49

◆ pop_front()

void std::intrusive_list_base::pop_front ( )
inline
127  {
128  unlink(m_root.next);
129  }
intrusive_list_node * next
Definition: intrusive_list.hpp:48
intrusive_list_node m_root
Definition: intrusive_list.hpp:143
static void unlink(intrusive_list_node *node)
Definition: intrusive_list.cpp:54

◆ size()

intrusive_list_base::size_type std::intrusive_list_base::size ( ) const
35  {
36  size_type numNodes(0);
37  const intrusive_list_node* iter = &m_root;
38  do
39  {
40  iter = iter->next;
41  ++numNodes;
42  } while (iter != &m_root);
43  return numNodes - 1;
44  }
intrusive_list_node * next
Definition: intrusive_list.hpp:48
intrusive_list_node m_root
Definition: intrusive_list.hpp:143
int size_type
Definition: intrusive_list.hpp:120

◆ unlink()

void std::intrusive_list_base::unlink ( intrusive_list_node node)
staticprotected
55  {
56  assert(node->in_list());
57  node->prev->next = node->next;
58  node->next->prev = node->prev;
59  node->next = node->prev = node;
60  }

Dokumentation der Datenelemente

◆ m_root

intrusive_list_node std::intrusive_list_base::m_root
protected

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: