mCRL2
Loading...
Searching...
No Matches
mcrl2::utilities::detail::bucket_list< Key, Allocator >::node_base Class Reference

The nodes of the bucket list without carrying any additional informations. Used to make no different between the head and the tail of the list. More...

#include <bucket_list.h>

Inheritance diagram for mcrl2::utilities::detail::bucket_list< Key, Allocator >::node_base:
mcrl2::utilities::detail::bucket_list< Key, Allocator >::node

Public Member Functions

 node_base ()=default
 
 node_base (node_base &&other) noexcept
 
node_basenext () const noexcept
 
bool has_next () const noexcept
 
void set_next (node_base *next) noexcept
 Set the next pointer to the given next pointer.
 
bool exchange (node_base *&expected, node_base *value)
 

Protected Attributes

std::atomic< node_base * > m_next = nullptr
 Pointer to the next node.
 

Detailed Description

template<typename Key, typename Allocator>
class mcrl2::utilities::detail::bucket_list< Key, Allocator >::node_base

The nodes of the bucket list without carrying any additional informations. Used to make no different between the head and the tail of the list.

Definition at line 53 of file bucket_list.h.

Constructor & Destructor Documentation

◆ node_base() [1/2]

template<typename Key , typename Allocator >
mcrl2::utilities::detail::bucket_list< Key, Allocator >::node_base::node_base ( )
default

◆ node_base() [2/2]

template<typename Key , typename Allocator >
mcrl2::utilities::detail::bucket_list< Key, Allocator >::node_base::node_base ( node_base &&  other)
inlinenoexcept

Definition at line 57 of file bucket_list.h.

Member Function Documentation

◆ exchange()

template<typename Key , typename Allocator >
bool mcrl2::utilities::detail::bucket_list< Key, Allocator >::node_base::exchange ( node_base *&  expected,
node_base value 
)
inline
Returns
True iff next has been replaced by value iff next is equal to expected.

Definition at line 73 of file bucket_list.h.

◆ has_next()

template<typename Key , typename Allocator >
bool mcrl2::utilities::detail::bucket_list< Key, Allocator >::node_base::has_next ( ) const
inlinenoexcept
Returns
True if and only there is a next bucket in the linked list.

Definition at line 67 of file bucket_list.h.

◆ next()

template<typename Key , typename Allocator >
node_base * mcrl2::utilities::detail::bucket_list< Key, Allocator >::node_base::next ( ) const
inlinenoexcept
Returns
The next bucket in the linked list.

Definition at line 64 of file bucket_list.h.

◆ set_next()

template<typename Key , typename Allocator >
void mcrl2::utilities::detail::bucket_list< Key, Allocator >::node_base::set_next ( node_base next)
inlinenoexcept

Set the next pointer to the given next pointer.

Definition at line 70 of file bucket_list.h.

Member Data Documentation

◆ m_next

template<typename Key , typename Allocator >
std::atomic<node_base*> mcrl2::utilities::detail::bucket_list< Key, Allocator >::node_base::m_next = nullptr
protected

Pointer to the next node.

Definition at line 77 of file bucket_list.h.


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