Core/Threads: Replace Boost TLS with C++11 one (#15782)
* Core/Threads: Replace Boost TLS with C++11 one Replace boost::thread_specific_ptr<T> thread-local storage with C++11 thread_local to remove libboost_thread dependency from common project * Fix no-pch build (cherry picked from commit 00b16992f1ae3bf14ab5fe6366028a2b8648bfa0)
This commit is contained in:
@@ -18,23 +18,18 @@
|
||||
#include "Random.h"
|
||||
#include "Errors.h"
|
||||
#include "SFMTRand.h"
|
||||
#include <boost/thread/tss.hpp>
|
||||
#include <memory>
|
||||
#include <random>
|
||||
|
||||
static boost::thread_specific_ptr<SFMTRand> sfmtRand;
|
||||
static thread_local std::unique_ptr<SFMTRand> sfmtRand;
|
||||
static RandomEngine engine;
|
||||
|
||||
static SFMTRand* GetRng()
|
||||
{
|
||||
SFMTRand* rand = sfmtRand.get();
|
||||
if (!sfmtRand)
|
||||
sfmtRand = std::make_unique<SFMTRand>();
|
||||
|
||||
if (!rand)
|
||||
{
|
||||
rand = new SFMTRand();
|
||||
sfmtRand.reset(rand);
|
||||
}
|
||||
|
||||
return rand;
|
||||
return sfmtRand.get();
|
||||
}
|
||||
|
||||
int32 irand(int32 min, int32 max)
|
||||
|
||||
Reference in New Issue
Block a user