StreamARGLoader<Node,Edge>
Defined in: argloader.h
Extends: ARGEdit
Overview:
This class allows to read (or write) an attributed graph from a text stream.
The class relies on the stream insertion/extraction operators
(<lt;
and >>
) to perform the
input/output operations on the attributes.
The class parameters (Node
and Edge
) are the types of
the node/edge attributes, which are stored internally through
pointers. The attributes can be heap allocated, or a more
efficient allocation strategy can be implemented by means of
an Allocator object.
File format
On the first line there must be the number of nodes; subsequent lines will contain the node attributes, one node per line, preceded by the node id; node ids must be in the range from 0 to the number of nodes - 1. Then, for each node there is the number of edges coming out of the node, followed by a line for each edge containing the ids of the edge ends and the edge attribute. Blank lines, and lines starting with #, are ignored. An example file, where both node and edge attributes are ints, could be the following:
# Number of nodes 3 # Node attributes 0 27 1 42 2 13 # Edges coming out of node 0 2 0 1 24 0 2 73 # Edges coming out of node 1 1 1 3 66 # Edges coming out of node 2 0