Blender
V5.0
source
blender
blenlib
intern
BLI_mempool_private.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2008 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#pragma once
6
13
14
#include "
BLI_compiler_attrs.h
"
15
16
#include "
BLI_mempool.h
"
17
#include "
BLI_task.h
"
18
19
typedef
struct
BLI_mempool_threadsafe_iter
{
20
BLI_mempool_iter
iter
;
21
struct
BLI_mempool_chunk
**
curchunk_threaded_shared
;
22
}
BLI_mempool_threadsafe_iter
;
23
24
typedef
struct
ParallelMempoolTaskData
{
25
BLI_mempool_threadsafe_iter
ts_iter
;
26
TaskParallelTLS
tls
;
27
}
ParallelMempoolTaskData
;
28
42
ParallelMempoolTaskData
*
mempool_iter_threadsafe_create
(
BLI_mempool
*pool,
43
size_t
iter_num)
ATTR_WARN_UNUSED_RESULT
44
ATTR_NONNULL
();
45
void
mempool_iter_threadsafe_destroy
(
ParallelMempoolTaskData
*iter_arr)
ATTR_NONNULL
();
46
52
void
*
mempool_iter_threadsafe_step
(
BLI_mempool_threadsafe_iter
*ts_iter);
BLI_compiler_attrs.h
ATTR_WARN_UNUSED_RESULT
#define ATTR_WARN_UNUSED_RESULT
Definition
BLI_compiler_attrs.h:15
ATTR_NONNULL
#define ATTR_NONNULL(...)
Definition
BLI_compiler_attrs.h:25
BLI_mempool.h
mempool_iter_threadsafe_destroy
void mempool_iter_threadsafe_destroy(ParallelMempoolTaskData *iter_arr) ATTR_NONNULL()
Definition
BLI_mempool.cc:613
mempool_iter_threadsafe_step
void * mempool_iter_threadsafe_step(BLI_mempool_threadsafe_iter *ts_iter)
Definition
BLI_mempool.cc:703
mempool_iter_threadsafe_create
ParallelMempoolTaskData * mempool_iter_threadsafe_create(BLI_mempool *pool, size_t iter_num) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
Definition
BLI_mempool.cc:592
BLI_task.h
BLI_mempool_chunk
Definition
BLI_mempool.cc:93
BLI_mempool_iter
Definition
BLI_mempool.h:94
BLI_mempool_threadsafe_iter
Definition
BLI_mempool_private.h:19
BLI_mempool_threadsafe_iter::iter
BLI_mempool_iter iter
Definition
BLI_mempool_private.h:20
BLI_mempool_threadsafe_iter::curchunk_threaded_shared
struct BLI_mempool_chunk ** curchunk_threaded_shared
Definition
BLI_mempool_private.h:21
BLI_mempool
Definition
BLI_mempool.cc:100
ParallelMempoolTaskData
Definition
BLI_mempool_private.h:24
ParallelMempoolTaskData::ts_iter
BLI_mempool_threadsafe_iter ts_iter
Definition
BLI_mempool_private.h:25
ParallelMempoolTaskData::tls
TaskParallelTLS tls
Definition
BLI_mempool_private.h:26
TaskParallelTLS
Definition
BLI_task.h:132
Generated on
for Blender by
doxygen
1.16.1