Package com.github.elebras1.flecs


package com.github.elebras1.flecs
  • Class
    Description
    union {
        unsigned long long __value64;
        struct {
            unsigned int __low;
            unsigned int __high;
        } __value32;
    }
    
    struct {
        unsigned int __low;
        unsigned int __high;
    }
    
    typedef int (*__compar_fn_t)(const void *, const void *)
    
    The function pointer signature, expressed as a functional interface
    struct {
        int __val[2];
    }
    
    struct __locale_struct {
        struct __locale_data *__locales[13];
        const unsigned short *__ctype_b;
        const int *__ctype_tolower;
        const int *__ctype_toupper;
        const char *__names[13];
    }
    
    struct {
        int __data;
    }
    
    struct __pthread_cond_s {
        __atomic_wide_counter __wseq;
        __atomic_wide_counter __g1_start;
        unsigned int __g_refs[2];
        unsigned int __g_size[2];
        unsigned int __g1_orig_size;
        unsigned int __wrefs;
        unsigned int __g_signals[2];
    }
    
    struct __pthread_internal_list {
        struct __pthread_internal_list *__prev;
        struct __pthread_internal_list *__next;
    }
    
    struct __pthread_internal_slist {
        struct __pthread_internal_slist *__next;
    }
    
    typedef struct __pthread_internal_list {
        struct __pthread_internal_list *__prev;
        struct __pthread_internal_list *__next;
    } __pthread_list_t
    
    struct __pthread_mutex_s {
        int __lock;
        unsigned int __count;
        int __owner;
        unsigned int __nusers;
        int __kind;
        short __spins;
        short __elision;
        __pthread_list_t __list;
    }
    
    struct __pthread_rwlock_arch_t {
        unsigned int __readers;
        unsigned int __writers;
        unsigned int __wrphase_futex;
        unsigned int __writers_futex;
        unsigned int __pad3;
        unsigned int __pad4;
        int __cur_writer;
        int __shared;
        signed char __rwelision;
        unsigned char __pad1[7];
        unsigned long __pad2;
        unsigned int __flags;
    }
    
    typedef struct __pthread_internal_slist {
        struct __pthread_internal_slist *__next;
    } __pthread_slist_t
    
    struct {
        unsigned long __val[16];
    }
    
    void (*__func)(void)
    
    The function pointer signature, expressed as a functional interface
    void (*__func)(void)
    
    The function pointer signature, expressed as a functional interface
     
     
     
     
     
     
     
     
    struct {
        int quot;
        int rem;
    }
    
    struct drand48_data {
        unsigned short __x[3];
        unsigned short __old_x[3];
        unsigned short __c;
        unsigned short __init;
        unsigned long long __a;
    }
    
    struct ecs_alert_desc_t {
        int32_t _canary;
        ecs_entity_t entity;
        ecs_query_desc_t query;
        const char *message;
        const char *doc_name;
        const char *brief;
        ecs_entity_t severity;
        ecs_alert_severity_filter_t severity_filters[4];
        float retain_period;
        ecs_entity_t member;
        ecs_id_t id;
        const char *var;
    }
    
    struct ecs_alert_severity_filter_t {
        ecs_entity_t severity;
        ecs_id_t with;
        const char *var;
        int32_t _var_index;
    }
    
    struct {
        ecs_size_t bytes_graph_edge;
        ecs_size_t bytes_component_record;
        ecs_size_t bytes_pair_record;
        ecs_size_t bytes_table_diff;
        ecs_size_t bytes_sparse_chunk;
        ecs_size_t bytes_allocator;
        ecs_size_t bytes_stack_allocator;
        ecs_size_t bytes_cmd_entry_chunk;
        ecs_size_t bytes_query_impl;
        ecs_size_t bytes_query_cache;
        ecs_size_t bytes_misc;
    }
    
    struct ecs_allocator_t {
        ecs_block_allocator_t chunks;
        struct ecs_sparse_t sizes;
    }
    
    struct ecs_app_desc_t {
        float target_fps;
        float delta_time;
        int32_t threads;
        int32_t frames;
        _Bool enable_rest;
        _Bool enable_stats;
        uint16_t port;
        ecs_app_init_action_t init;
        void *ctx;
    }
    
    typedef int (*ecs_app_frame_action_t)(ecs_world_t *, const ecs_app_desc_t *)
    
    The function pointer signature, expressed as a functional interface
    typedef int (*ecs_app_init_action_t)(ecs_world_t *)
    
    The function pointer signature, expressed as a functional interface
    typedef int (*ecs_app_run_action_t)(ecs_world_t *, ecs_app_desc_t *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_array_desc_t {
        ecs_entity_t entity;
        ecs_entity_t type;
        int32_t count;
    }
    
    struct ecs_bitmask_constant_t {
        const char *name;
        ecs_flags64_t value;
        int64_t _unused;
        ecs_entity_t constant;
    }
    
    struct ecs_bitmask_desc_t {
        ecs_entity_t entity;
        ecs_bitmask_constant_t constants[32];
    }
    
    struct ecs_block_allocator_block_t {
        void *memory;
        struct ecs_block_allocator_block_t *next;
    }
    
    struct ecs_block_allocator_chunk_header_t {
        struct ecs_block_allocator_chunk_header_t *next;
    }
    
    struct ecs_block_allocator_t {
        int32_t data_size;
        int32_t chunk_size;
        int32_t chunks_per_block;
        int32_t block_size;
        ecs_block_allocator_chunk_header_t *head;
        ecs_block_allocator_block_t *block_head;
    }
    
    struct ecs_bucket_entry_t {
        ecs_map_key_t key;
        ecs_map_val_t value;
        struct ecs_bucket_entry_t *next;
    }
    
    struct ecs_bucket_t {
        ecs_bucket_entry_t *first;
    }
    
    struct ecs_build_info_t {
        const char *compiler;
        const char **addons;
        const char **flags;
        const char *version;
        int16_t version_major;
        int16_t version_minor;
        int16_t version_patch;
        _Bool debug;
        _Bool sanitize;
        _Bool perf_trace;
    }
    
    struct ecs_bulk_desc_t {
        int32_t _canary;
        ecs_entity_t *entities;
        int32_t count;
        ecs_id_t ids[32];
        void **data;
        ecs_table_t *table;
    }
    
    typedef int (*ecs_cmp_t)(const void *, const void *, const ecs_type_info_t *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_commands_t {
        ecs_vec_t queue;
        ecs_stack_t stack;
        ecs_sparse_t entries;
    }
    
    typedef int (*ecs_compare_action_t)(const void *, const void *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_component_desc_t {
        int32_t _canary;
        ecs_entity_t entity;
        ecs_type_info_t type;
    }
    
    struct {
        int32_t count;
        ecs_size_t bytes_component_record;
        ecs_size_t bytes_table_cache;
        ecs_size_t bytes_name_index;
        ecs_size_t bytes_ordered_children;
        ecs_size_t bytes_reachable_cache;
    }
    
    struct {
        int32_t instances;
        ecs_size_t bytes_table_components;
        ecs_size_t bytes_table_components_unused;
        ecs_size_t bytes_toggle_bitsets;
        ecs_size_t bytes_sparse_components;
    }
    
    struct ecs_const_var_desc_t {
        const char *name;
        ecs_entity_t parent;
        ecs_entity_t type;
        void *value;
    }
    
    typedef void (*ecs_copy_t)(void *, const void *, int32_t, const ecs_type_info_t *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_counter_t {
        ecs_gauge_t rate;
        double value[60];
    }
    
    struct ecs_cpp_get_mut_t {
        void *ptr;
        _Bool call_modified;
    }
    
    typedef void (*ecs_ctx_free_t)(void *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_delete_empty_tables_desc_t {
        uint16_t clear_generation;
        uint16_t delete_generation;
        double time_budget_seconds;
    }
    
    struct ecs_each_iter_t {
        ecs_table_cache_iter_t it;
        ecs_id_t ids;
        ecs_entity_t sources;
        ecs_size_t sizes;
        int32_t columns;
        const ecs_table_record_t *trs;
    }
    
    struct {
        int32_t alive_count;
        int32_t not_alive_count;
        ecs_size_t bytes_entity_index;
        ecs_size_t bytes_names;
        ecs_size_t bytes_doc_strings;
    }
    
    struct ecs_entities_t {
        const ecs_entity_t *ids;
        int32_t count;
        int32_t alive_count;
    }
    
    struct ecs_entity_desc_t {
        int32_t _canary;
        ecs_entity_t id;
        ecs_entity_t parent;
        const char *name;
        const char *sep;
        const char *root_sep;
        const char *symbol;
        _Bool use_low_id;
        const ecs_id_t *add;
        const ecs_value_t *set;
        const char *add_expr;
    }
    
    struct ecs_entity_to_json_desc_t {
        _Bool serialize_entity_id;
        _Bool serialize_doc;
        _Bool serialize_full_paths;
        _Bool serialize_inherited;
        _Bool serialize_values;
        _Bool serialize_builtin;
        _Bool serialize_type_info;
        _Bool serialize_alerts;
        ecs_entity_t serialize_refs;
        _Bool serialize_matches;
        _Bool (*component_filter)(const ecs_world_t *, ecs_entity_t);
    }
    
    _Bool (*component_filter)(const ecs_world_t *, ecs_entity_t)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_enum_constant_t {
        const char *name;
        int64_t value;
        uint64_t value_unsigned;
        ecs_entity_t constant;
    }
    
    struct ecs_enum_desc_t {
        ecs_entity_t entity;
        ecs_enum_constant_t constants[32];
        ecs_entity_t underlying_type;
    }
    
    typedef _Bool (*ecs_equals_t)(const void *, const void *, const ecs_type_info_t *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_event_desc_t {
        ecs_entity_t event;
        const ecs_type_t *ids;
        ecs_table_t *table;
        ecs_table_t *other_table;
        int32_t offset;
        int32_t count;
        ecs_entity_t entity;
        void *param;
        const void *const_param;
        ecs_poly_t *observable;
        ecs_flags32_t flags;
    }
    
    struct ecs_event_record_t {
        struct ecs_event_id_record_t *any;
        struct ecs_event_id_record_t *wildcard;
        struct ecs_event_id_record_t *wildcard_pair;
        ecs_map_t event_ids;
        ecs_entity_t event;
    }
    
    struct ecs_expr_eval_desc_t {
        const char *name;
        const char *expr;
        const ecs_script_vars_t *vars;
        ecs_entity_t type;
        ecs_entity_t (*lookup_action)(const ecs_world_t *, const char *, void *);
        void *lookup_ctx;
        _Bool disable_folding;
        _Bool disable_dynamic_variable_binding;
        _Bool allow_unresolved_identifiers;
        ecs_script_runtime_t *runtime;
        void *script_visitor;
    }
    
    ecs_entity_t (*lookup_action)(const ecs_world_t *, const char *, void *)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_fini_action_t)(ecs_world_t *, void *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_from_json_desc_t {
        const char *name;
        const char *expr;
        ecs_entity_t (*lookup_action)(ecs_world_t *, const char *, void *);
        void *lookup_ctx;
        _Bool strict;
    }
    
    ecs_entity_t (*lookup_action)(ecs_world_t *, const char *, void *)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_function_callback_t)(const ecs_function_ctx_t *, int32_t, const ecs_value_t *, ecs_value_t *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_function_ctx_t {
        ecs_world_t *world;
        ecs_entity_t function;
        void *ctx;
    }
    
    struct ecs_function_desc_t {
        const char *name;
        ecs_entity_t parent;
        ecs_script_parameter_t params[16];
        ecs_entity_t return_type;
        ecs_function_callback_t callback;
        void *ctx;
    }
    
    struct ecs_gauge_t {
        float avg[60];
        float min[60];
        float max[60];
    }
    
    typedef uint64_t (*ecs_group_by_action_t)(ecs_world_t *, ecs_table_t *, ecs_id_t, void *)
    
    The function pointer signature, expressed as a functional interface
    typedef void *(*ecs_group_create_action_t)(ecs_world_t *, uint64_t, void *)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_group_delete_action_t)(ecs_world_t *, uint64_t, void *, void *)
    
    The function pointer signature, expressed as a functional interface
    typedef uint64_t (*ecs_hash_value_action_t)(const void *)
    
    The function pointer signature, expressed as a functional interface
    struct {
        ecs_hash_value_action_t hash;
        ecs_compare_action_t compare;
        ecs_size_t key_size;
        ecs_size_t value_size;
        ecs_map_t impl;
    }
    
    struct ecs_header_t {
        int32_t type;
        int32_t refcount;
        ecs_mixins_t *mixins;
    }
    
    struct {
        ecs_vec_t keys;
        ecs_vec_t values;
    }
    
    struct {
        uint64_t id;
        ecs_http_server_t *server;
        char host[128];
        char port[16];
    }
    
    struct {
        const char *key;
        const char *value;
    }
    
    typedef _Bool (*ecs_http_reply_action_t)(const ecs_http_request_t *, ecs_http_reply_t *, void *)
    
    The function pointer signature, expressed as a functional interface
    struct {
        int code;
        ecs_strbuf_t body;
        const char *status;
        const char *content_type;
        ecs_strbuf_t headers;
    }
    
    struct {
        uint64_t id;
        ecs_http_method_t method;
        char *path;
        char *body;
        ecs_http_key_value_t headers[32];
        ecs_http_key_value_t params[32];
        int32_t header_count;
        int32_t param_count;
        ecs_http_connection_t *conn;
    }
    
    struct {
        ecs_http_reply_action_t callback;
        void *ctx;
        uint16_t port;
        const char *ipaddr;
        int32_t send_queue_wait_ms;
        double cache_timeout;
        double cache_purge_timeout;
    }
    
    typedef void (*ecs_iter_action_t)(ecs_iter_t *)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_iter_fini_action_t)(ecs_iter_t *)
    
    The function pointer signature, expressed as a functional interface
    typedef _Bool (*ecs_iter_next_action_t)(ecs_iter_t *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_iter_private_t {
        union {
            ecs_query_iter_t query;
            ecs_page_iter_t page;
            ecs_worker_iter_t worker;
            ecs_each_iter_t each;
        } iter;
        void *entity_iter;
        ecs_stack_cursor_t *stack_cursor;
    }
    
    union {
        ecs_query_iter_t query;
        ecs_page_iter_t page;
        ecs_worker_iter_t worker;
        ecs_each_iter_t each;
    }
    
    struct ecs_iter_t {
        ecs_world_t *world;
        ecs_world_t *real_world;
        int32_t offset;
        int32_t count;
        const ecs_entity_t *entities;
        void **ptrs;
        const ecs_table_record_t **trs;
        const ecs_size_t *sizes;
        ecs_table_t *table;
        ecs_table_t *other_table;
        ecs_id_t *ids;
        ecs_entity_t *sources;
        ecs_flags64_t constrained_vars;
        ecs_flags32_t set_fields;
        ecs_flags32_t ref_fields;
        ecs_flags32_t row_fields;
        ecs_flags32_t up_fields;
        ecs_entity_t system;
        ecs_entity_t event;
        ecs_id_t event_id;
        int32_t event_cur;
        int8_t field_count;
        int8_t term_index;
        const ecs_query_t *query;
        void *param;
        void *ctx;
        void *binding_ctx;
        void *callback_ctx;
        void *run_ctx;
        float delta_time;
        float delta_system_time;
        int32_t frame_offset;
        ecs_flags32_t flags;
        ecs_entity_t interrupted_by;
        ecs_iter_private_t priv_;
        ecs_iter_next_action_t next;
        ecs_iter_action_t callback;
        ecs_iter_fini_action_t fini;
        ecs_iter_t *chain_it;
    }
    
    struct ecs_iter_to_json_desc_t {
        _Bool serialize_entity_ids;
        _Bool serialize_values;
        _Bool serialize_builtin;
        _Bool serialize_doc;
        _Bool serialize_full_paths;
        _Bool serialize_fields;
        _Bool serialize_inherited;
        _Bool serialize_table;
        _Bool serialize_type_info;
        _Bool serialize_field_info;
        _Bool serialize_query_info;
        _Bool serialize_query_plan;
        _Bool serialize_query_profile;
        _Bool dont_serialize_results;
        _Bool serialize_alerts;
        ecs_entity_t serialize_refs;
        _Bool serialize_matches;
        _Bool (*component_filter)(const ecs_world_t *, ecs_entity_t);
        ecs_poly_t *query;
    }
    
    _Bool (*component_filter)(const ecs_world_t *, ecs_entity_t)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_map_iter_t {
        const ecs_map_t *map;
        ecs_bucket_t *bucket;
        ecs_bucket_entry_t *entry;
        ecs_map_data_t *res;
    }
    
    struct ecs_map_params_t {
        struct ecs_allocator_t *allocator;
    }
    
    struct ecs_map_t {
        ecs_bucket_t *buckets;
        int32_t bucket_count;
        unsigned int count : 26;
        unsigned int bucket_shift : 6;
        struct ecs_allocator_t *allocator;
    }
    
    struct ecs_member_t {
        const char *name;
        ecs_entity_t type;
        int32_t count;
        int32_t offset;
        ecs_entity_t unit;
        _Bool use_offset;
        ecs_member_value_range_t range;
        ecs_member_value_range_t error_range;
        ecs_member_value_range_t warning_range;
        ecs_size_t size;
        ecs_entity_t member;
    }
    
    struct ecs_member_value_range_t {
        double min;
        double max;
    }
    
    struct ecs_meta_cursor_t {
        const ecs_world_t *world;
        ecs_meta_scope_t scope[32];
        int16_t depth;
        _Bool valid;
        _Bool is_primitive_scope;
        ecs_entity_t (*lookup_action)(ecs_world_t *, const char *, void *);
        void *lookup_ctx;
    }
    
    ecs_entity_t (*lookup_action)(ecs_world_t *, const char *, void *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_meta_op_t {
        ecs_meta_op_kind_t kind;
        ecs_meta_op_kind_t underlying_kind;
        ecs_size_t offset;
        const char *name;
        ecs_size_t elem_size;
        int16_t op_count;
        int16_t member_index;
        ecs_entity_t type;
        const ecs_type_info_t *type_info;
        union {
            ecs_hashmap_t *members;
            ecs_map_t *constants;
            ecs_meta_serialize_t opaque;
        } is;
    }
    
    union {
        ecs_hashmap_t *members;
        ecs_map_t *constants;
        ecs_meta_serialize_t opaque;
    }
    
    struct ecs_meta_scope_t {
        ecs_entity_t type;
        ecs_meta_op_t *ops;
        int16_t ops_count;
        int16_t ops_cur;
        int16_t prev_depth;
        void *ptr;
        const EcsOpaque *opaque;
        ecs_hashmap_t *members;
        _Bool is_collection;
        _Bool is_empty_scope;
        _Bool is_moved_scope;
        int32_t elem;
        int32_t elem_count;
    }
    
    typedef int (*ecs_meta_serialize_element_t)(const ecs_serializer_t *, const void *, size_t)
    
    The function pointer signature, expressed as a functional interface
    typedef int (*ecs_meta_serialize_member_t)(const ecs_serializer_t *, const void *, const char *)
    
    The function pointer signature, expressed as a functional interface
    typedef int (*ecs_meta_serialize_t)(const ecs_serializer_t *, const void *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_metric_desc_t {
        int32_t _canary;
        ecs_entity_t entity;
        ecs_entity_t member;
        const char *dotmember;
        ecs_id_t id;
        _Bool targets;
        ecs_entity_t kind;
        const char *brief;
    }
    
    union ecs_metric_t {
        ecs_gauge_t gauge;
        ecs_counter_t counter;
    }
    
    struct {
        ecs_size_t bytes_world;
        ecs_size_t bytes_observers;
        ecs_size_t bytes_systems;
        ecs_size_t bytes_pipelines;
        ecs_size_t bytes_table_lookup;
        ecs_size_t bytes_component_record_lookup;
        ecs_size_t bytes_type_info;
        ecs_size_t bytes_commands;
        ecs_size_t bytes_rematch_monitor;
        ecs_size_t bytes_component_ids;
        ecs_size_t bytes_reflection;
        ecs_size_t bytes_stats;
        ecs_size_t bytes_rest;
    }
    
    typedef void (*ecs_module_action_t)(ecs_world_t *)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_move_t)(void *, void *, int32_t, const ecs_type_info_t *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_observable_t {
        ecs_event_record_t on_add;
        ecs_event_record_t on_remove;
        ecs_event_record_t on_set;
        ecs_event_record_t on_wildcard;
        ecs_sparse_t events;
        uint64_t last_observer_id;
    }
    
    struct ecs_observer_desc_t {
        int32_t _canary;
        ecs_entity_t entity;
        ecs_query_desc_t query;
        ecs_entity_t events[8];
        _Bool yield_existing;
        ecs_iter_action_t callback;
        ecs_run_action_t run;
        void *ctx;
        ecs_ctx_free_t ctx_free;
        void *callback_ctx;
        ecs_ctx_free_t callback_ctx_free;
        void *run_ctx;
        ecs_ctx_free_t run_ctx_free;
        int32_t *last_event_id;
        int8_t term_index_;
        ecs_flags32_t flags_;
    }
    
    struct ecs_observer_t {
        ecs_header_t hdr;
        ecs_query_t *query;
        ecs_entity_t events[8];
        int32_t event_count;
        ecs_iter_action_t callback;
        ecs_run_action_t run;
        void *ctx;
        void *callback_ctx;
        void *run_ctx;
        ecs_ctx_free_t ctx_free;
        ecs_ctx_free_t callback_ctx_free;
        ecs_ctx_free_t run_ctx_free;
        ecs_observable_t *observable;
        ecs_world_t *world;
        ecs_entity_t entity;
    }
    
    struct ecs_opaque_desc_t {
        ecs_entity_t entity;
        EcsOpaque type;
    }
    
    typedef int (*ecs_order_by_action_t)(ecs_entity_t, const void *, ecs_entity_t, const void *)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_abort_t)(void)
    
    The function pointer signature, expressed as a functional interface
    typedef int32_t (*ecs_os_api_ainc_t)(int32_t *)
    
    The function pointer signature, expressed as a functional interface
    typedef void *(*ecs_os_api_calloc_t)(ecs_size_t)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_cond_broadcast_t)(ecs_os_cond_t)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_cond_free_t)(ecs_os_cond_t)
    
    The function pointer signature, expressed as a functional interface
    typedef ecs_os_cond_t (*ecs_os_api_cond_new_t)(void)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_cond_signal_t)(ecs_os_cond_t)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_cond_wait_t)(ecs_os_cond_t, ecs_os_mutex_t)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_dlclose_t)(ecs_os_dl_t)
    
    The function pointer signature, expressed as a functional interface
    typedef ecs_os_dl_t (*ecs_os_api_dlopen_t)(const char *)
    
    The function pointer signature, expressed as a functional interface
    typedef ecs_os_proc_t (*ecs_os_api_dlproc_t)(ecs_os_dl_t, const char *)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_enable_high_timer_resolution_t)(_Bool)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_fini_t)(void)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_free_t)(void *)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_get_time_t)(ecs_time_t *)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_init_t)(void)
    
    The function pointer signature, expressed as a functional interface
    typedef int64_t (*ecs_os_api_lainc_t)(int64_t *)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_log_t)(int32_t, const char *, int32_t, const char *)
    
    The function pointer signature, expressed as a functional interface
    typedef void *(*ecs_os_api_malloc_t)(ecs_size_t)
    
    The function pointer signature, expressed as a functional interface
    typedef char *(*ecs_os_api_module_to_path_t)(const char *)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_mutex_free_t)(ecs_os_mutex_t)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_mutex_lock_t)(ecs_os_mutex_t)
    
    The function pointer signature, expressed as a functional interface
    typedef ecs_os_mutex_t (*ecs_os_api_mutex_new_t)(void)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_mutex_unlock_t)(ecs_os_mutex_t)
    
    The function pointer signature, expressed as a functional interface
    typedef uint64_t (*ecs_os_api_now_t)(void)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_perf_trace_t)(const char *, size_t, const char *)
    
    The function pointer signature, expressed as a functional interface
    typedef void *(*ecs_os_api_realloc_t)(void *, ecs_size_t)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_api_sleep_t)(int32_t, int32_t)
    
    The function pointer signature, expressed as a functional interface
    typedef char *(*ecs_os_api_strdup_t)(const char *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_os_api_t {
        ecs_os_api_init_t init_;
        ecs_os_api_fini_t fini_;
        ecs_os_api_malloc_t malloc_;
        ecs_os_api_realloc_t realloc_;
        ecs_os_api_calloc_t calloc_;
        ecs_os_api_free_t free_;
        ecs_os_api_strdup_t strdup_;
        ecs_os_api_thread_new_t thread_new_;
        ecs_os_api_thread_join_t thread_join_;
        ecs_os_api_thread_self_t thread_self_;
        ecs_os_api_thread_new_t task_new_;
        ecs_os_api_thread_join_t task_join_;
        ecs_os_api_ainc_t ainc_;
        ecs_os_api_ainc_t adec_;
        ecs_os_api_lainc_t lainc_;
        ecs_os_api_lainc_t ladec_;
        ecs_os_api_mutex_new_t mutex_new_;
        ecs_os_api_mutex_free_t mutex_free_;
        ecs_os_api_mutex_lock_t mutex_lock_;
        ecs_os_api_mutex_lock_t mutex_unlock_;
        ecs_os_api_cond_new_t cond_new_;
        ecs_os_api_cond_free_t cond_free_;
        ecs_os_api_cond_signal_t cond_signal_;
        ecs_os_api_cond_broadcast_t cond_broadcast_;
        ecs_os_api_cond_wait_t cond_wait_;
        ecs_os_api_sleep_t sleep_;
        ecs_os_api_now_t now_;
        ecs_os_api_get_time_t get_time_;
        ecs_os_api_log_t log_;
        ecs_os_api_abort_t abort_;
        ecs_os_api_dlopen_t dlopen_;
        ecs_os_api_dlproc_t dlproc_;
        ecs_os_api_dlclose_t dlclose_;
        ecs_os_api_module_to_path_t module_to_dl_;
        ecs_os_api_module_to_path_t module_to_etc_;
        ecs_os_api_perf_trace_t perf_trace_push_;
        ecs_os_api_perf_trace_t perf_trace_pop_;
        int32_t log_level_;
        int32_t log_indent_;
        int32_t log_last_error_;
        int64_t log_last_timestamp_;
        ecs_flags32_t flags_;
        void *log_out_;
    }
    
    typedef void *(*ecs_os_api_task_join_t)(ecs_os_thread_t)
    
    The function pointer signature, expressed as a functional interface
    typedef ecs_os_thread_t (*ecs_os_api_task_new_t)(ecs_os_thread_callback_t, void *)
    
    The function pointer signature, expressed as a functional interface
    typedef void *(*ecs_os_api_thread_join_t)(ecs_os_thread_t)
    
    The function pointer signature, expressed as a functional interface
    typedef ecs_os_thread_t (*ecs_os_api_thread_new_t)(ecs_os_thread_callback_t, void *)
    
    The function pointer signature, expressed as a functional interface
    typedef ecs_os_thread_id_t (*ecs_os_api_thread_self_t)(void)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_os_proc_t)(void)
    
    The function pointer signature, expressed as a functional interface
    typedef void *(*ecs_os_thread_callback_t)(void *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_page_iter_t {
        int32_t offset;
        int32_t limit;
        int32_t remaining;
    }
    
    struct ecs_pipeline_desc_t {
        ecs_entity_t entity;
        ecs_query_desc_t query;
    }
    
    struct ecs_pipeline_stats_t {
        int8_t canary_;
        ecs_vec_t systems;
        ecs_vec_t sync_points;
        int32_t t;
        int32_t system_count;
        int32_t active_system_count;
        int32_t rebuild_count;
    }
    
    struct ecs_primitive_desc_t {
        ecs_entity_t entity;
        ecs_primitive_kind_t kind;
    }
    
    struct ecs_query_count_t {
        int32_t results;
        int32_t entities;
        int32_t tables;
    }
    
    struct ecs_query_desc_t {
        int32_t _canary;
        ecs_term_t terms[32];
        const char *expr;
        ecs_query_cache_kind_t cache_kind;
        ecs_flags32_t flags;
        ecs_order_by_action_t order_by_callback;
        ecs_sort_table_action_t order_by_table_callback;
        ecs_entity_t order_by;
        ecs_id_t group_by;
        ecs_group_by_action_t group_by_callback;
        ecs_group_create_action_t on_group_create;
        ecs_group_delete_action_t on_group_delete;
        void *group_by_ctx;
        ecs_ctx_free_t group_by_ctx_free;
        void *ctx;
        void *binding_ctx;
        ecs_ctx_free_t ctx_free;
        ecs_ctx_free_t binding_ctx_free;
        ecs_entity_t entity;
    }
    
    struct ecs_query_group_info_t {
        uint64_t id;
        int32_t match_count;
        int32_t table_count;
        void *ctx;
    }
    
    struct ecs_query_iter_t {
        struct ecs_var_t *vars;
        const struct ecs_query_var_t *query_vars;
        const struct ecs_query_op_t *ops;
        struct ecs_query_op_ctx_t *op_ctx;
        uint64_t *written;
        ecs_query_cache_group_t *group;
        ecs_vec_t *tables;
        ecs_vec_t *all_tables;
        ecs_query_cache_match_t *elem;
        int32_t cur;
        int32_t all_cur;
        ecs_query_op_profile_t *profile;
        int16_t op;
        _Bool iter_single_group;
    }
    
    struct {
        int32_t count;
        int32_t cached_count;
        ecs_size_t bytes_query;
        ecs_size_t bytes_cache;
        ecs_size_t bytes_group_by;
        ecs_size_t bytes_order_by;
        ecs_size_t bytes_plan;
        ecs_size_t bytes_terms;
        ecs_size_t bytes_misc;
    }
    
    struct ecs_query_op_profile_t {
        int32_t count[2];
    }
    
    struct ecs_query_stats_t {
        int64_t first_;
        ecs_metric_t result_count;
        ecs_metric_t matched_table_count;
        ecs_metric_t matched_entity_count;
        int64_t last_;
        int32_t t;
    }
    
    struct ecs_query_t {
        ecs_header_t hdr;
        ecs_term_t *terms;
        int32_t *sizes;
        ecs_id_t *ids;
        uint64_t bloom_filter;
        ecs_flags32_t flags;
        int8_t var_count;
        int8_t term_count;
        int8_t field_count;
        ecs_flags32_t fixed_fields;
        ecs_flags32_t var_fields;
        ecs_flags32_t static_id_fields;
        ecs_flags32_t data_fields;
        ecs_flags32_t write_fields;
        ecs_flags32_t read_fields;
        ecs_flags32_t row_fields;
        ecs_flags32_t shared_readonly_fields;
        ecs_flags32_t set_fields;
        ecs_query_cache_kind_t cache_kind;
        char **vars;
        void *ctx;
        void *binding_ctx;
        ecs_entity_t entity;
        ecs_world_t *real_world;
        ecs_world_t *world;
        int32_t eval_count;
    }
    
    struct ecs_record_t {
        ecs_component_record_t *cr;
        ecs_table_t *table;
        uint32_t row;
        int32_t dense;
    }
    
    struct ecs_ref_t {
        ecs_entity_t entity;
        ecs_entity_t id;
        uint64_t table_id;
        uint32_t table_version_fast;
        uint16_t table_version;
        ecs_record_t *record;
        void *ptr;
    }
    
    struct {
        ecs_world_t *world;
        ecs_http_server_t *srv;
        int32_t rc;
        ecs_map_t cmd_captures;
        double last_time;
    }
    
    typedef void (*ecs_run_action_t)(ecs_iter_t *)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_script_desc_t {
        ecs_entity_t entity;
        const char *filename;
        const char *code;
    }
    
    struct ecs_script_eval_desc_t {
        ecs_script_vars_t *vars;
        ecs_script_runtime_t *runtime;
    }
    
    struct ecs_script_eval_result_t {
        char *error;
    }
    
    struct ecs_script_parameter_t {
        const char *name;
        ecs_entity_t type;
    }
    
    struct ecs_script_t {
        ecs_world_t *world;
        const char *name;
        const char *code;
    }
    
    struct ecs_script_var_t {
        const char *name;
        ecs_value_t value;
        const ecs_type_info_t *type_info;
        int32_t sp;
        _Bool is_const;
    }
    
    struct ecs_script_vars_t {
        struct ecs_script_vars_t *parent;
        int32_t sp;
        ecs_hashmap_t var_index;
        ecs_vec_t vars;
        const ecs_world_t *world;
        struct ecs_stack_t *stack;
        ecs_stack_cursor_t *cursor;
        ecs_allocator_t *allocator;
    }
    
    struct ecs_serializer_t {
        int (*value)(const struct ecs_serializer_t *, ecs_entity_t, const void *);
        int (*member)(const struct ecs_serializer_t *, const char *);
        const ecs_world_t *world;
        void *ctx;
    }
    
    int (*member)(const struct ecs_serializer_t *, const char *)
    
    The function pointer signature, expressed as a functional interface
    int (*value)(const struct ecs_serializer_t *, ecs_entity_t, const void *)
    
    The function pointer signature, expressed as a functional interface
    typedef void (*ecs_sort_table_action_t)(ecs_world_t *, ecs_table_t *, ecs_entity_t *, void *, int32_t, int32_t, int32_t, ecs_order_by_action_t)
    
    The function pointer signature, expressed as a functional interface
    struct ecs_sparse_page_t {
        int32_t *sparse;
        void *data;
    }
    
    struct ecs_sparse_t {
        ecs_vec_t dense;
        ecs_vec_t pages;
        ecs_size_t size;
        int32_t count;
        uint64_t max_id;
        struct ecs_allocator_t *allocator;
        struct ecs_block_allocator_t *page_allocator;
    }
    
    struct ecs_stack_cursor_t {
        struct ecs_stack_cursor_t *prev;
        struct ecs_stack_page_t *page;
        int16_t sp;
        _Bool is_free;
        struct ecs_stack_t *owner;
    }
    
    struct ecs_stack_page_t {
        void *data;
        struct ecs_stack_page_t *next;
        int16_t sp;
        uint32_t id;
    }
    
    struct ecs_stack_t {
        ecs_stack_page_t *first;
        ecs_stack_page_t *tail_page;
        ecs_stack_cursor_t *tail_cursor;
        int32_t cursor_count;
    }
    
    struct ecs_strbuf_list_elem {
        int32_t count;
        const char *separator;
    }
    
    struct ecs_strbuf_t {
        char *content;
        ecs_size_t length;
        ecs_size_t size;
        ecs_strbuf_list_elem list_stack[32];
        int32_t list_sp;
        char small_string[512];
    }
    
    struct ecs_struct_desc_t {
        ecs_entity_t entity;
        ecs_member_t members[32];
    }
    
    struct ecs_suspend_readonly_state_t {
        _Bool is_readonly;
        _Bool is_deferred;
        _Bool cmd_flushing;
        int32_t defer_count;
        ecs_entity_t scope;
        ecs_entity_t with;
        ecs_commands_t cmd_stack[2];
        ecs_commands_t *cmd;
        ecs_stage_t *stage;
    }
    
    struct ecs_sync_stats_t {
        int64_t first_;
        ecs_metric_t time_spent;
        ecs_metric_t commands_enqueued;
        int64_t last_;
        int32_t system_count;
        _Bool multi_threaded;
        _Bool immediate;
    }
    
    struct ecs_system_desc_t {
        int32_t _canary;
        ecs_entity_t entity;
        ecs_query_desc_t query;
        ecs_iter_action_t callback;
        ecs_run_action_t run;
        void *ctx;
        ecs_ctx_free_t ctx_free;
        void *callback_ctx;
        ecs_ctx_free_t callback_ctx_free;
        void *run_ctx;
        ecs_ctx_free_t run_ctx_free;
        float interval;
        int32_t rate;
        ecs_entity_t tick_source;
        _Bool multi_threaded;
        _Bool immediate;
    }
    
    struct ecs_system_stats_t {
        int64_t first_;
        ecs_metric_t time_spent;
        int64_t last_;
        _Bool task;
        ecs_query_stats_t query;
    }
    
    struct ecs_system_t {
        ecs_header_t hdr;
        ecs_run_action_t run;
        ecs_iter_action_t action;
        ecs_query_t *query;
        ecs_entity_t tick_source;
        _Bool multi_threaded;
        _Bool immediate;
        const char *name;
        void *ctx;
        void *callback_ctx;
        void *run_ctx;
        ecs_ctx_free_t ctx_free;
        ecs_ctx_free_t callback_ctx_free;
        ecs_ctx_free_t run_ctx_free;
        float time_spent;
        float time_passed;
        int64_t last_frame;
        flecs_poly_dtor_t dtor;
    }
    
    struct ecs_table_cache_hdr_t {
        struct ecs_component_record_t *cr;
        ecs_table_t *table;
        struct ecs_table_cache_hdr_t *prev;
        struct ecs_table_cache_hdr_t *next;
    }
    
    struct ecs_table_cache_iter_t {
        const struct ecs_table_cache_hdr_t *cur, *next;
        _Bool iter_fill;
        _Bool iter_empty;
    }
    
    struct ecs_table_diff_t {
        ecs_type_t added;
        ecs_type_t removed;
        ecs_flags32_t added_flags;
        ecs_flags32_t removed_flags;
    }
    
    struct {
        int32_t entity_counts[14];
    }
    
    struct {
        int32_t count;
        int32_t empty_count;
        int32_t column_count;
        ecs_size_t bytes_table;
        ecs_size_t bytes_type;
        ecs_size_t bytes_entities;
        ecs_size_t bytes_overrides;
        ecs_size_t bytes_columns;
        ecs_size_t bytes_table_records;
        ecs_size_t bytes_column_map;
        ecs_size_t bytes_component_map;
        ecs_size_t bytes_dirty_state;
        ecs_size_t bytes_edges;
    }
    
    struct ecs_table_range_t {
        ecs_table_t *table;
        int32_t offset;
        int32_t count;
    }
    
    struct ecs_table_record_t {
        ecs_table_cache_hdr_t hdr;
        int16_t index;
        int16_t count;
        int16_t column;
    }
    
    struct ecs_table_records_t {
        const ecs_table_record_t *array;
        int32_t count;
    }
    
    struct ecs_term_ref_t {
        ecs_entity_t id;
        const char *name;
    }
    
    struct ecs_term_t {
        ecs_id_t id;
        ecs_term_ref_t src;
        ecs_term_ref_t first;
        ecs_term_ref_t second;
        ecs_entity_t trav;
        int16_t inout;
        int16_t oper;
        int8_t field_index;
        ecs_flags16_t flags_;
    }
    
    struct ecs_time_t {
        uint32_t sec;
        uint32_t nanosec;
    }
    
    struct ecs_type_hooks_t {
        ecs_xtor_t ctor;
        ecs_xtor_t dtor;
        ecs_copy_t copy;
        ecs_move_t move;
        ecs_copy_t copy_ctor;
        ecs_move_t move_ctor;
        ecs_move_t ctor_move_dtor;
        ecs_move_t move_dtor;
        ecs_cmp_t cmp;
        ecs_equals_t equals;
        ecs_flags32_t flags;
        ecs_iter_action_t on_add;
        ecs_iter_action_t on_set;
        ecs_iter_action_t on_remove;
        ecs_iter_action_t on_replace;
        void *ctx;
        void *binding_ctx;
        void *lifecycle_ctx;
        ecs_ctx_free_t ctx_free;
        ecs_ctx_free_t binding_ctx_free;
        ecs_ctx_free_t lifecycle_ctx_free;
    }
    
    struct ecs_type_info_t {
        ecs_size_t size;
        ecs_size_t alignment;
        ecs_type_hooks_t hooks;
        ecs_entity_t component;
        const char *name;
    }
    
    struct {
        ecs_id_t *array;
        int32_t count;
    }
    
    struct ecs_unit_desc_t {
        ecs_entity_t entity;
        const char *symbol;
        ecs_entity_t quantity;
        ecs_entity_t base;
        ecs_entity_t over;
        ecs_unit_translation_t translation;
        ecs_entity_t prefix;
    }
    
    struct ecs_unit_prefix_desc_t {
        ecs_entity_t entity;
        const char *symbol;
        ecs_unit_translation_t translation;
    }
    
    struct ecs_unit_translation_t {
        int32_t factor;
        int32_t power;
    }
    
    struct ecs_value_t {
        ecs_entity_t type;
        void *ptr;
    }
    
    struct ecs_var_t {
        ecs_table_range_t range;
        ecs_entity_t entity;
    }
    
    struct ecs_vec_t {
        void *array;
        int32_t count;
        int32_t size;
    }
    
    struct ecs_vector_desc_t {
        ecs_entity_t entity;
        ecs_entity_t type;
    }
    
    struct ecs_worker_iter_t {
        int32_t index;
        int32_t count;
    }
    
    struct ecs_world_info_t {
        ecs_entity_t last_component_id;
        ecs_entity_t min_id;
        ecs_entity_t max_id;
        float delta_time_raw;
        float delta_time;
        float time_scale;
        float target_fps;
        float frame_time_total;
        float system_time_total;
        float emit_time_total;
        float merge_time_total;
        float rematch_time_total;
        double world_time_total;
        double world_time_total_raw;
        int64_t frame_count_total;
        int64_t merge_count_total;
        int64_t eval_comp_monitors_total;
        int64_t rematch_count_total;
        int64_t id_create_total;
        int64_t id_delete_total;
        int64_t table_create_total;
        int64_t table_delete_total;
        int64_t pipeline_build_count_total;
        int64_t systems_ran_total;
        int64_t observers_ran_total;
        int64_t queries_ran_total;
        int32_t tag_id_count;
        int32_t component_id_count;
        int32_t pair_id_count;
        int32_t table_count;
        uint32_t creation_time;
        struct {
            int64_t add_count;
            int64_t remove_count;
            int64_t delete_count;
            int64_t clear_count;
            int64_t set_count;
            int64_t ensure_count;
            int64_t modified_count;
            int64_t discard_count;
            int64_t event_count;
            int64_t other_count;
            int64_t batched_entity_count;
            int64_t batched_command_count;
        } cmd;
        const char *name_prefix;
    }
    
    struct {
        int64_t add_count;
        int64_t remove_count;
        int64_t delete_count;
        int64_t clear_count;
        int64_t set_count;
        int64_t ensure_count;
        int64_t modified_count;
        int64_t discard_count;
        int64_t event_count;
        int64_t other_count;
        int64_t batched_entity_count;
        int64_t batched_command_count;
    }
    
    struct ecs_world_stats_t {
        int64_t first_;
        struct {
            ecs_metric_t count;
            ecs_metric_t not_alive_count;
        } entities;
        struct {
            ecs_metric_t tag_count;
            ecs_metric_t component_count;
            ecs_metric_t pair_count;
            ecs_metric_t type_count;
            ecs_metric_t create_count;
            ecs_metric_t delete_count;
        } components;
        struct {
            ecs_metric_t count;
            ecs_metric_t empty_count;
            ecs_metric_t create_count;
            ecs_metric_t delete_count;
        } tables;
        struct {
            ecs_metric_t query_count;
            ecs_metric_t observer_count;
            ecs_metric_t system_count;
        } queries;
        struct {
            ecs_metric_t add_count;
            ecs_metric_t remove_count;
            ecs_metric_t delete_count;
            ecs_metric_t clear_count;
            ecs_metric_t set_count;
            ecs_metric_t ensure_count;
            ecs_metric_t modified_count;
            ecs_metric_t other_count;
            ecs_metric_t discard_count;
            ecs_metric_t batched_entity_count;
            ecs_metric_t batched_count;
        } commands;
        struct {
            ecs_metric_t frame_count;
            ecs_metric_t merge_count;
            ecs_metric_t rematch_count;
            ecs_metric_t pipeline_build_count;
            ecs_metric_t systems_ran;
            ecs_metric_t observers_ran;
            ecs_metric_t event_emit_count;
        } frame;
        struct {
            ecs_metric_t world_time_raw;
            ecs_metric_t world_time;
            ecs_metric_t frame_time;
            ecs_metric_t system_time;
            ecs_metric_t emit_time;
            ecs_metric_t merge_time;
            ecs_metric_t rematch_time;
            ecs_metric_t fps;
            ecs_metric_t delta_time;
        } performance;
        struct {
            ecs_metric_t alloc_count;
            ecs_metric_t realloc_count;
            ecs_metric_t free_count;
            ecs_metric_t outstanding_alloc_count;
            ecs_metric_t block_alloc_count;
            ecs_metric_t block_free_count;
            ecs_metric_t block_outstanding_alloc_count;
            ecs_metric_t stack_alloc_count;
            ecs_metric_t stack_free_count;
            ecs_metric_t stack_outstanding_alloc_count;
        } memory;
        struct {
            ecs_metric_t request_received_count;
            ecs_metric_t request_invalid_count;
            ecs_metric_t request_handled_ok_count;
            ecs_metric_t request_handled_error_count;
            ecs_metric_t request_not_handled_count;
            ecs_metric_t request_preflight_count;
            ecs_metric_t send_ok_count;
            ecs_metric_t send_error_count;
            ecs_metric_t busy_count;
        } http;
        int64_t last_;
        int32_t t;
    }
    
    struct {
        ecs_metric_t add_count;
        ecs_metric_t remove_count;
        ecs_metric_t delete_count;
        ecs_metric_t clear_count;
        ecs_metric_t set_count;
        ecs_metric_t ensure_count;
        ecs_metric_t modified_count;
        ecs_metric_t other_count;
        ecs_metric_t discard_count;
        ecs_metric_t batched_entity_count;
        ecs_metric_t batched_count;
    }
    
    struct {
        ecs_metric_t tag_count;
        ecs_metric_t component_count;
        ecs_metric_t pair_count;
        ecs_metric_t type_count;
        ecs_metric_t create_count;
        ecs_metric_t delete_count;
    }
    
    struct {
        ecs_metric_t count;
        ecs_metric_t not_alive_count;
    }
    
    struct {
        ecs_metric_t frame_count;
        ecs_metric_t merge_count;
        ecs_metric_t rematch_count;
        ecs_metric_t pipeline_build_count;
        ecs_metric_t systems_ran;
        ecs_metric_t observers_ran;
        ecs_metric_t event_emit_count;
    }
    
    struct {
        ecs_metric_t request_received_count;
        ecs_metric_t request_invalid_count;
        ecs_metric_t request_handled_ok_count;
        ecs_metric_t request_handled_error_count;
        ecs_metric_t request_not_handled_count;
        ecs_metric_t request_preflight_count;
        ecs_metric_t send_ok_count;
        ecs_metric_t send_error_count;
        ecs_metric_t busy_count;
    }
    
    struct {
        ecs_metric_t alloc_count;
        ecs_metric_t realloc_count;
        ecs_metric_t free_count;
        ecs_metric_t outstanding_alloc_count;
        ecs_metric_t block_alloc_count;
        ecs_metric_t block_free_count;
        ecs_metric_t block_outstanding_alloc_count;
        ecs_metric_t stack_alloc_count;
        ecs_metric_t stack_free_count;
        ecs_metric_t stack_outstanding_alloc_count;
    }
    
    struct {
        ecs_metric_t world_time_raw;
        ecs_metric_t world_time;
        ecs_metric_t frame_time;
        ecs_metric_t system_time;
        ecs_metric_t emit_time;
        ecs_metric_t merge_time;
        ecs_metric_t rematch_time;
        ecs_metric_t fps;
        ecs_metric_t delta_time;
    }
    
    struct {
        ecs_metric_t query_count;
        ecs_metric_t observer_count;
        ecs_metric_t system_count;
    }
    
    struct {
        ecs_metric_t count;
        ecs_metric_t empty_count;
        ecs_metric_t create_count;
        ecs_metric_t delete_count;
    }
    
    struct ecs_world_to_json_desc_t {
        _Bool serialize_builtin;
        _Bool serialize_modules;
    }
    
    typedef void (*ecs_xtor_t)(void *, int32_t, const ecs_type_info_t *)
    
    The function pointer signature, expressed as a functional interface
    struct EcsAlertInstance {
        char *message;
    }
    
    struct EcsAlertsActive {
        int32_t info_count;
        int32_t warning_count;
        int32_t error_count;
        ecs_map_t alerts;
    }
    
    struct EcsArray {
        ecs_entity_t type;
        int32_t count;
    }
    
    struct EcsBitmask {
        int32_t dummy_;
    }
    
    struct EcsComponent {
        ecs_size_t size;
        ecs_size_t alignment;
    }
    
    struct EcsConstants {
        ecs_map_t *constants;
        ecs_vec_t ordered_constants;
    }
    
    struct EcsDefaultChildComponent {
        ecs_id_t component;
    }
    
    struct EcsDocDescription {
        char *value;
    }
    
    struct EcsEnum {
        ecs_entity_t underlying_type;
    }
    
    struct EcsIdentifier {
        char *value;
        ecs_size_t length;
        uint64_t hash;
        uint64_t index_hash;
        ecs_hashmap_t *index;
    }
    
    struct EcsMember {
        ecs_entity_t type;
        int32_t count;
        ecs_entity_t unit;
        int32_t offset;
        _Bool use_offset;
    }
    
    struct EcsMemberRanges {
        ecs_member_value_range_t value;
        ecs_member_value_range_t warning;
        ecs_member_value_range_t error;
    }
    
    struct EcsMetricSource {
        ecs_entity_t entity;
    }
    
    struct EcsMetricValue {
        double value;
    }
    
    struct EcsOpaque {
        ecs_entity_t as_type;
        ecs_meta_serialize_t serialize;
        ecs_meta_serialize_member_t serialize_member;
        ecs_meta_serialize_element_t serialize_element;
        void (*assign_bool)(void *, _Bool);
        void (*assign_char)(void *, char);
        void (*assign_int)(void *, int64_t);
        void (*assign_uint)(void *, uint64_t);
        void (*assign_float)(void *, double);
        void (*assign_string)(void *, const char *);
        void (*assign_entity)(void *, ecs_world_t *, ecs_entity_t);
        void (*assign_id)(void *, ecs_world_t *, ecs_id_t);
        void (*assign_null)(void *);
        void (*clear)(void *);
        void *(*ensure_element)(void *, size_t);
        void *(*ensure_member)(void *, const char *);
        size_t (*count)(const void *);
        void (*resize)(void *, size_t);
    }
    
    void (*assign_bool)(void *, _Bool)
    
    The function pointer signature, expressed as a functional interface
    void (*assign_char)(void *, char)
    
    The function pointer signature, expressed as a functional interface
    void (*assign_entity)(void *, ecs_world_t *, ecs_entity_t)
    
    The function pointer signature, expressed as a functional interface
    void (*assign_float)(void *, double)
    
    The function pointer signature, expressed as a functional interface
    void (*assign_id)(void *, ecs_world_t *, ecs_id_t)
    
    The function pointer signature, expressed as a functional interface
    void (*assign_int)(void *, int64_t)
    
    The function pointer signature, expressed as a functional interface
    void (*assign_null)(void *)
    
    The function pointer signature, expressed as a functional interface
    void (*assign_string)(void *, const char *)
    
    The function pointer signature, expressed as a functional interface
    void (*assign_uint)(void *, uint64_t)
    
    The function pointer signature, expressed as a functional interface
    void (*clear)(void *)
    
    The function pointer signature, expressed as a functional interface
    size_t (*count)(const void *)
    
    The function pointer signature, expressed as a functional interface
    void *(*ensure_element)(void *, size_t)
    
    The function pointer signature, expressed as a functional interface
    void *(*ensure_member)(void *, const char *)
    
    The function pointer signature, expressed as a functional interface
    void (*resize)(void *, size_t)
    
    The function pointer signature, expressed as a functional interface
    struct {
        EcsStatsHeader hdr;
        ecs_map_t stats;
    }
    
    struct EcsPoly {
        ecs_poly_t *poly;
    }
    
    struct EcsPrimitive {
        ecs_primitive_kind_t kind;
    }
    
    struct EcsRateFilter {
        ecs_entity_t src;
        int32_t rate;
        int32_t tick_count;
        float time_elapsed;
    }
    
    struct {
        uint16_t port;
        char *ipaddr;
        ecs_rest_ctx_t *impl;
    }
    
    struct EcsScript {
        char *filename;
        char *code;
        char *error;
        ecs_script_t *script;
        ecs_script_template_t *template_;
    }
    
    struct EcsScriptConstVar {
        ecs_value_t value;
        const ecs_type_info_t *type_info;
    }
    
    struct EcsScriptFunction {
        ecs_entity_t return_type;
        ecs_vec_t params;
        ecs_function_callback_t callback;
        void *ctx;
    }
    
    struct EcsScriptMethod {
        ecs_entity_t return_type;
        ecs_vec_t params;
        ecs_function_callback_t callback;
        void *ctx;
    }
    
    struct {
        float elapsed;
        int32_t reduce_count;
    }
    
    struct EcsStruct {
        ecs_vec_t members;
    }
    
    struct {
        EcsStatsHeader hdr;
        ecs_map_t stats;
    }
    
    struct EcsTickSource {
        _Bool tick;
        float time_elapsed;
    }
    
    struct EcsTimer {
        float timeout;
        float time;
        float overshoot;
        int32_t fired_count;
        _Bool active;
        _Bool single_shot;
    }
    
    struct EcsType {
        ecs_type_kind_t kind;
        _Bool existing;
        _Bool partial;
    }
    
    struct EcsTypeSerializer {
        ecs_type_kind_t kind;
        ecs_vec_t ops;
    }
    
    struct EcsUnit {
        char *symbol;
        ecs_entity_t prefix;
        ecs_entity_t base;
        ecs_entity_t over;
        ecs_unit_translation_t translation;
    }
    
    struct EcsUnitPrefix {
        char *symbol;
        ecs_unit_translation_t translation;
    }
    
    struct EcsVector {
        ecs_entity_t type;
    }
    
    struct {
        ecs_entities_memory_t entities;
        ecs_component_memory_t components;
        ecs_component_index_memory_t component_index;
        ecs_query_memory_t queries;
        ecs_table_memory_t tables;
        ecs_table_histogram_t table_histogram;
        ecs_misc_memory_t misc;
        ecs_allocator_memory_t allocators;
        double collection_time;
    }
    
    struct {
        EcsStatsHeader hdr;
        ecs_world_stats_t *stats;
    }
    
    struct {
        double target_fps;
        double time_scale;
        double fps;
        double frame_time_total;
        double system_time_total;
        double merge_time_total;
        int64_t entity_count;
        int64_t table_count;
        int64_t frame_count;
        int64_t command_count;
        int64_t merge_count;
        int64_t systems_ran_total;
        int64_t observers_ran_total;
        int64_t queries_ran_total;
        int32_t tag_count;
        int32_t component_count;
        int32_t pair_count;
        double frame_time_frame;
        double system_time_frame;
        double merge_time_frame;
        int64_t merge_count_frame;
        int64_t systems_ran_frame;
        int64_t observers_ran_frame;
        int64_t queries_ran_frame;
        int64_t command_count_frame;
        double simulation_time;
        uint32_t uptime;
        ecs_build_info_t build_info;
    }
    
     
    struct {
        __fd_mask __fds_bits[16];
    }
    
     
     
     
    Variadic invoker class for:
    void ecs_abort_(int32_t error_code, const char *file, int32_t line, const char *fmt, ...)
    
    Variadic invoker class for:
    void ecs_assert_log_(int32_t error_code, const char *condition_str, const char *file, int32_t line, const char *fmt, ...)
    
    Variadic invoker class for:
    void ecs_log_(int32_t level, const char *file, int32_t line, const char *fmt, ...)
    
    Variadic invoker class for:
    void ecs_parser_error_(const char *name, const char *expr, int64_t column, const char *fmt, ...)
    
    Variadic invoker class for:
    void ecs_parser_warning_(const char *name, const char *expr, int64_t column, const char *fmt, ...)
    
    Variadic invoker class for:
    void ecs_print_(int32_t level, const char *file, int32_t line, const char *fmt, ...)
    
     
    struct {
        ecs_map_iter_t it;
        ecs_hm_bucket_t *bucket;
        int32_t index;
    }
    
    struct {
        void *key;
        void *value;
        uint64_t hash;
    }
    
    typedef void (*flecs_poly_dtor_t)(ecs_poly_t *)
    
    The function pointer signature, expressed as a functional interface
     
     
     
    typedef __fsid_t fsid_t
    
     
    struct {
        long quot;
        long rem;
    }
    
    struct {
        long long quot;
        long long rem;
    }
    
     
    void (*__func)(int, void *)
    
    The function pointer signature, expressed as a functional interface
    union pthread_attr_t {
        char __size[56];
        long __align;
    }
    
    union {
        char __size[32];
        long __align;
    }
    
    union {
        char __size[4];
        int __align;
    }
    
    union {
        struct __pthread_cond_s __data;
        char __size[48];
        long long __align;
    }
    
    union {
        char __size[4];
        int __align;
    }
    
    union {
        struct __pthread_mutex_s __data;
        char __size[40];
        long __align;
    }
    
    union {
        char __size[4];
        int __align;
    }
    
    union {
        struct __pthread_rwlock_arch_t __data;
        char __size[56];
        long __align;
    }
    
    union {
        char __size[8];
        long __align;
    }
    
     
     
     
     
     
    struct random_data {
        int32_t *fptr;
        int32_t *rptr;
        int32_t *state;
        int rand_type;
        int rand_deg;
        int rand_sep;
        int32_t *end_ptr;
    }
    
    typedef __sigset_t sigset_t
    
     
     
    struct timespec {
        __time_t tv_sec;
        __syscall_slong_t tv_nsec;
    }
    
    struct timeval {
        __time_t tv_sec;
        __suseconds_t tv_usec;
    }