#include "common/tls.h"
#include "common/debug.h"
#ifdef ANGLE_ENABLE_WINDOWS_UWP
# include <map>
# include <mutex>
# include <set>
# include <vector>
# include <Windows.System.Threading.h>
# include <wrl/async.h>
# include <wrl/client.h>
using namespace std;
using namespace Windows::Foundation;
using namespace ABI::Windows::System::Threading;
typedef vector<void *> ThreadLocalData;
static __declspec(thread) ThreadLocalData *currentThreadData = nullptr;
static set<ThreadLocalData *> allThreadData;
static DWORD nextTlsIndex = 0;
static vector<DWORD> freeTlsIndices;
#endif
namespace angle
{
TLSIndex CreateTLSIndex(PthreadKeyDestructor destructor)
{ … }
bool DestroyTLSIndex(TLSIndex index)
{ … }
bool SetTLSValue(TLSIndex index, void *value)
{ … }
void *GetTLSValue(TLSIndex index)
{ … }
}