ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
irep2t Class Reference

Base class for every irep2 node. More...

#include <irep2.h>

Inheritance diagram for irep2t:
[legend]

Public Member Functions

 irep2t () noexcept
 irep2t (const irep2t &) noexcept
irep2t & operator= (const irep2t &)=delete
virtual ~irep2t ()=default
void mark_writer () const noexcept
void clear_writer () const noexcept

Static Public Member Functions

static std::uintptr_t current_thread_tag () noexcept

Public Attributes

std::atomic< unsigned int > refcount
std::atomic< std::uintptr_t > writer_thread

Detailed Description

Base class for every irep2 node.

Carries the intrusive refcount used by irep_container; the cell sits inside the node itself. Container construction increments; container destruction decrements and deletes when the count reaches zero. See irep2.h's threading-contract preamble for the ordering rules.

Constructor & Destructor Documentation

◆ irep2t() [1/2]

irep2t::irep2t ( )
inlinenoexcept

◆ irep2t() [2/2]

irep2t::irep2t ( const irep2t & )
inlinenoexcept

◆ ~irep2t()

virtual irep2t::~irep2t ( )
virtualdefault

Member Function Documentation

◆ clear_writer()

void irep2t::clear_writer ( ) const
inlinenoexcept

◆ current_thread_tag()

std::uintptr_t irep2t::current_thread_tag ( )
inlinestaticnoexcept

◆ mark_writer()

void irep2t::mark_writer ( ) const
inlinenoexcept

◆ operator=()

irep2t & irep2t::operator= ( const irep2t & )
delete

Member Data Documentation

◆ refcount

std::atomic<unsigned int> irep2t::refcount
mutable

◆ writer_thread

std::atomic<std::uintptr_t> irep2t::writer_thread
mutable

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