Artifact 6639c4c4450f882698c61f622bcee18b56e27e17:
- File modules/struct/graph/walk.h — part of check-in [f428859a74] at 2006-11-16 06:33:12 on branch trunk — * pkgIndex.tcl: Version of graph bumped to 2.2. * graph.man: Updated documentation for new features, extended abilities, critcl implementation, etc. * graph.tcl: Changed core graph code to support multiple * graph_tcl.tcl: implementations, and Tcl implementation. Added some more features (arc|node delete multiple nodes, insertion of multiple nodes, flipping the direction of arcs), internal refactoring of common argument checks, additional checks closing some holes. * graph_c.tcl: Critcl based implementation of graph. * graph/arc.c: * graph/methods.c: * graph/ds.h: * graph/node.c: * graph/objcmd.h: * graph/attr.c: * graph/arcshimmer.c: * graph/objcmd.c: * graph/arc.h: * graph/filter.c: * graph/methods.h: * graph/util.c: * graph/util.h: * graph/node.h: * graph/graph.h: * graph/graph.c: * graph/nacommon.c: * graph/walk.c: * graph/walk.h: * graph/global.h: * graph/nodeshimmer.c: * graph/attr.h: * graph/global.c: * graph/nacommon.h: * graph.test: Reworked testsuite, split into about one file per * graph/tests/Xsetup: tested method, plus helper and control * graph/tests/arc/delete.test: files. Extended testsuite testing * graph/tests/arc/exists.test: several of the holes which were * graph/tests/arc/flip.test: closed and had never been tested * graph/tests/arc/insert.test: before. * graph/tests/arc/move.test: * graph/tests/arc/move-source.test: * graph/tests/arc/move-target.test: * graph/tests/arc/rename.test: * graph/tests/arc/source.test: * graph/tests/arc/target.test: * graph/tests/arc/attr.test: * graph/tests/attr/get.test: * graph/tests/attr/getall.test: * graph/tests/attr/keyexists.test: * graph/tests/attr/keys.test: * graph/tests/attr/lappend.test: * graph/tests/attr/set.test: * graph/tests/attr/unset.test: * graph/tests/attr/append.test: * graph/tests/attr/Xsetup: * graph/tests/node/degree.test: * graph/tests/node/delete.test: * graph/tests/node/exists.test: * graph/tests/node/insert.test: * graph/tests/node/rename.test: * graph/tests/node/opposite.test: * graph/tests/node/attr.test: * graph/tests/walk.test: * graph/tests/Xsupport: * graph/tests/Xcontrol: * graph/tests/arcs.test: * graph/tests/nodes.test: * graph/tests/deserialize.test: * graph/tests/assign.test: * graph/tests/serialize.test: * graph/tests/command.test: * graph/tests/rassign.test: * graph/tests/swap.test: (user: andreas_kupries size: 922)
/* struct::graph - critcl - layer 1 declarations * (c) Graph functions */ #ifndef _G_WALK_H #define _G_WALK_H 1 /* .................................................. */ #include "tcl.h" #include <ds.h> #define W_USAGE "node ?-dir forward|backward? ?-order pre|post|both? ?-type bfs|dfs? -command cmd" /* .................................................. */ enum wtypes { WG_BFS, WG_DFS }; enum worder { WO_BOTH, WO_PRE, WO_POST }; enum wdir { WD_BACKWARD, WD_FORWARD }; int g_walkoptions (Tcl_Interp* interp, int objc, Tcl_Obj* const* objv, int* type, int* order, int* dir, int* cc, Tcl_Obj*** cv); int g_walk (Tcl_Interp* interp, Tcl_Obj* go, GN* n, int type, int order, int dir, int cc, Tcl_Obj** cv); /* .................................................. */ #endif /* _G_WALK_H */ /* * Local Variables: * mode: c * c-basic-offset: 4 * fill-column: 78 * End: */