2023-08-16 00:20:26 +10:00
|
|
|
/* SPDX-FileCopyrightText: 2023 Blender Authors
|
2023-05-31 16:19:06 +02:00
|
|
|
*
|
|
|
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
2016-06-08 18:34:01 +10:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2019-02-18 08:08:12 +11:00
|
|
|
/** \file
|
|
|
|
|
* \ingroup bli
|
2016-06-08 18:34:01 +10:00
|
|
|
*/
|
|
|
|
|
|
2020-03-02 15:04:53 +01:00
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
2016-06-08 18:34:01 +10:00
|
|
|
struct BArrayStore;
|
|
|
|
|
|
|
|
|
|
struct BArrayStore_AtSize {
|
|
|
|
|
struct BArrayStore **stride_table;
|
|
|
|
|
int stride_table_len;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
BArrayStore *BLI_array_store_at_size_ensure(struct BArrayStore_AtSize *bs_stride,
|
2022-01-07 11:38:08 +11:00
|
|
|
int stride,
|
|
|
|
|
int chunk_size);
|
2016-06-08 18:34:01 +10:00
|
|
|
|
2022-01-07 11:38:08 +11:00
|
|
|
BArrayStore *BLI_array_store_at_size_get(struct BArrayStore_AtSize *bs_stride, int stride);
|
2016-06-08 18:34:01 +10:00
|
|
|
|
|
|
|
|
void BLI_array_store_at_size_clear(struct BArrayStore_AtSize *bs_stride);
|
|
|
|
|
|
|
|
|
|
void BLI_array_store_at_size_calc_memory_usage(struct BArrayStore_AtSize *bs_stride,
|
|
|
|
|
size_t *r_size_expanded,
|
|
|
|
|
size_t *r_size_compacted);
|
|
|
|
|
|
2020-03-02 15:04:53 +01:00
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|