summaryrefslogtreecommitdiffstats
path: root/apidoc/group___diff_node.html
diff options
authordodji <dodji>2020-02-27 16:59:53 +0000
committerdodji <dodji>2020-02-27 16:59:53 +0000
commit28b624598b9e791fa7c09d03eaf338b2b1717900 (patch)
tree3bd4bd71d82c390eeff5c47851ec18deff772f90 /apidoc/group___diff_node.html
parentUpdate for 1.6 release (diff)
Update for 1.7
Diffstat (limited to 'apidoc/group___diff_node.html')
-rw-r--r--apidoc/group___diff_node.html60
1 files changed, 23 insertions, 37 deletions
diff --git a/apidoc/group___diff_node.html b/apidoc/group___diff_node.html
index 5b28d908..363a2260 100644
--- a/apidoc/group___diff_node.html
+++ b/apidoc/group___diff_node.html
@@ -1,18 +1,17 @@
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml"> 2<html xmlns="http://www.w3.org/1999/xhtml">
3<head> 3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/> 5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.5"/> 6<meta name="generator" content="Doxygen 1.8.17"/>
7<meta name="viewport" content="width=device-width, initial-scale=1"/>
7<title>libabigail: Internal Representation of the comparison engine</title> 8<title>libabigail: Internal Representation of the comparison engine</title>
8<link href="tabs.css" rel="stylesheet" type="text/css"/> 9<link href="tabs.css" rel="stylesheet" type="text/css"/>
9<script type="text/javascript" src="jquery.js"></script> 10<script type="text/javascript" src="jquery.js"></script>
10<script type="text/javascript" src="dynsections.js"></script> 11<script type="text/javascript" src="dynsections.js"></script>
11<link href="search/search.css" rel="stylesheet" type="text/css"/> 12<link href="search/search.css" rel="stylesheet" type="text/css"/>
13<script type="text/javascript" src="search/searchdata.js"></script>
12<script type="text/javascript" src="search/search.js"></script> 14<script type="text/javascript" src="search/search.js"></script>
13<script type="text/javascript">
14 $(document).ready(function() { searchBox.OnSelectItem(0); });
15</script>
16<link href="doxygen.css" rel="stylesheet" type="text/css" /> 15<link href="doxygen.css" rel="stylesheet" type="text/css" />
17</head> 16</head>
18<body> 17<body>
@@ -21,7 +20,7 @@
21<table cellspacing="0" cellpadding="0"> 20<table cellspacing="0" cellpadding="0">
22 <tbody> 21 <tbody>
23 <tr style="height: 56px;"> 22 <tr style="height: 56px;">
24 <td style="padding-left: 0.5em;"> 23 <td id="projectalign" style="padding-left: 0.5em;">
25 <div id="projectname">libabigail 24 <div id="projectname">libabigail
26 </div> 25 </div>
27 </td> 26 </td>
@@ -30,42 +29,29 @@
30</table> 29</table>
31</div> 30</div>
32<!-- end header part --> 31<!-- end header part -->
33<!-- Generated by Doxygen 1.8.5 --> 32<!-- Generated by Doxygen 1.8.17 -->
34<script type="text/javascript"> 33<script type="text/javascript">
34/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
35var searchBox = new SearchBox("searchBox", "search",false,'Search'); 35var searchBox = new SearchBox("searchBox", "search",false,'Search');
36/* @license-end */
36</script> 37</script>
37 <div id="navrow1" class="tabs"> 38<script type="text/javascript" src="menudata.js"></script>
38 <ul class="tablist"> 39<script type="text/javascript" src="menu.js"></script>
39 <li><a href="index.html"><span>Main&#160;Page</span></a></li> 40<script type="text/javascript">
40 <li><a href="modules.html"><span>Modules</span></a></li> 41/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
41 <li><a href="namespaces.html"><span>Namespaces</span></a></li> 42$(function() {
42 <li><a href="annotated.html"><span>Classes</span></a></li> 43 initMenu('',true,false,'search.php','Search');
43 <li><a href="files.html"><span>Files</span></a></li> 44 $(document).ready(function() { init_search(); });
44 <li> 45});
45 <div id="MSearchBox" class="MSearchBoxInactive"> 46/* @license-end */</script>
46 <span class="left"> 47<div id="main-nav"></div>
47 <img id="MSearchSelect" src="search/mag_sel.png"
48 onmouseover="return searchBox.OnSearchSelectShow()"
49 onmouseout="return searchBox.OnSearchSelectHide()"
50 alt=""/>
51 <input type="text" id="MSearchField" value="Search" accesskey="S"
52 onfocus="searchBox.OnSearchFieldFocus(true)"
53 onblur="searchBox.OnSearchFieldFocus(false)"
54 onkeyup="searchBox.OnSearchFieldChange(event)"/>
55 </span><span class="right">
56 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57 </span>
58 </div>
59 </li>
60 </ul>
61 </div>
62</div><!-- top --> 48</div><!-- top -->
63<!-- window showing the filter options --> 49<!-- window showing the filter options -->
64<div id="MSearchSelectWindow" 50<div id="MSearchSelectWindow"
65 onmouseover="return searchBox.OnSearchSelectShow()" 51 onmouseover="return searchBox.OnSearchSelectShow()"
66 onmouseout="return searchBox.OnSearchSelectHide()" 52 onmouseout="return searchBox.OnSearchSelectHide()"
67 onkeydown="return searchBox.OnSearchSelectKey(event)"> 53 onkeydown="return searchBox.OnSearchSelectKey(event)">
68<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div> 54</div>
69 55
70<!-- iframe showing the search results (closed by default) --> 56<!-- iframe showing the search results (closed by default) -->
71<div id="MSearchResultsWindow"> 57<div id="MSearchResultsWindow">
@@ -84,19 +70,19 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
84<a href="#details">More...</a></p> 70<a href="#details">More...</a></p>
85<p>How changes are represented in libabigail's comparison engine. </p> 71<p>How changes are represented in libabigail's comparison engine. </p>
86<dl class="section user"><dt>diff nodes</dt><dd></dd></dl> 72<dl class="section user"><dt>diff nodes</dt><dd></dd></dl>
87<p>The internal representation of the comparison engine is basically a graph of instances of <a class="el" href="classabigail_1_1comparison_1_1diff.html">diff</a> node. We refer to these just as <em>diff nodes</em>. A diff node represents a change between two ABI artifacts represented by instances of types of the <a class="el" href="namespaceabigail_1_1ir.html" title="The namespace of the internal representation of ABI artifacts like types and decls. ">abigail::ir</a> namespace. These two artifacts that are being compared are called the <em>subjects of the diff</em>.</p> 73<p>The internal representation of the comparison engine is basically a graph of instances of <a class="el" href="classabigail_1_1comparison_1_1diff.html">diff</a> node. We refer to these just as <em>diff nodes</em>. A diff node represents a change between two ABI artifacts represented by instances of types of the <a class="el" href="namespaceabigail_1_1ir.html" title="The namespace of the internal representation of ABI artifacts like types and decls.">abigail::ir</a> namespace. These two artifacts that are being compared are called the <em>subjects of the diff</em>.</p>
88<p>The types of that IR are in the <a class="el" href="namespaceabigail_1_1comparison.html" title="utilities to compare abi artifacts ">abigail::comparison</a> namespace.</p> 74<p>The types of that IR are in the <a class="el" href="namespaceabigail_1_1comparison.html" title="utilities to compare abi artifacts">abigail::comparison</a> namespace.</p>
89<dl class="section user"><dt>comparing diff nodes</dt><dd></dd></dl> 75<dl class="section user"><dt>comparing diff nodes</dt><dd></dd></dl>
90<p>Comparing two instances of <a class="el" href="classabigail_1_1comparison_1_1diff.html">diff</a> nodes amounts to comparing the subject of the diff. In other words, two <a class="el" href="classabigail_1_1comparison_1_1diff.html">diff</a> nodes are equal if and only if their subjects are equal. Thus, two <a class="el" href="classabigail_1_1comparison_1_1diff.html">diff</a> nodes can have different memory addresses and yet be equal.</p> 76<p>Comparing two instances of <a class="el" href="classabigail_1_1comparison_1_1diff.html">diff</a> nodes amounts to comparing the subject of the diff. In other words, two <a class="el" href="classabigail_1_1comparison_1_1diff.html">diff</a> nodes are equal if and only if their subjects are equal. Thus, two <a class="el" href="classabigail_1_1comparison_1_1diff.html">diff</a> nodes can have different memory addresses and yet be equal.</p>
91<dl class="section user"><dt>diff reporting and context</dt><dd></dd></dl> 77<dl class="section user"><dt>diff reporting and context</dt><dd></dd></dl>
92<p>A diff node can be serialized to an output stream to express, in a human-readable textual form, the different changes that exist between its two subjects. This is done by invoking the <a class="el" href="classabigail_1_1comparison_1_1diff.html#a40ebcee4619bb4a2ae49192cce768c3f" title="Pure interface to report the diff in a serialized form that is legible for the user. ">diff::report()</a> method. That reporting is controlled by several parameters that are conceptually part of the context of the diff. That context is materialized by an instance of the <a class="el" href="classabigail_1_1comparison_1_1diff__context.html">diff_context</a> type.</p> 78<p>A diff node can be serialized to an output stream to express, in a human-readable textual form, the different changes that exist between its two subjects. This is done by invoking the <a class="el" href="classabigail_1_1comparison_1_1diff.html#a40ebcee4619bb4a2ae49192cce768c3f" title="Pure interface to report the diff in a serialized form that is legible for the user.">diff::report()</a> method. That reporting is controlled by several parameters that are conceptually part of the context of the diff. That context is materialized by an instance of the <a class="el" href="classabigail_1_1comparison_1_1diff__context.html">diff_context</a> type.</p>
93<p>Please note that the role of the instance(s) of <a class="el" href="classabigail_1_1comparison_1_1diff__context.html">diff_context</a> is boreader than just controlling the reporting of <a class="el" href="classabigail_1_1comparison_1_1diff.html">diff</a> nodes. Basically, a <a class="el" href="classabigail_1_1comparison_1_1diff.html">diff</a> node itself is created following behaviours that are controlled by a particular instance of <a class="el" href="classabigail_1_1comparison_1_1diff__context.html" title="The context of the diff. This type holds various bits of information that is going to be used through...">diff_context</a>. A diff node is created in a particular diff context, so to speak. </p> 79<p>Please note that the role of the instance(s) of <a class="el" href="classabigail_1_1comparison_1_1diff__context.html">diff_context</a> is boreader than just controlling the reporting of <a class="el" href="classabigail_1_1comparison_1_1diff.html">diff</a> nodes. Basically, a <a class="el" href="classabigail_1_1comparison_1_1diff.html">diff</a> node itself is created following behaviours that are controlled by a particular instance of <a class="el" href="classabigail_1_1comparison_1_1diff__context.html" title="The context of the diff. This type holds various bits of information that is going to be used through...">diff_context</a>. A diff node is created in a particular diff context, so to speak. </p>
94</div><!-- contents --> 80</div><!-- contents -->
95<!-- start footer part --> 81<!-- start footer part -->
96<hr class="footer"/><address class="footer"><small> 82<hr class="footer"/><address class="footer"><small>
97Generated by &#160;<a href="http://www.doxygen.org/index.html"> 83Generated by &#160;<a href="http://www.doxygen.org/index.html">
98<img class="footer" src="doxygen.png" alt="doxygen"/> 84<img class="footer" src="doxygen.png" alt="doxygen"/>
99</a> 1.8.5 85</a> 1.8.17
100</small></address> 86</small></address>
101</body> 87</body>
102</html> 88</html>