3 * Copyright (C) Igor Sysoev
4 * Copyright (C) Nginx, Inc.
8 #ifndef _NGX_ARRAY_H_INCLUDED_
9 #define _NGX_ARRAY_H_INCLUDED_
12 #include <ngx_config.h>
25 ngx_array_t
*ngx_array_create(ngx_pool_t
*p
, ngx_uint_t n
, size_t size
);
26 void ngx_array_destroy(ngx_array_t
*a
);
27 void *ngx_array_push(ngx_array_t
*a
);
28 void *ngx_array_push_n(ngx_array_t
*a
, ngx_uint_t n
);
31 static ngx_inline ngx_int_t
32 ngx_array_init(ngx_array_t
*array
, ngx_pool_t
*pool
, ngx_uint_t n
, size_t size
)
35 * set "array->nelts" before "array->elts", otherwise MSVC thinks
36 * that "array->nelts" may be used without having been initialized
44 array
->elts
= ngx_palloc(pool
, n
* size
);
45 if (array
->elts
== NULL
) {
53 #endif /* _NGX_ARRAY_H_INCLUDED_ */