php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
dobject.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2018 Alexander Borisov
3 *
4 * Author: Alexander Borisov <borisov@lexbor.com>
5 */
6
7#ifndef LEXBOR_DOBJECT_H
8#define LEXBOR_DOBJECT_H
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#include "lexbor/core/base.h"
15#include "lexbor/core/mem.h"
16#include "lexbor/core/array.h"
17
18
19typedef struct {
22
23 size_t allocated;
25}
27
28
31
34 size_t chunk_size, size_t struct_size);
35
36LXB_API void
38
40lexbor_dobject_destroy(lexbor_dobject_t *dobject, bool destroy_self);
41
42
43LXB_API uint8_t *
45
46
47LXB_API void *
49
50LXB_API void *
52
53LXB_API void *
55
56
57LXB_API void *
59
60
61/*
62 * Inline functions
63 */
64lxb_inline size_t
66{
67 return dobject->allocated;
68}
69
70lxb_inline size_t
75
76/*
77 * No inline functions for ABI.
78 */
79LXB_API size_t
81
82LXB_API size_t
84
85
86#ifdef __cplusplus
87} /* extern "C" */
88#endif
89
90#endif /* LEXBOR_DOBJECT_H */
91
92
lxb_inline size_t lexbor_array_length(lexbor_array_t *array)
Definition array.h:72
#define LXB_API
Definition def.h:48
LXB_API lexbor_dobject_t * lexbor_dobject_destroy(lexbor_dobject_t *dobject, bool destroy_self)
Definition dobject.c:75
LXB_API void * lexbor_dobject_by_absolute_position(lexbor_dobject_t *dobject, size_t pos)
Definition dobject.c:154
LXB_API size_t lexbor_dobject_cache_length_noi(lexbor_dobject_t *dobject)
Definition dobject.c:184
LXB_API void lexbor_dobject_clean(lexbor_dobject_t *dobject)
Definition dobject.c:64
lxb_inline size_t lexbor_dobject_cache_length(lexbor_dobject_t *dobject)
Definition dobject.h:71
LXB_API lxb_status_t lexbor_dobject_init(lexbor_dobject_t *dobject, size_t chunk_size, size_t struct_size)
Definition dobject.c:22
lxb_inline size_t lexbor_dobject_allocated(lexbor_dobject_t *dobject)
Definition dobject.h:65
LXB_API void * lexbor_dobject_alloc(lexbor_dobject_t *dobject)
Definition dobject.c:91
LXB_API void * lexbor_dobject_free(lexbor_dobject_t *dobject, void *data)
Definition dobject.c:135
LXB_API void * lexbor_dobject_calloc(lexbor_dobject_t *dobject)
Definition dobject.c:123
LXB_API size_t lexbor_dobject_allocated_noi(lexbor_dobject_t *dobject)
Definition dobject.c:178
LXB_API uint8_t * lexbor_dobject_init_list_entries(lexbor_dobject_t *dobject, size_t pos)
LXB_API lexbor_dobject_t * lexbor_dobject_create(void)
Definition dobject.c:16
struct lexbor_mem lexbor_mem_t
Definition mem.h:20
unsigned const char * pos
Definition php_ffi.h:52
zend_constant * data
lexbor_mem_t * mem
Definition dobject.h:20
size_t struct_size
Definition dobject.h:24
lexbor_array_t * cache
Definition dobject.h:21
size_t allocated
Definition dobject.h:23
unsigned int lxb_status_t
Definition types.h:28
#define lxb_inline
Definition types.h:21