CObjectVec
Overview
Module that defines the CObjectVec type and the associated functions.
Example
#include "clingo/lang/expect.h" #include "clingo/container/CBitVec.h" #include "clingo/container/CByteVec.h" #include "clingo/container/CInt64Map.h" #include "clingo/container/CInt64Set.h" #include "clingo/container/CInt64Vec.h" #include "clingo/container/CObjectVec.h" int main( void ) { init_tap_c_(); CObjectVec* gc = retain_c( new_object_vec_c() ); cVecInfo const* info = info_of_object_vec_c( gc ); add_to_object_vec_c( gc, new_bit_vec_c( 64 ) ); add_to_object_vec_c( gc, new_byte_vec_c() ); add_to_object_vec_c( gc, new_int64_map_c() ); add_to_object_vec_c( gc, new_int64_set_c() ); add_to_object_vec_c( gc, new_int64_vec_c() ); expect_c_( info->count == 5 ); release_c( gc ); return finish_tap_c_(); }
Types and Definitions
Generated
CObjectVec
struct CObjectVec; typedef struct CObjectVec CObjectVec;
Via the macros VAL_VEC_DEF_C_ and VAL_VEC_IMPL_C_ declared and implemented struct. The macros declare and implement also the following globals and functions.
cMeta const C_ByteVecMeta; /* create */ CObjectVec* make_object_vec_c( int64_t cap ); CObjectVec* new_object_vec_c(); /* manage */ CObject* const* data_of_object_vec_c( CObjectVec const* vec ); CObject** var_data_of_object_vec_c( CObjectVec* vec ); bool resize_object_vec_c( CObjectVec* vec, int64_t cap ); cVecInfo const* info_of_object_vec_c( CObjectVec const* vec ); /* api */ bool add_to_object_vec_c( CObjectVec* vec, CObject* val ); bool add_array_to_object_vec_c( CObjectVec* vec, int64_t n, CObject* const* arr ); CObject* get_from_object_vec_c( CObjectVec const* vec, int64_t pos ); bool insert_into_object_vec_c( CObjectVec* vec, int64_t pos, CObject* val ); bool remove_from_object_vec_c( CObjectVec* vec, int64_t pos ); void set_on_object_vec_c( CObjectVec* vec, int64_t pos, cByte val );