Exemplo n.º 1
0
        /// <summary>
        /// Serializes the given <paramref name="graph"/> instance into the given <paramref name="writer"/>.
        /// </summary>
        /// <param name="writer">The XML writer.</param>
        /// <param name="graph">Graph instance to serialize.</param>
        /// <param name="vertexIdentities">Vertex identity method.</param>
        /// <param name="edgeIdentities">Edge identity method.</param>
        public void Serialize(
            [NotNull] XmlWriter writer,
            [NotNull] TGraph graph,
            [NotNull] VertexIdentity <TVertex> vertexIdentities,
            [NotNull] EdgeIdentity <TVertex, TEdge> edgeIdentities)
        {
            if (writer is null)
            {
                throw new ArgumentNullException(nameof(writer));
            }
            if (graph == null)
            {
                throw new ArgumentNullException(nameof(graph));
            }
            if (vertexIdentities is null)
            {
                throw new ArgumentNullException(nameof(vertexIdentities));
            }
            if (edgeIdentities is null)
            {
                throw new ArgumentNullException(nameof(edgeIdentities));
            }

            var worker = new WriterWorker(this, writer, graph, vertexIdentities, edgeIdentities);

            worker.Serialize();
        }
Exemplo n.º 2
0
        public void Serialize(XmlWriter writer, IVertexAndEdgeSet <TVertex, TEdge> visitedGraph)
        {
            if (writer == null)
            {
                throw new ArgumentNullException("writer");
            }
            if (visitedGraph == null)
            {
                throw new ArgumentNullException("visitedGraph");
            }

            WriterWorker worker = new WriterWorker(this, writer, visitedGraph);

            worker.Serialize();
        }
Exemplo n.º 3
0
        public void Serialize(
            XmlWriter writer,
            TGraph visitedGraph,
            VertexIdentity <TVertex> vertexIdentities,
            EdgeIdentity <TVertex, TEdge> edgeIdentities
            )
        {
            Contract.Requires(writer != null);
            Contract.Requires(visitedGraph != null);
            Contract.Requires(vertexIdentities != null);
            Contract.Requires(edgeIdentities != null);

            var worker = new WriterWorker(this, writer, visitedGraph, vertexIdentities, edgeIdentities);

            worker.Serialize();
        }