Blender V5.0
task_iterator.cc File Reference
#include <cstdlib>
#include "MEM_guardedalloc.h"
#include "BLI_mempool.h"
#include "BLI_mempool_private.h"
#include "BLI_task.h"

Go to the source code of this file.

Classes

struct  ParallelMempoolState

Macros

Macros
#define MALLOCA(_size)
#define MALLOCA_FREE(_mem, _size)

Functions

MemPool Iteration
static void parallel_mempool_func (TaskPool *__restrict pool, void *taskdata)
void BLI_task_parallel_mempool (BLI_mempool *mempool, void *userdata, TaskParallelMempoolFunc func, const TaskParallelSettings *settings)

Detailed Description

Parallel tasks over all elements in a container.

Definition in file task_iterator.cc.

Macro Definition Documentation

◆ MALLOCA

#define MALLOCA ( _size)
Value:
((_size) <= 8192) ? alloca(_size) : MEM_mallocN((_size), __func__)
void * MEM_mallocN(size_t len, const char *str)
Definition mallocn.cc:128

Definition at line 24 of file task_iterator.cc.

Referenced by BLI_task_parallel_mempool().

◆ MALLOCA_FREE

#define MALLOCA_FREE ( _mem,
_size )
Value:
if (((_mem) != nullptr) && ((_size) > 8192)) { \
MEM_freeN(_mem); \
} \
((void)0)

Definition at line 25 of file task_iterator.cc.

Referenced by BLI_task_parallel_mempool().

Function Documentation

◆ BLI_task_parallel_mempool()

◆ parallel_mempool_func()

void parallel_mempool_func ( TaskPool *__restrict pool,
void * taskdata )
static