Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_34_1/libs/graph/doc/copy_graph.html @ 29

Last change on this file since 29 was 29, checked in by landauf, 17 years ago

updated boost from 1_33_1 to 1_34_1

File size: 3.7 KB
Line 
1<HTML>
2<!--
3  -- Copyright (c) Jeremy Siek 2000
4  --
5  -- Distributed under the Boost Software License, Version 1.0.
6  -- (See accompanying file LICENSE_1_0.txt or copy at
7  -- http://www.boost.org/LICENSE_1_0.txt)
8  -->
9<Head>
10<Title>Boost Graph Library: Copy Graph</Title>
11<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b" 
12        ALINK="#ff0000"> 
13<IMG SRC="../../../boost.png" 
14     ALT="C++ Boost" width="277" height="86"> 
15
16<BR Clear>
17
18<H1><TT>copy_graph</TT></H1>
19
20<PRE>
21template &lt;class <a href="./VertexListGraph.html">VertexListGraph</a>, class <a href="./MutableGraph.html">MutableGraph</a>&gt; 
22void copy_graph(const VertexListGraph&amp; G, MutableGraph&amp; G_copy,
23    const bgl_named_params&lt;P, T, R&gt;&amp; params = <i>all defaults</i>)
24</PRE>
25
26This function copies all of the vertices and edges from graph
27<tt>G</tt> into <tt>G_copy</tt>. Also, it copies the vertex and edge
28properties, either by using the <tt>vertex_all</tt> and
29<tt>edge_all</tt> property maps, or by user-supplied copy functions.
30
31<H3>Where Defined</H3>
32
33<P>
34<a href="../../../boost/graph/copy.hpp"><TT>boost/graph/copy.hpp</TT></a>
35
36<P>
37
38<H3>Parameters</H3>
39
40IN: <tt>const VertexListGraph&amp; G</tt>
41<blockquote>
42A directed or undirected graph. The graph type must be a model of <a href="./VertexListGraph.html">Vertex List Graph</a>.
43</blockquote>
44
45OUT: <tt>MutableGraph&amp; G_copy</tt>
46<blockquote>
47The resulting copy of the graph.  The graph type must be a model of <a
48href="./MutableGraph.html">Mutable Graph</a>.
49</blockquote>
50
51<h3>Named Parameters</h3>
52
53IN: <tt>vertex_copy(VertexCopier vc)</tt>
54<blockquote>
55This is a <a href="http://www.sgi.com/tech/stl/BinaryFunction.html">Binary Function</a> that copies the properties of a vertex in the original graph
56into the corresponding vertex in the copy.<br>
57
58<b>Default:</b> <tt>vertex_copier&lt;VertexListGraph, MutableGraph&gt;</tt>
59which uses the property tag <tt>vertex_all</tt> to access a property
60map from the graph.
61</blockquote>
62
63IN: <tt>edge_copy(EdgeCopier ec)</tt>
64<blockquote>
65This is a <a href="http://www.sgi.com/tech/stl/BinaryFunction.html">Binary Function</a> that copies the properties of an edge in the original graph
66into the corresponding edge in the copy.<br>
67
68<b>Default:</b> <tt>edge_copier&lt;VertexListGraph, MutableGraph&gt;</tt>
69which uses the property tag <tt>edge_all</tt> to access a property
70map from the graph.
71</blockquote>
72
73IN: <tt>vertex_index_map(VertexIndexMap i_map)</tt>
74<blockquote>
75The vertex index map type must be a model of <a
76href="../../property_map/ReadablePropertyMap.html">Readable Property
77Map</a> and must map the vertex descriptors of <tt>G</tt> to the
78integers in the half-open range <tt>[0,num_vertices(G))</tt>.<br>
79
80<b>Default:</b> <tt>get(vertex_index, G)</tt>.
81Note: if you use this default, make sure your graph has
82an internal <tt>vertex_index</tt> property. For example,
83<tt>adjacenty_list</tt> with <tt>VertexList=listS</tt> does
84not have an internal <tt>vertex_index</tt> property.
85</blockquote>
86
87
88UTIL/OUT: <tt>orig_to_copy(Orig2CopyMap c)</tt>
89<blockquote>
90This maps vertices in the original graph to vertices in the copy.
91
92<b>Default:</b> an <a
93  href="../../property_map/iterator_property_map.html">
94  </tt>iterator_property_map</tt></a> created from a
95  <tt>std::vector</tt> of the output graph's vertex descriptor type of size
96  <tt>num_vertices(g)</tt> and using the <tt>i_map</tt> for the index
97  map.
98</blockquote>
99
100<H3>Complexity</H3>
101
102<P>
103The time complexity is <i>O(V + E)</i>.
104
105
106
107<br>
108<HR>
109<TABLE>
110<TR valign=top>
111<TD nowrap>Copyright &copy 2000-2001</TD><TD>
112<A HREF="../../../people/jeremy_siek.htm">Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</A>)
113</TD></TR></TABLE>
114
115</BODY>
116</HTML> 
Note: See TracBrowser for help on using the repository browser.