proxygen
Node< Atom > Class Template Reference
Inheritance diagram for Node< Atom >:
folly::hazptr_obj_base< Node< Atom >, Atom > folly::hazptr_obj< Atom > folly::hazptr_deleter< Node< Atom >, D >

Public Member Functions

 Node (int v=0, Node *n=nullptr, bool=false) noexcept
 
 ~Node ()
 
int value () const noexcept
 
Node< Atom > * next () const noexcept
 
Atom< Node< Atom > * > * ptr_next () noexcept
 
- Public Member Functions inherited from folly::hazptr_obj_base< Node< Atom >, Atom >
void retire (D deleter={}, hazptr_domain< Atom > &domain=default_hazptr_domain< Atom >())
 
void retire (hazptr_domain< Atom > &domain)
 
- Public Member Functions inherited from folly::hazptr_obj< Atom >
 hazptr_obj () noexcept
 
 hazptr_obj (const hazptr_obj< Atom > &) noexcept
 
 hazptr_obj (hazptr_obj< Atom > &&) noexcept
 
hazptr_obj< Atom > & operator= (const hazptr_obj< Atom > &) noexcept
 
hazptr_obj< Atom > & operator= (hazptr_obj< Atom > &&) noexcept
 
- Public Member Functions inherited from folly::hazptr_deleter< Node< Atom >, D >
void set_deleter (D d={})
 
void delete_obj (Node< Atom > *p)
 

Private Attributes

int val_
 
Atom< Node< Atom > * > next_
 

Detailed Description

template<template< typename > class Atom = std::atomic>
class Node< Atom >

Node

Definition at line 98 of file HazptrTest.cpp.

Constructor & Destructor Documentation

template<template< typename > class Atom = std::atomic>
Node< Atom >::Node ( int  v = 0,
Node< Atom > *  n = nullptr,
bool  = false 
)
inlineexplicitnoexcept

Definition at line 103 of file HazptrTest.cpp.

References Count::inc_ctors().

Referenced by folly::HazptrLockFreeLIFO< T, Atom >::push().

104  : val_(v), next_(n) {
105  c_.inc_ctors();
106  }
void inc_ctors() noexcept
Definition: HazptrTest.cpp:81
static Count c_
Definition: HazptrTest.cpp:94
int val_
Definition: HazptrTest.cpp:99
Atom< Node< Atom > * > next_
Definition: HazptrTest.cpp:100
template<template< typename > class Atom = std::atomic>
Node< Atom >::~Node ( )
inline

Definition at line 108 of file HazptrTest.cpp.

References Count::inc_dtors().

Referenced by folly::detail::concurrenthashmap::HazptrDeleter< Allocator >::operator()().

108  {
109  c_.inc_dtors();
110  }
void inc_dtors() noexcept
Definition: HazptrTest.cpp:85
static Count c_
Definition: HazptrTest.cpp:94

Member Function Documentation

template<template< typename > class Atom = std::atomic>
Node<Atom>* Node< Atom >::next ( ) const
inlinenoexcept

Definition at line 116 of file HazptrTest.cpp.

116  {
117  return next_.load(std::memory_order_acquire);
118  }
Atom< Node< Atom > * > next_
Definition: HazptrTest.cpp:100
template<template< typename > class Atom = std::atomic>
Atom<Node<Atom>*>* Node< Atom >::ptr_next ( )
inlinenoexcept

Definition at line 120 of file HazptrTest.cpp.

References Atom.

120  {
121  return &next_;
122  }
Atom< Node< Atom > * > next_
Definition: HazptrTest.cpp:100
template<template< typename > class Atom = std::atomic>
int Node< Atom >::value ( ) const
inlinenoexcept

Definition at line 112 of file HazptrTest.cpp.

112  {
113  return val_;
114  }
int val_
Definition: HazptrTest.cpp:99

Member Data Documentation

template<template< typename > class Atom = std::atomic>
Atom<Node<Atom>*> Node< Atom >::next_
private

Definition at line 100 of file HazptrTest.cpp.

template<template< typename > class Atom = std::atomic>
int Node< Atom >::val_
private

Definition at line 99 of file HazptrTest.cpp.


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