|
Electroneum
|
|
Classes | |
| struct | MDB_ID2 |
Macros | |
| #define | MDB_IDL_LOGN 16 /* DB_SIZE is 2^16, UM_SIZE is 2^17 */ |
| #define | MDB_IDL_DB_SIZE (1<<MDB_IDL_LOGN) |
| #define | MDB_IDL_UM_SIZE (1<<(MDB_IDL_LOGN+1)) |
| #define | MDB_IDL_DB_MAX (MDB_IDL_DB_SIZE-1) |
| #define | MDB_IDL_UM_MAX (MDB_IDL_UM_SIZE-1) |
| #define | MDB_IDL_SIZEOF(ids) (((ids)[0]+1) * sizeof(MDB_ID)) |
| #define | MDB_IDL_IS_ZERO(ids) ( (ids)[0] == 0 ) |
| #define | MDB_IDL_CPY(dst, src) (memcpy( dst, src, MDB_IDL_SIZEOF( src ) )) |
| #define | MDB_IDL_FIRST(ids) ( (ids)[1] ) |
| #define | MDB_IDL_LAST(ids) ( (ids)[(ids)[0]] ) |
| #define | MDB_IDL_ALLOCLEN(ids) ( (ids)[-1] ) |
| #define | mdb_midl_xappend(idl, id) |
Typedefs | |
| typedef mdb_size_t | MDB_ID |
| typedef MDB_ID * | MDB_IDL |
| typedef struct MDB_ID2 | MDB_ID2 |
| typedef MDB_ID2 * | MDB_ID2L |
Functions | |
| unsigned | mdb_midl_search (MDB_IDL ids, MDB_ID id) |
| MDB_IDL | mdb_midl_alloc (int num) |
| void | mdb_midl_free (MDB_IDL ids) |
| void | mdb_midl_shrink (MDB_IDL *idp) |
| int | mdb_midl_need (MDB_IDL *idp, unsigned num) |
| int | mdb_midl_append (MDB_IDL *idp, MDB_ID id) |
| int | mdb_midl_append_list (MDB_IDL *idp, MDB_IDL app) |
| int | mdb_midl_append_range (MDB_IDL *idp, MDB_ID id, unsigned n) |
| void | mdb_midl_xmerge (MDB_IDL idl, MDB_IDL merge) |
| void | mdb_midl_sort (MDB_IDL ids) |
| unsigned | mdb_mid2l_search (MDB_ID2L ids, MDB_ID id) |
| int | mdb_mid2l_insert (MDB_ID2L ids, MDB_ID2 *id) |
| int | mdb_mid2l_append (MDB_ID2L ids, MDB_ID2 *id) |
| #define MDB_IDL_ALLOCLEN | ( | ids | ) | ( (ids)[-1] ) |
Current max length of an mdb_midl_alloc()ed IDL
| #define MDB_IDL_CPY | ( | dst, | |
| src | |||
| ) | (memcpy( dst, src, MDB_IDL_SIZEOF( src ) )) |
| #define MDB_IDL_DB_MAX (MDB_IDL_DB_SIZE-1) |
| #define MDB_IDL_DB_SIZE (1<<MDB_IDL_LOGN) |
| #define MDB_IDL_LOGN 16 /* DB_SIZE is 2^16, UM_SIZE is 2^17 */ |
| #define MDB_IDL_UM_MAX (MDB_IDL_UM_SIZE-1) |
| #define MDB_IDL_UM_SIZE (1<<(MDB_IDL_LOGN+1)) |
| #define mdb_midl_xappend | ( | idl, | |
| id | |||
| ) |
| typedef mdb_size_t MDB_ID |
Append an ID2 into a ID2L.
| [in,out] | ids | The ID2L to append into. |
| [in] | id | The ID2 to append. |
Insert an ID2 into a ID2L.
| [in,out] | ids | The ID2L to insert into. |
| [in] | id | The ID2 to insert. |
Search for an ID in an ID2L.
| [in] | ids | The ID2L to search. |
| [in] | id | The ID to search for. |
| MDB_IDL mdb_midl_alloc | ( | int | num | ) |
Allocate an IDL. Allocates memory for an IDL of the given size.
Append an ID onto an IDL.
| [in,out] | idp | Address of the IDL to append to. |
| [in] | id | The ID to append. |
Append an IDL onto an IDL.
| [in,out] | idp | Address of the IDL to append to. |
| [in] | app | The IDL to append. |
Append an ID range onto an IDL.
| [in,out] | idp | Address of the IDL to append to. |
| [in] | id | The lowest ID to append. |
| [in] | n | Number of IDs to append. |
| void mdb_midl_free | ( | MDB_IDL | ids | ) |
Free an IDL.
| [in] | ids | The IDL to free. |
| int mdb_midl_need | ( | MDB_IDL * | idp, |
| unsigned | num | ||
| ) |
Make room for num additional elements in an IDL.
| [in,out] | idp | Address of the IDL. |
| [in] | num | Number of elements to make room for. |
Search for an ID in an IDL.
| [in] | ids | The IDL to search. |
| [in] | id | The ID to search for. |
| void mdb_midl_shrink | ( | MDB_IDL * | idp | ) |
Shrink an IDL. Return the IDL to the default size if it has grown larger.
| [in,out] | idp | Address of the IDL to shrink. |
| void mdb_midl_sort | ( | MDB_IDL | ids | ) |
Sort an IDL.
| [in,out] | ids | The IDL to sort. |