/* * Copyright (C) 2020-2024 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once #include namespace NEO { class Thread { static std::unique_ptr create(void *(*func)(void *), void *arg); public: static decltype(&Thread::create) createFunc; virtual void join() = 0; virtual ~Thread() = default; virtual void yield() = 0; }; } // namespace NEO