Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/libs/graph/doc/EdgeMutableGraph.html @ 12

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

added boost

File size: 3.6 KB
Line 
1<HTML>
2<!--
3  -- Copyright (c) Jeremy Siek 2001
4  --
5  -- Permission to use, copy, modify, distribute and sell this software
6  -- and its documentation for any purpose is hereby granted without fee,
7  -- provided that the above copyright notice appears in all copies and
8  -- that both that copyright notice and this permission notice appear
9  -- in supporting documentation.  Silicon Graphics makes no
10  -- representations about the suitability of this software for any
11  -- purpose.  It is provided "as is" without express or implied warranty.
12  -->
13<Head>
14<Title>Edge Mutable Graph</Title>
15<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b" 
16        ALINK="#ff0000"> 
17<IMG SRC="../../../boost.png" 
18     ALT="C++ Boost" width="277" height="86"> 
19
20<BR Clear>
21
22
23<H2><A NAME="concept:EdgeMutableGraph">
24Edge Mutable Graph
25</H2>
26
27The <I>Edge Mutable Graph</I> concept defines the interface for a
28graph that supports the addition and removal of edges.
29
30<H3>Refinement of</H3>
31
32<a href="./Graph.html">Graph</a>
33
34<H3>Associated Types</H3>
35
36No additional associated types.
37
38<h3>Valid Expressions</h3>
39
40<ul>
41
42<li><a name="sec:add_edge"><TT>add_edge(u, v, g)</TT></a> 
43<b>returns</b> <TT>std::pair&lt;edge_descriptor,&nbsp;bool&gt;</TT>
44<br><br>
45
46<b>Semantics:</b> Try to insert the edge <i>(u,v)</i> into the graph,
47returning the inserted edge or a parallel edge and a flag that
48specifies whether an edge was inserted.  This operation must not
49invalidate vertex descriptors or vertex iterators of the graph, though
50it may invalidate edge descriptors or edge iterators.<br>
51
52<b>Preconditions:</b> <i>u</i> and <i>v</i> are vertices in the
53graph. <br>
54
55<b>Postconditions:</b> <i>(u,v)</i> is in the edge set of
56the graph.  The returned edge descriptor will have <i>u</i> in the
57source position and <i>v</i> in the target position. If the graph
58allows parallel edges, then the returned flag is always
59<tt>true</tt>. If the graph does not allow parallel edges, if
60<i>(u,v)</i> was already in the graph then the returned flag is
61<tt>false</tt>. If <i>(u,v)</i> was not in the graph then the returned
62flag is <tt>true</tt>.<br>
63</li><br>
64
65<li><a name="sec:remove_edge_by_pair"><tt>remove_edge(u, v, g)</tt></a>
66<b>returns</b> <tt>void</tt><br><br>
67<b>Semantics:</b> Remove the edge <i>(u,v)</i> from the graph. If the
68graph allows parallel edges this removes all occurrences of <i>(u,v)</i>. <br>
69<b>Precondition:</b> <i>(u,v)</i> is in the edge set of the graph. <br>
70<b>Postcondition:</b> <i>(u,v)</i> is no longer in the edge set of the graph. <br>
71</li><br>
72
73<li>
74<a name="sec:remove_edge"><tt>remove_edge(e, g)</tt></a>
75<b>returns</b> <tt>void</tt><br><br>
76<b>Semantics:</b> Remove the edge <i>e</i> from the graph.<br>
77<b>Precondition:</b> <i>e</i> is an edge in the graph. <br>
78<b>Postcondition:</b> <i>e</i> is no longer in the edge set for <tt>g</tt>. <br>
79</li><br>
80
81<li>
82<a name="sec:clear_vertex"><tt>clear_vertex(u, g)</tt></a>
83<b>returns</b> <tt>void</tt><br><br>
84<b>Semantics:</b> Remove all edges to and from vertex <i>u</i> from the graph. <br>
85<b>Precondition:</b> <i>u</i> is a valid vertex descriptor of
86<tt>g</tt>. <br> <b>Postconditions:</b> <i>u</i> does not appear as a
87source or target of any edge in <tt>g</tt>.
88</li>
89
90</ul>
91
92
93<H3>Complexity guarantees</H3>
94
95<P>
96UNDER CONSTRUCTION
97
98<H3>See Also</H3>
99
100<a href="./graph_concepts.html">Graph concepts</a>
101
102
103<br>
104<HR>
105<TABLE>
106<TR valign=top>
107<TD nowrap>Copyright &copy 2000-2001</TD><TD>
108<A HREF="../../../people/jeremy_siek.htm">Jeremy Siek</A>, Indiana University (<A HREF="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</A>)
109</TD></TR></TABLE>
110
111</BODY>
112</HTML> 
Note: See TracBrowser for help on using the repository browser.