1#ifndef aclspv_pass_ctx_auto_h
2#define aclspv_pass_ctx_auto_h
16void aclspv_init_vec(x_aclspv_vec);
17void aclspv_stop_vec(x_aclspv_vec);
18void aclspv_grow_vec(x_aclspv_vec,
const size_t);
19void aclspv_grow_vec_with_copy(x_aclspv_vec,
const size_t);
23void* f_memcpy(
void*,
const void*, size_t);
30#define _aclspv_free(a, b) free(a)
35ae2f_MAC() aclspv_init_vec(x_aclspv_vec i_vec) {
40ae2f_MAC((f_free, )) aclspv_stop_vec(x_aclspv_vec s_vec) {
41 f_free((s_vec).m_p, (s_vec).m_sz);
45 aclspv_grow_vec(x_aclspv_vec rc_vec,
const size_t c_new_sz) {
46 if((c_new_sz) > (rc_vec).m_sz) {
47 f_free((rc_vec).m_p, (c_new_sz));
49 (rc_vec).m_sz = (c_new_sz);
56ae2f_MAC((f_malloc, f_free, f_memcpy, L_new, ))
57 aclspv_grow_vec_with_copy(x_aclspv_vec rc_vec,
const size_t c_new_sz) {
58 if((c_new_sz) > (rc_vec).m_sz) {
60 L_new = f_malloc(c_new_sz);
64 f_memcpy(L_new, (rc_vec).m_p, (rc_vec).m_sz);
65 f_free((rc_vec).m_p, (rc_vec).m_sz);
68 (rc_vec).m_sz = (c_new_sz);
70 f_free((rc_vec).m_p, (rc_vec).m_sz);
#define ae2f_static_cast(t, v)
static_cast for C++
#define __ae2f_MACRO_GENERATED
#define ae2f_MAC(a)
A hint for creating a macro from void-returning function.
#define ae2f_retnew
The returning pointer does not alias to existing object.
#define ae2f_expected_if(a)
#define ae2f_restrict
Keyword as restrict on C99.