#include <stdbool.h>
#include <stddef.h>
#include "flags.h"
Go to the source code of this file.
|
| #define | CVX__(A, B) A##B |
| |
| #define | CVX_(A, B) CVX__(A, B) |
| |
| #define | VTABLE(X) CVX_(X, _vtable) |
| |
| #define | GLOBAL_VTABLE(SNAME, X, NAME) CVX_(CVX_(CVX_(cvx_vtables_, SNAME), X), NAME) |
| |
| #define | CVX_VTAB_COMP(name, T) int (*name)(T, T) |
| |
| #define | CVX_VTAB_COPY(name, T) T (*name)(T) |
| |
| #define | CVX_VTAB_DROP(name, T) void (*name)(T) |
| |
| #define | CVX_VTAB_HASH(name, T) size_t (*name)(T) |
| |
| #define | CVX_VTAB_PRIO(name, T) int (*name)(T, T) |
| |
| #define | CVX_VTAB_DEFINITION(T) |
| |
| #define | CVX_ITER_TAG_MULT 100 |
| |
| #define | CVX_BUFFER_GROWTH_RATE 1.5 |
| |
| #define | CVX_BUFFER_MIN_SIZE 8 |
| |
| #define | CVX_CONTAINER_GUARDS(TAG, _col_, error_value) |
| |
◆ CVX_
| #define CVX_ |
( |
|
A, |
|
|
|
B |
|
) |
| CVX__(A, B) |
◆ CVX__
| #define CVX__ |
( |
|
A, |
|
|
|
B |
|
) |
| A##B |
◆ CVX_BUFFER_GROWTH_RATE
| #define CVX_BUFFER_GROWTH_RATE 1.5 |
◆ CVX_BUFFER_MIN_SIZE
| #define CVX_BUFFER_MIN_SIZE 8 |
◆ CVX_CONTAINER_GUARDS
| #define CVX_CONTAINER_GUARDS |
( |
|
TAG, |
|
|
|
_col_, |
|
|
|
error_value |
|
) |
| |
Value: if (_col_->tag != TAG) \
{ \
return error_value; \
}
@ CVX_FLAG_WRONG_TAG
Tags are checked so you don't pass the wrong struct to a function.
Definition binary_heap.h:81
◆ CVX_ITER_TAG_MULT
| #define CVX_ITER_TAG_MULT 100 |
◆ CVX_VTAB_COMP
| #define CVX_VTAB_COMP |
( |
|
name, |
|
|
|
T |
|
) |
| int (*name)(T, T) |
◆ CVX_VTAB_COPY
| #define CVX_VTAB_COPY |
( |
|
name, |
|
|
|
T |
|
) |
| T (*name)(T) |
◆ CVX_VTAB_DEFINITION
| #define CVX_VTAB_DEFINITION |
( |
|
T | ) |
|
Value:
CVX_VTAB_COPY(clone, T); \
CVX_VTAB_DROP(drop, T); \
CVX_VTAB_HASH(hash, T); \
CVX_VTAB_PRIO(prio, T);
#define CVX_VTAB_COMP(name, T)
Definition core.h:15
◆ CVX_VTAB_DROP
| #define CVX_VTAB_DROP |
( |
|
name, |
|
|
|
T |
|
) |
| void (*name)(T) |
◆ CVX_VTAB_HASH
| #define CVX_VTAB_HASH |
( |
|
name, |
|
|
|
T |
|
) |
| size_t (*name)(T) |
◆ CVX_VTAB_PRIO
| #define CVX_VTAB_PRIO |
( |
|
name, |
|
|
|
T |
|
) |
| int (*name)(T, T) |
◆ GLOBAL_VTABLE
| #define GLOBAL_VTABLE |
( |
|
SNAME, |
|
|
|
X, |
|
|
|
NAME |
|
) |
| CVX_(CVX_(CVX_(cvx_vtables_, SNAME), X), NAME) |
◆ VTABLE
| #define VTABLE |
( |
|
X | ) |
CVX_(X, _vtable) |
◆ cvx_container
◆ cvx_heap_order
enum cvx_heap_order
Defines the two possible heaps:
- Max Heap has the greatest element at the top
- Min Heap has the smallest element at the top
| Enumerator |
|---|
| CVX_MAX_HEAP | |
| CVX_MIN_HEAP | |