alternative Standard Libary  0.29.8
std::intrusive_slist_base Klassenreferenz

#include <intrusive_slist.hpp>

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

Öffentliche Typen

typedef int size_type
 

Öffentliche Methoden

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

Geschützte, statische Methoden

static void link_after (intrusive_slist_node *node, intrusive_slist_node *prevNode)
 
static void unlink_after (intrusive_slist_node *node)
 

Geschützte Attribute

intrusive_slist_node m_root
 

Ausführliche Beschreibung

Dokumentation der benutzerdefinierten Datentypen

◆ size_type

Beschreibung der Konstruktoren und Destruktoren

◆ intrusive_slist_base()

std::intrusive_slist_base::intrusive_slist_base ( )
30  {
31  }

Dokumentation der Elementfunktionen

◆ empty()

bool std::intrusive_slist_base::empty ( ) const
inline
127  {
128  return !m_root.in_list();
129  }
intrusive_slist_node m_root
Definition: intrusive_slist.hpp:135
bool in_list() const
Definition: intrusive_slist.hpp:46

◆ link_after()

void std::intrusive_slist_base::link_after ( intrusive_slist_node node,
intrusive_slist_node prevNode 
)
staticprotected
46  {
47  assert(!node->in_list());
48  node->next = prevNode->next;
49  prevNode->next = node;
50  }

◆ pop_front()

void std::intrusive_slist_base::pop_front ( )
inline
121  {
123  }
intrusive_slist_node m_root
Definition: intrusive_slist.hpp:135
static void unlink_after(intrusive_slist_node *node)
Definition: intrusive_slist.cpp:51

◆ size()

intrusive_slist_base::size_type std::intrusive_slist_base::size ( ) const
34  {
35  size_type numNodes(0);
36  const intrusive_slist_node* iter = &m_root;
37  do
38  {
39  iter = iter->next;
40  ++numNodes;
41  } while (iter != &m_root);
42  return numNodes - 1;
43  }
intrusive_slist_node m_root
Definition: intrusive_slist.hpp:135
intrusive_slist_node * next
Definition: intrusive_slist.hpp:51
int size_type
Definition: intrusive_slist.hpp:117

◆ unlink_after()

void std::intrusive_slist_base::unlink_after ( intrusive_slist_node node)
staticprotected
52  {
53  assert(node->in_list());
54  intrusive_slist_node* thisNode = node->next;
55  node->next = thisNode->next;
56  thisNode->next = thisNode;
57  }

Dokumentation der Datenelemente

◆ m_root

intrusive_slist_node std::intrusive_slist_base::m_root
protected

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