chromium/third_party/libc++/src/src/thread.cpp

//===------------------------- thread.cpp----------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include <__thread/poll_with_backoff.h>
#include <__thread/timed_backoff_policy.h>
#include <exception>
#include <future>
#include <limits>
#include <thread>
#include <vector>

#if __has_include(<unistd.h>)
#  include <unistd.h> // for sysconf
#endif

#if defined(__NetBSD__)
#  pragma weak pthread_create // Do not create libpthread dependency
#endif

#if defined(_LIBCPP_WIN32API)
#  include <windows.h>
#endif

#if defined(__ELF__) && defined(_LIBCPP_LINK_PTHREAD_LIB)
#  pragma comment(lib, "pthread")
#endif

_LIBCPP_BEGIN_NAMESPACE_STD

thread::~thread() {}

void thread::join() {}

void thread::detach() {}

unsigned thread::hardware_concurrency() noexcept {}

namespace this_thread {

void sleep_for(const chrono::nanoseconds& ns) {}

} // namespace this_thread

__thread_specific_ptr<__thread_struct>& __thread_local_data() {}

// __thread_struct_imp

template <class T>
class _LIBCPP_HIDDEN __hidden_allocator {};

class _LIBCPP_HIDDEN __thread_struct_imp {};

__thread_struct_imp::~__thread_struct_imp() {}

void __thread_struct_imp::notify_all_at_thread_exit(condition_variable* cv, mutex* m) {}

void __thread_struct_imp::__make_ready_at_thread_exit(__assoc_sub_state* __s) {}

// __thread_struct

__thread_struct::__thread_struct() :{}

__thread_struct::~__thread_struct() {}

void __thread_struct::notify_all_at_thread_exit(condition_variable* cv, mutex* m) {}

void __thread_struct::__make_ready_at_thread_exit(__assoc_sub_state* __s) {}

_LIBCPP_END_NAMESPACE_STD