cru_connect - connect a new edge and a new vertex to a graph
#include <cru/cru.h>
void
cru_connect
(
cru_edge
label
,
cru_vertex
terminus
,
int *err
)
This function creates an edge labeled by the given argument label and terminating at a vertex given by terminus in a graph that is being built or spread. The cru_edge and cru_vertex types are aliases for void pointers that can be cast from any compatible types specific to the application. If they are pointers to dynamically allocated storage, then the caller must allocate and initialize the storage before calling cru_connect. The caller must detect and prevent dangling pointers from being passed.
This function is meant to be called only by a user-defined cru_connector or cru_subconnector callback function referenced respectively by the connector or subconnector field of a cru_builder structure.
none
The err parameter is used to report any events preventing successful completion of the requested operation to the caller. If *err is zero on entry and the operation does not succeed, then *err is assigned a non-zero number. Positive numbers are for POSIX or user-defined error codes, and negative numbers down to -CRU_MAX_ERR are specific to cru.
Values of *err listed below refer to errors that are detected and handled. Unlisted values in the range of -CRU_INT_ERR through -CRU_MAX_ERR likely indicate internal errors attributable to bugs in cru. Any other unlisted values may indicate memory corruption or invalid usage of the API.
ENOMEM
There is insufficient memory to allocate all necessary resources.
CRU_INTOOC
The function was called outside the context of callback function referenced through a cru_builder.
/usr/local/include/cru/cru.h
/usr/local/include/cru/function_types.h
/usr/local/include/cru/error_codes.h
cru, cru_bop, cru_bpred, cru_builder, cru_built, cru_cbop, cru_classifier, cru_class_of, cru_class_size, cru_composed, cru_composer, cru_connector, cru_cqop, cru_crossed, cru_crosser, cru_ctop, cru_ctop_pair, cru_ctop_quad, cru_data_types, cru_deduplicated, cru_destructor, cru_destructor_pair, cru_edge_count, cru_fabricated, cru_fabricator, cru_filter, cru_filtered, cru_fold, cru_free_kill_switch, cru_free_later, cru_free_now, cru_free_partition, cru_function_types, cru_get, cru_hash, cru_induced, cru_inducer, cru_kernel, cru_kill, cru_killed, cru_mapreduced, cru_mapreducer, cru_merged, cru_merger, cru_mutated, cru_mutator, cru_new_kill_switch, cru_nop, cru_order, cru_order_pair, cru_partition_of, cru_plan, cru_postponed, cru_postponer, cru_prop, cru_prop_pair, cru_pruner, cru_qop, cru_qpred, cru_set, cru_sig, cru_singleton, cru_split, cru_splitter, cru_spread, cru_strerror, cru_stretch, cru_stretched, cru_stretcher, cru_subconnector, cru_terminus_count, cru_top, cru_tpred, cru_united, cru_uop, cru_vertex_count, cru_zone
Dennis Furey (milonga@delayinsensitive.com)
https://github.com/gueststar/cru