The Pedigree Project 0.1
Public Types | Public Member Functions | Private Attributes | Static Private Attributes | List of all members
RcuReadState Class Reference

#include <RcuReadState.h>

+ Collaboration diagram for RcuReadState:

Public Types

using Snapshot = uint64_t
 

Public Member Functions

void enter ()
 
void leave ()
 
Snapshot snapshot () const
 
bool passed (Snapshot before) const
 
bool active () const
 

Private Attributes

Snapshot m_State = 0
 

Static Private Attributes

static constexpr Snapshot Generation = Snapshot{1} << 32
 
static constexpr Snapshot DepthMask = Generation - 1
 

Detailed Description

One execution CPU's readers; atomic nesting also covers NMI interruption.

Definition at line 9 of file RcuReadState.h.

Member Typedef Documentation

◆ Snapshot

using RcuReadState::Snapshot = uint64_t

Definition at line 11 of file RcuReadState.h.

Member Function Documentation

◆ active()

bool RcuReadState::active ( ) const
inline

Definition at line 49 of file RcuReadState.h.

◆ enter()

void RcuReadState::enter ( )
inline

Definition at line 13 of file RcuReadState.h.

◆ leave()

void RcuReadState::leave ( )
inline

Definition at line 23 of file RcuReadState.h.

◆ passed()

bool RcuReadState::passed ( Snapshot  before) const
inline

Definition at line 41 of file RcuReadState.h.

◆ snapshot()

Snapshot RcuReadState::snapshot ( ) const
inline

Definition at line 37 of file RcuReadState.h.

Member Data Documentation

◆ DepthMask

constexpr Snapshot RcuReadState::DepthMask = Generation - 1
staticconstexprprivate

Definition at line 55 of file RcuReadState.h.

◆ Generation

constexpr Snapshot RcuReadState::Generation = Snapshot{1} << 32
staticconstexprprivate

Definition at line 54 of file RcuReadState.h.

◆ m_State

Snapshot RcuReadState::m_State = 0
private

Definition at line 57 of file RcuReadState.h.


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