23 #define BLI_array_reverse(arr, arr_len) _bli_array_reverse(arr, arr_len, sizeof(*(arr)))
32 #define BLI_array_wrap(arr, arr_len, dir) _bli_array_wrap(arr, arr_len, sizeof(*(arr)), dir)
41 void *arr,
uint arr_len,
size_t arr_stride,
const uint *
order,
void *arr_temp);
42 #define BLI_array_permute(arr, arr_len, order) \
43 _bli_array_permute(arr, arr_len, sizeof(*(arr)), order, NULL)
44 #define BLI_array_permute_ex(arr, arr_len, order, arr_temp) \
45 _bli_array_permute(arr, arr_len, sizeof(*(arr)), order, arr_temp)
55 #define BLI_array_deduplicate_ordered(arr, arr_len) \
56 _bli_array_deduplicate_ordered(arr, arr_len, sizeof(*(arr)))
66 #define BLI_array_findindex(arr, arr_len, p) _bli_array_findindex(arr, arr_len, sizeof(*(arr)), p)
72 #define BLI_array_rfindindex(arr, arr_len, p) \
73 _bli_array_rfindindex(arr, arr_len, sizeof(*(arr)), p)
76 void *arr,
const void *arr_a,
const void *arr_b,
uint arr_len,
size_t arr_stride);
77 #define BLI_array_binary_and(arr, arr_a, arr_b, arr_len) \
78 (CHECK_TYPE_PAIR_INLINE(*(arr), *(arr_a)), \
79 CHECK_TYPE_PAIR_INLINE(*(arr), *(arr_b)), \
80 _bli_array_binary_and(arr, arr_a, arr_b, arr_len, sizeof(*(arr))))
83 void *arr,
const void *arr_a,
const void *arr_b,
uint arr_len,
size_t arr_stride);
84 #define BLI_array_binary_or(arr, arr_a, arr_b, arr_len) \
85 (CHECK_TYPE_PAIR_INLINE(*(arr), *(arr_a)), \
86 CHECK_TYPE_PAIR_INLINE(*(arr), *(arr_b)), \
87 _bli_array_binary_or(arr, arr_a, arr_b, arr_len, sizeof(*(arr))))
109 bool use_delimit_bounds,
110 bool (*test_fn)(
const void *arr_item,
void *
user_data),
114 #define BLI_array_iter_span( \
115 arr, arr_len, use_wrap, use_delimit_bounds, test_fn, user_data, span_step, r_span_len) \
116 _bli_array_iter_span(arr, \
120 use_delimit_bounds, \
130 #define BLI_array_is_zeroed(arr, arr_len) _bli_array_is_zeroed(arr, arr_len, sizeof(*(arr)))
140 const int arr_shape[2],
143 bool (*test_fn)(
const void *arr_item,
void *
user_data),
145 #define BLI_array_iter_spiral_square(arr, arr_shape, center, test_fn, user_data) \
146 _bli_array_iter_spiral_square(arr, arr_shape, sizeof(*(arr)), center, test_fn, user_data)
void _bli_array_wrap(void *arr, uint arr_len, size_t arr_stride, int dir)
void _bli_array_binary_or(void *arr, const void *arr_a, const void *arr_b, uint arr_len, size_t arr_stride)
bool _bli_array_is_zeroed(const void *arr, uint arr_len, size_t arr_stride)
int _bli_array_rfindindex(const void *arr, uint arr_len, size_t arr_stride, const void *p)
uint _bli_array_deduplicate_ordered(void *arr, uint arr_len, size_t arr_stride)
bool _bli_array_iter_spiral_square(const void *arr_v, const int arr_shape[2], size_t elem_size, const int center[2], bool(*test_fn)(const void *arr_item, void *user_data), void *user_data)
void _bli_array_permute(void *arr, uint arr_len, size_t arr_stride, const uint *order, void *arr_temp)
int _bli_array_findindex(const void *arr, uint arr_len, size_t arr_stride, const void *p)
bool _bli_array_iter_span(const void *arr, uint arr_len, size_t arr_stride, bool use_wrap, bool use_delimit_bounds, bool(*test_fn)(const void *arr_item, void *user_data), void *user_data, uint span_step[2], uint *r_span_len)
void _bli_array_reverse(void *arr, uint arr_len, size_t arr_stride)
void _bli_array_binary_and(void *arr, const void *arr_a, const void *arr_b, uint arr_len, size_t arr_stride)
NSNotificationCenter * center
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint order