Vertegs is a header only library that provides data types, macros and functions that operate on graphs.
Features
- Intrusive data structures.
- Inheritance from a single data type.
- Inline functions preferred over macro functions.
- Type checks for a build with GNU C extensions.
Glossary
# | Term | Description |
1 | cirq | doubly linked circular list |
List
Define a list data type
typedef SomeData MyData;
#define VX_LIST(name, type)
Define the list.
Definition list.h:67
Example "push"
void push(struct MyList** listp, MyData data)
{
struct MyList* entry = malloc(sizeof(*entry));
}
#define vx_graph_datap(graph)
Get a pointer to the data member of a graph node.
Definition graph.h:126
#define vx_list_ins(list,...)
Insert, at a given position, an entry into a list.
Definition list.h:89
Cirq
Define a cirq data type
typedef SomeData MyData;
#define VX_CIRQ(name, type)
Define the cirq.
Definition cirq.h:67
Example "push"
void push(struct MyCirq** headp, MyData data)
{
struct MyCirq* entry = malloc(sizeof(*entry));
}
#define vx_cirq_ins(cirq,...)
Insert, at a given position, an entry into a cirq.
Definition cirq.h:81