class thread

Declaration

class thread { /* full declaration omitted */ };

Description

LLVM thread following std::thread interface with added constructor to specify stack size.

Declared at: llvm/include/llvm/Support/thread.h:38

Member Variables

private llvm::thread::native_handle_type Thread
public static const llvm::Optional<unsigned int> DefaultStackSize

Method Overview

  • private template <typename FPtr, typename... Args, size_t... Indices>static void Apply(std::tuple<FPtr, Args...> & Callee, std::index_sequence<Indices...>)
  • private template <typename CalleeTuple>static void GenericThreadProxy(void * Ptr)
  • public template <typename CalleeTuple>static void * ThreadProxy(void * Ptr)
  • public inline void detach()
  • public inline llvm::thread::id get_id() const noexcept
  • public static unsigned int hardware_concurrency()
  • public inline void join()
  • public bool joinable() const noexcept
  • public llvm::thread::native_handle_type native_handle() const noexcept
  • public void swap(llvm::thread & Other) noexcept
  • public thread()
  • public thread(llvm::thread && Other) noexcept
  • public thread(const llvm::thread &)
  • public template <class Function, class... Args> thread(Function && f, Args &&... args)
  • public template <class Function, class... Args> thread(llvm::Optional<unsigned int> StackSizeInBytes, Function && f, Args &&... args)
  • public ~thread()

Methods

template <typename FPtr,
          typename... Args,
          size_t... Indices>
static void Apply(
    std::tuple<FPtr, Args...>& Callee,
    std::index_sequence<Indices...>)

Declared at: llvm/include/llvm/Support/thread.h:40

Templates

FPtr
Args
size_t Indices

Parameters

std::tuple<FPtr, Args...>& Callee
std::index_sequence<Indices...>

template <typename CalleeTuple>
static void GenericThreadProxy(void* Ptr)

Declared at: llvm/include/llvm/Support/thread.h:45

Templates

CalleeTuple

Parameters

void* Ptr

template <typename CalleeTuple>
static void* ThreadProxy(void* Ptr)

Declared at: llvm/include/llvm/Support/thread.h:59

Templates

CalleeTuple

Parameters

void* Ptr

inline void detach()

Declared at: llvm/include/llvm/Support/thread.h:113

inline llvm::thread::id get_id() const noexcept

Declared at: llvm/include/llvm/Support/thread.h:104

static unsigned int hardware_concurrency()

Declared at: llvm/include/llvm/Support/thread.h:108

inline void join()

Declared at: llvm/include/llvm/Support/thread.h:112

bool joinable() const noexcept

Declared at: llvm/include/llvm/Support/thread.h:102

llvm::thread::native_handle_type native_handle()
    const noexcept

Declared at: llvm/include/llvm/Support/thread.h:106

void swap(llvm::thread& Other) noexcept

Declared at: llvm/include/llvm/Support/thread.h:115

Parameters

llvm::thread& Other

thread()

Declared at: llvm/include/llvm/Support/thread.h:77

thread(llvm::thread&& Other) noexcept

Declared at: llvm/include/llvm/Support/thread.h:78

Parameters

llvm::thread&& Other

thread(const llvm::thread&)

Declared at: llvm/include/llvm/Support/thread.h:88

Parameters

const llvm::thread&

template <class Function, class... Args>
thread(Function&& f, Args&&... args)

Declared at: llvm/include/llvm/Support/thread.h:82

Templates

Function
Args

Parameters

Function&& f
Args&&... args

template <class Function, class... Args>
thread(
    llvm::Optional<unsigned int> StackSizeInBytes,
    Function&& f,
    Args&&... args)

Declared at: llvm/include/llvm/Support/thread.h:86

Templates

Function
Args

Parameters

llvm::Optional<unsigned int> StackSizeInBytes
Function&& f
Args&&... args

~thread()

Declared at: llvm/include/llvm/Support/thread.h:90