Thread System 0.3.1
High-performance C++20 thread pool with work stealing and DAG scheduling
Loading...
Searching...
No Matches
critical_resource Class Reference
Collaboration diagram for critical_resource:
Collaboration graph

Public Member Functions

 critical_resource (const std::string &name)
 
 ~critical_resource ()
 
void cleanup ()
 
const std::string & name () const
 
bool is_allocated () const
 

Private Attributes

std::string name_
 
bool allocated_
 

Detailed Description

Examples
crash_protection/main.cpp.

Definition at line 40 of file main.cpp.

Constructor & Destructor Documentation

◆ critical_resource()

critical_resource::critical_resource ( const std::string & name)
inline
Examples
crash_protection/main.cpp.

Definition at line 42 of file main.cpp.

42 : name_(name), allocated_(true) {
43 std::cout << "[ALLOC] Allocated critical resource: " << name_ << std::endl;
44 }
std::string name_
Definition main.cpp:61
const std::string & name() const
Definition main.cpp:57

References name_.

◆ ~critical_resource()

critical_resource::~critical_resource ( )
inline
Examples
crash_protection/main.cpp.

Definition at line 46 of file main.cpp.

46 {
47 cleanup();
48 }
void cleanup()
Definition main.cpp:50

References cleanup().

Here is the call graph for this function:

Member Function Documentation

◆ cleanup()

void critical_resource::cleanup ( )
inline
Examples
crash_protection/main.cpp.

Definition at line 50 of file main.cpp.

50 {
51 if (allocated_) {
52 std::cout << "[CLEANUP] Cleaning up critical resource: " << name_ << std::endl;
53 allocated_ = false;
54 }
55 }

References allocated_, and name_.

Referenced by ~critical_resource().

Here is the caller graph for this function:

◆ is_allocated()

bool critical_resource::is_allocated ( ) const
inline
Examples
crash_protection/main.cpp.

Definition at line 58 of file main.cpp.

58{ return allocated_; }

References allocated_.

◆ name()

const std::string & critical_resource::name ( ) const
inline
Examples
crash_protection/main.cpp.

Definition at line 57 of file main.cpp.

57{ return name_; }

References name_.

Member Data Documentation

◆ allocated_

bool critical_resource::allocated_
private
Examples
crash_protection/main.cpp.

Definition at line 62 of file main.cpp.

Referenced by cleanup(), and is_allocated().

◆ name_

std::string critical_resource::name_
private
Examples
crash_protection/main.cpp.

Definition at line 61 of file main.cpp.

Referenced by cleanup(), critical_resource(), and name().


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