Run clang-format

This commit is contained in:
Bassem Girgis
2018-10-18 00:40:34 -05:00
parent fffe4528da
commit 31c32e368a
149 changed files with 5974 additions and 6287 deletions

View File

@@ -1,58 +1,49 @@
class thread_pool
{
thread_safe_queue<function_wrapper> pool_work_queue;
class thread_pool {
thread_safe_queue<function_wrapper> pool_work_queue;
typedef std::queue<function_wrapper> local_queue_type;
static thread_local std::unique_ptr<local_queue_type>
local_work_queue;
void worker_thread()
{
local_work_queue.reset(new local_queue_type);
while(!done)
{
run_pending_task();
}
typedef std::queue<function_wrapper> local_queue_type;
static thread_local std::unique_ptr<local_queue_type> local_work_queue;
void worker_thread()
{
local_work_queue.reset(new local_queue_type);
while (!done) {
run_pending_task();
}
}
public:
template<typename FunctionType>
std::future<std::result_of<FunctionType()>::type>
submit(FunctionType f)
{
typedef std::result_of<FunctionType()>::type result_type;
std::packaged_task<result_type()> task(f);
std::future<result_type> res(task.get_future());
if(local_work_queue)
{
local_work_queue->push(std::move(task));
}
else
{
pool_work_queue.push(std::move(task));
}
return res;
}
template <typename FunctionType>
std::future<std::result_of<FunctionType()>::type> submit(FunctionType f)
{
typedef std::result_of<FunctionType()>::type result_type;
void run_pending_task()
{
function_wrapper task;
if(local_work_queue && !local_work_queue->empty())
{
task=std::move(local_work_queue->front());
local_work_queue->pop();
task();
}
else if(pool_work_queue.try_pop(task))
{
task();
}
else
{
std::this_thread::yield();
}
std::packaged_task<result_type()> task(f);
std::future<result_type> res(task.get_future());
if (local_work_queue) {
local_work_queue->push(std::move(task));
}
// rest as before
else {
pool_work_queue.push(std::move(task));
}
return res;
}
void run_pending_task()
{
function_wrapper task;
if (local_work_queue && !local_work_queue->empty()) {
task = std::move(local_work_queue->front());
local_work_queue->pop();
task();
}
else if (pool_work_queue.try_pop(task)) {
task();
}
else {
std::this_thread::yield();
}
}
// rest as before
};