cru_cbop - conditional binary operator for the cru library
#include <cru/cru.h>
typedef struct
cru_cbop_s
{
cru_bpred
bpred;
cru_bop
bop;
} *cru_cbop;
A conditional binary operator represents a binary operator whose result is required only if some predicate is true of its operands. When conditional operators are passed to cru library functions, they are used only as follows:
A NULL bpred field causes the operator to be invoked unconditionally.
The bop field has no default value and must be initialized to something other than NULL. Otherwise, an error of CRU_UNDCBO is reported for an undefined conditional binary operator.
Conditional binary operators appear in the postponement field of a cru_postponer and in the e_prod field of a cru_crosser. In both cases the operands are a pair of edge labels and the result returned by the operator is the label of a newly created or modified edge.
/usr/local/include/cru/function_types.h
/usr/local/include/cru/data_types.h
cru, cru_bop, cru_bpred, cru_builder, cru_built, 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_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