Expand description
This is a memory structure with vertices and edges between them,
which we call Surging Object DiGraph (SODG), because it expects
modifications comping from a user (through Sodg::add
,
Sodg::bind
, and Sodg::put
) and then decides itself when
it’s time to delete some vertices (something similar to
“garbage collection”). For example, here is how you create a simple
graph with two vertices and an edge between them:
use sodg::Sodg;
let mut sodg = Sodg::empty();
sodg.add(0).unwrap();
sodg.add(1).unwrap();
sodg.bind(0, 1, "foo").unwrap();
Structs
This
Relay
doesn’t even try to find anything, but returns
an error.This
Relay
can be made of a lambda function.It is a wrapper of a plain text with graph-modifying
instructions, for example:
This struct represents a Surging Object DiGraph (SODG). You add vertices
to it, bind them one to one with edges, put data into some of them,
and read data back:
Enums
It is an object-oriented representation of binary data
in hexadecimal format, which can be put into vertices of the graph.
You can create it from Rust primitives:
Traits
A relay that is used with
Sodg::find()
can’t find an attribute.
It asks the relay for the name of the attribute to use instead
of the not found one, which is provided in the a
parameter. The
v
parameter is the ID of the vertex where the attribute a
is not
found. The b
is the locator of the attribute.Type Definitions
Instances of this type can be used in
Sodg::alert_on
method,
in order to ensure runtime consistency of data inside the graph.