#ifndef PARTITION_ALLOC_PARTITION_ALLOC_BASE_THREADING_PLATFORM_THREAD_H_
#define PARTITION_ALLOC_PARTITION_ALLOC_BASE_THREADING_PLATFORM_THREAD_H_
#include <cstddef>
#include <iosfwd>
#include "partition_alloc/build_config.h"
#include "partition_alloc/partition_alloc_base/component_export.h"
#include "partition_alloc/partition_alloc_base/threading/platform_thread_ref.h"
#include "partition_alloc/partition_alloc_base/time/time.h"
#if PA_BUILDFLAG(IS_WIN)
#include "partition_alloc/partition_alloc_base/win/windows_types.h"
#elif PA_BUILDFLAG(IS_FUCHSIA)
#include <zircon/types.h>
#elif PA_BUILDFLAG(IS_APPLE)
#include <mach/mach_types.h>
#elif PA_BUILDFLAG(IS_POSIX)
#include <pthread.h>
#include <unistd.h>
#endif
namespace partition_alloc::internal::base {
#if PA_BUILDFLAG(IS_WIN)
typedef DWORD PlatformThreadId;
#elif PA_BUILDFLAG(IS_FUCHSIA)
typedef zx_handle_t PlatformThreadId;
#elif PA_BUILDFLAG(IS_APPLE)
typedef mach_port_t PlatformThreadId;
#elif PA_BUILDFLAG(IS_POSIX)
PlatformThreadId;
#endif
class PlatformThreadHandle { … };
const PlatformThreadId kInvalidThreadId(0);
SetThreadNameProc;
class PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) PlatformThread { … };
}
#endif