LLVM 22.0.0git
llvm::JobSlot Class Reference

A JobSlot represents a single job slot that can be acquired from or released to a jobserver pool. More...

#include "llvm/Support/Jobserver.h"

Public Member Functions

 JobSlot ()=default
 Default constructor creates an invalid instance.
 JobSlot (JobSlot &&Other) noexcept
JobSlotoperator= (JobSlot &&Other) noexcept
 JobSlot (const JobSlot &)=delete
JobSlotoperator= (const JobSlot &)=delete
bool isValid () const
 Returns true if this instance is valid (either implicit or explicit).
bool isImplicit () const
 Returns true if this instance represents the implicit job slot.
uint8_t getExplicitValue () const
bool isExplicit () const

Static Public Member Functions

static JobSlot createExplicit (uint8_t V)
static JobSlot createImplicit ()

Friends

class JobserverClient
class JobserverClientImpl

Detailed Description

A JobSlot represents a single job slot that can be acquired from or released to a jobserver pool.

This class is move-only.

Definition at line 77 of file Jobserver.h.

Constructor & Destructor Documentation

◆ JobSlot() [1/3]

llvm::JobSlot::JobSlot ( )
default

Default constructor creates an invalid instance.

Referenced by createExplicit(), createImplicit(), JobSlot(), JobSlot(), operator=(), and operator=().

◆ JobSlot() [2/3]

llvm::JobSlot::JobSlot ( JobSlot && Other)
inlinenoexcept

Definition at line 83 of file Jobserver.h.

References JobSlot(), and llvm::Other.

◆ JobSlot() [3/3]

llvm::JobSlot::JobSlot ( const JobSlot & )
delete

References JobSlot().

Member Function Documentation

◆ createExplicit()

JobSlot llvm::JobSlot::createExplicit ( uint8_t V)
inlinestatic

Definition at line 104 of file Jobserver.h.

References JobSlot().

◆ createImplicit()

JobSlot llvm::JobSlot::createImplicit ( )
inlinestatic

Definition at line 108 of file Jobserver.h.

References JobSlot().

◆ getExplicitValue()

uint8_t llvm::JobSlot::getExplicitValue ( ) const

Definition at line 189 of file Jobserver.cpp.

References assert(), and isExplicit().

◆ isExplicit()

bool llvm::JobSlot::isExplicit ( ) const
inline

Definition at line 111 of file Jobserver.h.

References isImplicit(), and isValid().

Referenced by getExplicitValue().

◆ isImplicit()

bool llvm::JobSlot::isImplicit ( ) const
inline

Returns true if this instance represents the implicit job slot.

Definition at line 102 of file Jobserver.h.

Referenced by isExplicit().

◆ isValid()

bool llvm::JobSlot::isValid ( ) const
inline

Returns true if this instance is valid (either implicit or explicit).

Definition at line 99 of file Jobserver.h.

Referenced by isExplicit().

◆ operator=() [1/2]

JobSlot & llvm::JobSlot::operator= ( const JobSlot & )
delete

References JobSlot().

◆ operator=() [2/2]

JobSlot & llvm::JobSlot::operator= ( JobSlot && Other)
inlinenoexcept

Definition at line 86 of file Jobserver.h.

References JobSlot(), and llvm::Other.

◆ JobserverClient

friend class JobserverClient
friend

Definition at line 114 of file Jobserver.h.

References JobserverClient.

Referenced by JobserverClient.

◆ JobserverClientImpl

friend class JobserverClientImpl
friend

Definition at line 115 of file Jobserver.h.

References JobserverClientImpl.

Referenced by JobserverClientImpl.


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