KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
List of all members
Kratos::LockObject Class Reference

This class defines and stores a lock and gives an interface to it. More...

#include <lock_object.h>

Inheritance diagram for Kratos::LockObject:
Collaboration diagram for Kratos::LockObject:

Public Member Functions

Life Cycle
 LockObject () noexcept
 Default constructor. More...
 
 LockObject (LockObject const &rOther)=delete
 Copy constructor. More...
 
 ~LockObject () noexcept
 Destructor. More...
 
Operators
LockObjectoperator= (LockObject const &rOther)=delete
 Assignment operator. More...
 
Access
void lock () const
 
void SetLock () const
 
void unlock () const
 
void UnSetLock () const
 
bool try_lock () const
 

Detailed Description

This class defines and stores a lock and gives an interface to it.

The class makes a tiny wrapper over shared memory locking mechanisms it is compliant with C++ Lockable see https://en.cppreference.com/w/cpp/named_req/Lockable

Constructor & Destructor Documentation

◆ LockObject() [1/2]

Kratos::LockObject::LockObject ( )
inlinenoexcept

Default constructor.

◆ LockObject() [2/2]

Kratos::LockObject::LockObject ( LockObject const &  rOther)
delete

Copy constructor.

◆ ~LockObject()

Kratos::LockObject::~LockObject ( )
inlinenoexcept

Destructor.

Member Function Documentation

◆ lock()

void Kratos::LockObject::lock ( ) const
inline

◆ operator=()

LockObject& Kratos::LockObject::operator= ( LockObject const &  rOther)
delete

Assignment operator.

◆ SetLock()

void Kratos::LockObject::SetLock ( ) const
inline

◆ try_lock()

bool Kratos::LockObject::try_lock ( ) const
inline

◆ unlock()

void Kratos::LockObject::unlock ( ) const
inline

◆ UnSetLock()

void Kratos::LockObject::UnSetLock ( ) const
inline

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