CRU_SET (3)
CRU MANUAL
CRU_SET (3)

NAME

cru_set - associate a retrievable attribute with a graph

SYNOPSIS

#include <cru/cru.h>

void cru_set (
   cru_graph g ,
   void *s ,
   int *err )

DESCRIPTION

Given a non-empty graph g and pointer-sized value s, this function stores s in such a way that it can be retrieved by any callback function invoking cru_get during any subsequent operation on g by other cru library functions. This capability serves as a way of passing additional parameters to user-defined predicates and operators called by cru library functions so that they need not depend entirely on their operands in the graph. The attribute s may be a scalar value or a pointer to data of any user-defined type.

If s is a pointer to the heap, its memory is not reclaimed by freeing the graph g. The application must manage the memory itself.

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.

CRU_NULGPH

The parameter g refers to an empty graph.

CRU_BADGPH

The parameter g refers to an invalid or corrupted graph.

EXAMPLE

See cru_get.

NOTES

See cru_get.

FILES

/usr/local/include/cru/cru.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_connect, 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_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_SET (3)