View Source UnrootedPolytree.Edges (UnrootedPolytree v0.1.0)

Directional edges for a Node. Includes both next and previous edges.

Link to this section Summary

Functions

Returns a list of the previous nodes.

Returns a list of the previous nodes.

Returns a list of the next nodes.

Returns a list of the previous nodes.

Link to this section Types

@type t() :: %UnrootedPolytree.Edges{
  next: [UnrootedPolytree.Node.id()],
  previous: [UnrootedPolytree.Node.id()]
}

Link to this section Functions

@spec add_next(t(), UnrootedPolytree.Node.id()) :: t()

Returns a list of the previous nodes.

iex> UnrootedPolytree.Edges.add_next(%UnrootedPolytree.Edges{next: ["x", "y", "z"]}, "a") %UnrootedPolytree.Edges{next: ["a", "x", "y", "z"], previous: []}

iex> UnrootedPolytree.Edges.add_next(%UnrootedPolytree.Edges{next: ["x"]}, "x") %UnrootedPolytree.Edges{next: ["x"], previous: []}

@spec add_previous(t(), UnrootedPolytree.Node.id()) :: t()

Returns a list of the previous nodes.

iex> UnrootedPolytree.Edges.add_previous(%UnrootedPolytree.Edges{previous: ["a", "b", "c"]}, "x") %UnrootedPolytree.Edges{next: [], previous: ["x", "a", "b", "c"]}

iex> UnrootedPolytree.Edges.add_previous(%UnrootedPolytree.Edges{previous: ["x"]}, "x") %UnrootedPolytree.Edges{next: [], previous: ["x"]}

@spec next(t()) :: [UnrootedPolytree.Node.id()]

Returns a list of the next nodes.

iex> UnrootedPolytree.Edges.next(%UnrootedPolytree.Edges{next: ["x", "y", "z"]}) ["x", "y", "z"]

@spec previous(t()) :: [UnrootedPolytree.Node.id()]

Returns a list of the previous nodes.

iex> UnrootedPolytree.Edges.previous(%UnrootedPolytree.Edges{previous: ["a", "b", "c"]}) ["a", "b", "c"]