CRU_CONNECT (3)
CRU MANUAL
CRU_CONNECT (3)

NAME

cru_connect - connect a new edge and a new vertex to a graph

SYNOPSIS

#include <cru/cru.h>

void cru_connect (
   cru_edge label ,
   cru_vertex terminus ,
   int *err )

DESCRIPTION

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.

RETURN VALUE

none

ERRORS

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.

FILES

/usr/local/include/cru/cru.h

/usr/local/include/cru/function_types.h

/usr/local/include/cru/error_codes.h

SEE ALSO

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

AUTHOR

Dennis Furey (milonga@delayinsensitive.com)

PROJECT PAGE

https://github.com/gueststar/cru

CRU VERSION 0.15.3
October 05, 2024
CRU_CONNECT (3)