Generated: July 29, 2004, 07:56:30 A SchemeDoc Manual

Rooster Graph - Singly-linked Edge List

Jonah Nathaniel Beckford © 2004

LAML Version 23.00 (December 12, 2003, full)

Table of Contents:
1. Macros 2. Graph Methods 3. Graph Properties

Alphabetic index:
##carp##make-GTYPE-el (##carp##make-GTYPE-el graph) Internal.
##carp#GTYPE-add-directed-edge! (##carp#GTYPE-add-directed-edge! graph u-vertex_descriptor u-edge_list v-vertex_descriptor) Internal.
##carp#GTYPE-degree (##carp#GTYPE-degree graph vertex_descriptor) Internal.
##carp#GTYPE-edges (##carp#GTYPE-edges graph u-vertex_descriptor u-edge_list is-out-edge-list?) Internal.
##carp#GTYPE-edges* (##carp#GTYPE-edges* graph u-vertex_descriptor u-edge_list is-out-edge-list?) Internal.
##carp#GTYPE-remove-directed-edge! (##carp#GTYPE-remove-directed-edge! graph u-vertex_descriptor u-edge_list v-vertex_descriptor) Internal.
##carp#GTYPE-transform-vertices! (##carp#GTYPE-transform-vertices! vertex_descriptor-to-vertex_descriptor-procedure graph u-vertex_descriptor ) Transforms each vertex in u's out- [and in- if bidirectional? is #t] edge list into another vertex_descriptor using the passed-in procedure.
GTYPE-edge (GTYPE-edge graph source-vertex_descriptor target-vertex_descriptor) Gets the edge(source,target).
GTYPE-edge-at (GTYPE-edge-at graph u-vertex_descriptor zero-based-n-integer) Get the n+1'th edge added the vertex u.
GTYPE-edge-color (GTYPE-edge-color graph edge_descriptor) Example.
GTYPE-edge-color-map GTYPE-edge-color-map Example.
GTYPE-edge-set? (GTYPE-edge-set?) Are the edges in a set (#t) or a list (#f)?
GTYPE-edge-weight (GTYPE-edge-weight graph edge_descriptor) Example.
GTYPE-edge-weight-map GTYPE-edge-weight-map Example.
GTYPE-source (GTYPE-source graph edge_descriptor) Gets the source of an edge(source,target).
GTYPE-target (GTYPE-target graph edge_descriptor) Gets the target of an edge(source,target).
define-el-slist (define-el-slist name args streamed? bidirectional? edge-properties) Create and import specialized edge list.
set-GTYPE-edge-color! (set-GTYPE-edge-color! graph edge_descriptor edge-property) Example.
set-GTYPE-edge-weight! (set-GTYPE-edge-weight! graph edge_descriptor edge-property) Example.

1 Macros

define-el-slist
Form (define-el-slist name args streamed? bidirectional? edge-properties)
Description Create and import specialized edge list.
EDGE LIST

[(list target-edge_record ...) number-of-target-edges-integer]

EDGE RECORD

[target-vertex_descriptor edge-properties]

EDGE DESCRIPTOR

(cons source-vertex_descriptor target-edge_record)

Parameters name graph type name, which is used to prefix all the graph methods
args arguments to constructor
streamed? #t if the stream methods are to be created
bidirectional? #t if in-edge methods are to be created
edge-properties list of internal edge properties
See also Graph Methods graph-methods

GTYPE-edge-set?
Form (GTYPE-edge-set?)
Description Are the edges in a set (#t) or a list (#f)?
Returns boolean

2 Graph Methods

##carp##make-GTYPE-el
Form (##carp##make-GTYPE-el graph)
Description Internal.
Returns edge_list

##carp#GTYPE-add-directed-edge!
Form (##carp#GTYPE-add-directed-edge! graph u-vertex_descriptor u-edge_list v-vertex_descriptor)
Description Internal. O(1).
Returns edge_descriptor

##carp#GTYPE-remove-directed-edge!
Form (##carp#GTYPE-remove-directed-edge! graph u-vertex_descriptor u-edge_list v-vertex_descriptor)
Description Internal. O(E/V).
Returns (if 'found-and-removed #t #f)

GTYPE-edge
Form (GTYPE-edge graph source-vertex_descriptor target-vertex_descriptor)
Description Gets the edge(source,target). O(E/V).
Returns (if 'found-edge edge_descriptor #f)

GTYPE-source
Form (GTYPE-source graph edge_descriptor)
Description Gets the source of an edge(source,target).
Returns source-vertex_descriptor

GTYPE-target
Form (GTYPE-target graph edge_descriptor)
Description Gets the target of an edge(source,target).
Returns target-vertex_descriptor

##carp#GTYPE-edges
Form (##carp#GTYPE-edges graph u-vertex_descriptor u-edge_list is-out-edge-list?)
Description Internal. O(E). Maintains source/target semantics in the resultant edge_descriptors for directed? graphs, so that u is the target if is-out-edge-list? is #f.
Returns (list edge_descriptor ...)

##carp#GTYPE-edges*
Form (##carp#GTYPE-edges* graph u-vertex_descriptor u-edge_list is-out-edge-list?)
Description Internal.
Returns (stream edge_descriptor ...)

GTYPE-edge-at
Form (GTYPE-edge-at graph u-vertex_descriptor zero-based-n-integer)
Description Get the n+1'th edge added the vertex u. O(E/V).
Returns (n+1)th-edge-added-to-u-edge_descriptor

##carp#GTYPE-degree
Form (##carp#GTYPE-degree graph vertex_descriptor)
Description Internal. O(1).
Returns number-of-edges-integer

##carp#GTYPE-transform-vertices!
Form (##carp#GTYPE-transform-vertices! vertex_descriptor-to-vertex_descriptor-procedure graph u-vertex_descriptor )
Description Transforms each vertex in u's out- [and in- if bidirectional? is #t] edge list into another vertex_descriptor using the passed-in procedure.
Returns unspecified

3 Graph Properties
The methods that follow are just examples, if you use the 'edge-properties as (edge-weight edge-color)

GTYPE-edge-weight
Form (GTYPE-edge-weight graph edge_descriptor)
Description Example. Property getter.
Returns edge-property
See also properties Rooster Graph Properties

GTYPE-edge-color
Form (GTYPE-edge-color graph edge_descriptor)
Description Example. Property getter.
Returns edge-property
See also properties Rooster Graph Properties

set-GTYPE-edge-weight!
Form (set-GTYPE-edge-weight! graph edge_descriptor edge-property)
Description Example. Property setter.
See also properties Rooster Graph Properties

set-GTYPE-edge-color!
Form (set-GTYPE-edge-color! graph edge_descriptor edge-property)
Description Example. Property setter.
See also properties Rooster Graph Properties

GTYPE-edge-weight-map
Form GTYPE-edge-weight-map
Description Example. Property map.
Returns edge-property-map
See also properties Rooster Graph Properties

GTYPE-edge-color-map
Form GTYPE-edge-color-map
Description Example. Property map.
Returns edge-property-map
See also properties Rooster Graph Properties


Generated: July 29, 2004, 07:56:30
Generated by LAML SchemeDoc .