home
wiki
classes/clusters list
class information
+
Point of view
ANY
ANY
LOADED_HIERARCHIC_GRAPH_NODE
All features
class LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]
Summary
top
Direct parents
inherit list:
HIERARCHIC_GRAPH_NODE
Overview
top
creation features
make
(i: E)
exported features
make
(i: E)
parent_edge_load
(i:
INTEGER_32
): LOAD
child_edge_load
(i:
INTEGER_32
): LOAD
add_parent
(node: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD])
add_child
(node: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD])
remove_parent
(node: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD])
remove_child
(node: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD])
item
: E
max_rank
:
INTEGER_32
min_rank
:
INTEGER_32
parents
:
FAST_ARRAY
[LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]]
children
:
FAST_ARRAY
[LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]]
set_item
(i: E)
parents_count
:
INTEGER_32
children_count
:
INTEGER_32
has_parent_edge
(id:
INTEGER_32
):
BOOLEAN
has_child_edge
(id:
INTEGER_32
):
BOOLEAN
remove_parent_edge
(id:
INTEGER_32
): LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]
Return connected node.
restore_parent_edge
(id:
INTEGER_32
, node: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD])
remove_child_edge
(id:
INTEGER_32
): LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]
Return connected node.
restore_child_edge
(id:
INTEGER_32
, node: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD])
deep_reset_edges
Set edge identifiers with values starting from 0.
parent
(i:
INTEGER_32
): LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]
child
(i:
INTEGER_32
): LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]
has_parent
(other: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]):
BOOLEAN
has_child
(other: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]):
BOOLEAN
parent_edge
(i:
INTEGER_32
):
INTEGER_32
child_edge
(i:
INTEGER_32
):
INTEGER_32
has_cycle
:
BOOLEAN
has_parent_cycle
:
BOOLEAN
has_children_cycle
:
BOOLEAN
is_toplevel
:
BOOLEAN
is_leaf
:
BOOLEAN
is_connected_to
(other: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]):
BOOLEAN
distance
(other: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]):
INTEGER_32
set_rank
add_connected_nodes_in
(list:
COLLECTION
[
HIERARCHIC_GRAPH_NODE
[E]])
Add in
list
all nodes belonging to the same graph as
Current
fill_path_to
(path:
COLLECTION
[
INTEGER_32
], destination: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD])
Add in
path
edges identifiers corresponding to a path from current node to
destination
node.
hash_code
:
INTEGER_32
The hash-code value of
Current
.
is_equal
(other: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]):
BOOLEAN
Is
other
attached to an object considered equal to current object?
make
(i: E)
effective procedure
top
ensure
parents_count = 0
children_count = 0
item = i
parent_edge_load
(i:
INTEGER_32
): LOAD
effective function
top
require
i.in_range(1,
parents_count
)
child_edge_load
(i:
INTEGER_32
): LOAD
effective function
top
require
i.in_range(1,
children_count
)
add_parent
(node: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD])
effective procedure
top
require
node /= Void
add_child
(node: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD])
effective procedure
top
require
node /= Void
remove_parent
(node: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD])
effective procedure
top
require
has_parent(node)
remove_child
(node: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD])
effective procedure
top
require
has_child(node)
item
: E
writable attribute
top
max_rank
:
INTEGER_32
writable attribute
top
min_rank
:
INTEGER_32
writable attribute
top
parents
:
FAST_ARRAY
[LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]]
writable attribute
top
children
:
FAST_ARRAY
[LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]]
writable attribute
top
set_item
(i: E)
effective procedure
top
parents_count
:
INTEGER_32
effective function
top
children_count
:
INTEGER_32
effective function
top
has_parent_edge
(id:
INTEGER_32
):
BOOLEAN
effective function
top
has_child_edge
(id:
INTEGER_32
):
BOOLEAN
effective function
top
remove_parent_edge
(id:
INTEGER_32
): LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]
effective function
top
Return connected node.
require
has_parent_edge
(id)
ensure
not
has_parent_edge
(id)
restore_parent_edge
(id:
INTEGER_32
, node: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD])
effective procedure
top
require
not
has_parent_edge
(id)
has_parent_edge
(-1)
has_parent
(node)
not node.
has_child_edge
(id)
node.
has_child_edge
(-1)
ensure
has_parent_edge
(id)
remove_child_edge
(id:
INTEGER_32
): LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]
effective function
top
Return connected node.
require
has_child_edge
(id)
ensure
not
has_child_edge
(id)
restore_child_edge
(id:
INTEGER_32
, node: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD])
effective procedure
top
require
not
has_child_edge
(id)
has_child_edge
(-1)
has_child
(node)
not node.
has_parent_edge
(id)
node.
has_parent_edge
(-1)
ensure
has_child_edge
(id)
deep_reset_edges
effective procedure
top
Set edge identifiers with values starting from 0.
parent
(i:
INTEGER_32
): LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]
effective function
top
require
i.in_range(1,
parents_count
)
child
(i:
INTEGER_32
): LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]
effective function
top
require
i.in_range(1,
children_count
)
has_parent
(other: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]):
BOOLEAN
effective function
top
ensure
Result = other.
has_child
(Current)
has_child
(other: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]):
BOOLEAN
effective function
top
ensure
Result = other.
has_parent
(Current)
parent_edge
(i:
INTEGER_32
):
INTEGER_32
effective function
top
require
i.in_range(1,
parents_count
)
child_edge
(i:
INTEGER_32
):
INTEGER_32
effective function
top
require
i.in_range(1,
children_count
)
has_cycle
:
BOOLEAN
effective function
top
has_parent_cycle
:
BOOLEAN
effective function
top
has_children_cycle
:
BOOLEAN
effective function
top
is_toplevel
:
BOOLEAN
effective function
top
ensure
Result =
parents_count
= 0
is_leaf
:
BOOLEAN
effective function
top
ensure
Result =
children_count
= 0
is_connected_to
(other: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]):
BOOLEAN
effective function
top
require
other /= Void
distance
(other: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]):
INTEGER_32
effective function
top
require
other /= Void
set_rank
effective procedure
top
require
not
has_cycle
TODO: no graph cycle
add_connected_nodes_in
(list:
COLLECTION
[
HIERARCHIC_GRAPH_NODE
[E]])
effective procedure
top
Add in
list
all nodes belonging to the same graph as
Current
require
list /= Void
fill_path_to
(path:
COLLECTION
[
INTEGER_32
], destination: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD])
effective procedure
top
Add in
path
edges identifiers corresponding to a path from current node to
destination
node.
require
is_connected_to
(destination)
destination /= Current
hash_code
:
INTEGER_32
effective function
top
The hash-code value of
Current
.
ensure
good_hash_value:
Result >= 0
is_equal
(other: LOADED_HIERARCHIC_GRAPH_NODE [E ->
HASHABLE
, LOAD]):
BOOLEAN
deferred function
top
Is
other
attached to an object considered equal to current object?
require
other /= Void
ensure
Result implies
hash_code
= other.
hash_code
commutative:
generating_type = other.generating_type implies Result = other.is_equal(Current)