Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > d9faa203c2b0b6fbb179d93daaea81b7 > files > 1370

libdtn-devel-2.6.0-1mdv2009.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>DTN Reference Implementation: dtn::SequenceID Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacedtn.html">dtn</a>::<a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a>
  </div>
</div>
<div class="contents">
<h1>dtn::SequenceID Class Reference</h1><!-- doxytag: class="dtn::SequenceID" --><code>#include &lt;<a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>&gt;</code>
<p>

<p>
<a href="classdtn_1_1SequenceID-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
A bundle <a class="el" href="classdtn_1_1SequenceID.html" title="A bundle SequenceID is a version vector of (EID, counter) and/or (EID, identifier)...">SequenceID</a> is a version vector of (EID, counter) and/or (EID, identifier) tuples. 
<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00029">29</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="structdtn_1_1SequenceID_1_1Entry.html">Entry</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#e09b675ad2004a1f78385ea79ce3830b">EntryVec</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typedefs and wrappers for the entry vector and iterators.  <a href="#e09b675ad2004a1f78385ea79ce3830b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef EntryVec::iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#9bc64ff899367afb368aff623f665beb">iterator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typedefs and wrappers for the entry vector and iterators.  <a href="#9bc64ff899367afb368aff623f665beb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef EntryVec::const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#6df826579b2bb1737840e4510cf717b7">const_iterator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typedefs and wrappers for the entry vector and iterators.  <a href="#6df826579b2bb1737840e4510cf717b7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#41640a4837fab3c5ca5fce05f371bbd2">empty</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typedefs and wrappers for the entry vector and iterators.  <a href="#41640a4837fab3c5ca5fce05f371bbd2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">EntryVec::iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#7a366a0f8d1a56264e3c66b446f0a9f5">begin</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typedefs and wrappers for the entry vector and iterators.  <a href="#7a366a0f8d1a56264e3c66b446f0a9f5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">EntryVec::iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#46e1c2ab6c022c1e145467a099602b55">end</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typedefs and wrappers for the entry vector and iterators.  <a href="#46e1c2ab6c022c1e145467a099602b55"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">EntryVec::const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#d0b237d8440b99b42002ca8efb141f67">begin</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typedefs and wrappers for the entry vector and iterators.  <a href="#d0b237d8440b99b42002ca8efb141f67"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">EntryVec::const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#846175c5b72c48998a83c083f579231f">end</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typedefs and wrappers for the entry vector and iterators.  <a href="#846175c5b72c48998a83c083f579231f"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#07f7c20815bded645dd6c3aa1d6b0986">type_t</a> { <a class="el" href="classdtn_1_1SequenceID.html#07f7c20815bded645dd6c3aa1d6b0986a3deff34f5d8c8d3c9db1a228da21ec2">EMPTY</a> =  0, 
<a class="el" href="classdtn_1_1SequenceID.html#07f7c20815bded645dd6c3aa1d6b09861e5b3123bb2b1fc61090da4e5c557aed">COUNTER</a> =  1, 
<a class="el" href="classdtn_1_1SequenceID.html#07f7c20815bded645dd6c3aa1d6b0986c03a3378172e145084072d690006c403">IDENTIFIER</a> =  2
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type variable for whether an entry in the vector is a counter or an unordered identifier.  <a href="classdtn_1_1SequenceID.html#07f7c20815bded645dd6c3aa1d6b0986">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2">comp_t</a> { <br>
&nbsp;&nbsp;<a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2f81190bb1d530258475dd20e1c9cc484">LT</a> =  -1, 
<a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b237c9c1dadfa6d5e5d82cab99bfa41543">EQ</a> =  0, 
<a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b29ae465996c1d5aedeeac972649627cfd">GT</a> =  1, 
<a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2b252a0efbd0593b1b063af6ab6c617b8">NEQ</a> =  2, 
<br>
&nbsp;&nbsp;<a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2c73aebc65fb69ec3698bedeb86df4ea0">ILL</a> =  999
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Valid return values from <a class="el" href="classdtn_1_1SequenceID.html#6ae8a9179288d495442e71696f80cfeb" title="Compare two vectors, returning a comp_t.">compare()</a>.  <a href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#dddc0acd8f6709639227d4ab089577b2">SequenceID</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#178f6e0b1f17a2cc6243a478283aeec1">add</a> (const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;eid, u_int64_t counter)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an (EID, counter) tuple to the vector.  <a href="#178f6e0b1f17a2cc6243a478283aeec1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#381617826b12302f13377d5e46dd1bf1">add</a> (const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;eid, const std::string &amp;identifier)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an (EID, identifier) tuple to the vector.  <a href="#381617826b12302f13377d5e46dd1bf1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#fc41a38267bf0cd047e7e685d7ae2258">get_counter</a> (const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;eid) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the counter for a particular EID.  <a href="#fc41a38267bf0cd047e7e685d7ae2258"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#44d65707e0f0e25106e5391e0c039b38">get_identifier</a> (const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;eid) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the identifier for a particular EID.  <a href="#44d65707e0f0e25106e5391e0c039b38"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#6f564719a4d6caae9067ed1468380738">format</a> (char *<a class="el" href="num2sdnv_8c.html#a81cdcc7ff6987bc85c073253e32715f">buf</a>, size_t sz) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual from Formatter.  <a href="#6f564719a4d6caae9067ed1468380738"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#7b9bd398514f902641e1930c60653c37">to_str</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a string representation.  <a href="#7b9bd398514f902641e1930c60653c37"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#53e69f2bbc88f80fa7acf1e1bb70e95b">parse</a> (const std::string &amp;str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Build a sequence id from a string representation.  <a href="#53e69f2bbc88f80fa7acf1e1bb70e95b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2">comp_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#6ae8a9179288d495442e71696f80cfeb">compare</a> (const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;v) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two vectors, returning a comp_t.  <a href="#6ae8a9179288d495442e71696f80cfeb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#070d80850e92a94691654065a20099bf">assign</a> (const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;other)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the <a class="el" href="classdtn_1_1SequenceID.html" title="A bundle SequenceID is a version vector of (EID, counter) and/or (EID, identifier)...">SequenceID</a> to be a copy of the other.  <a href="#070d80850e92a94691654065a20099bf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#87b23ed617eafd050b78bff11ddd5e73">update</a> (const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;other)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update the sequence id to include the max of all current entries and the new one.  <a href="#87b23ed617eafd050b78bff11ddd5e73"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structdtn_1_1SequenceID_1_1Entry.html">Entry</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#9ecbb6f2cbd97ca62c0489d233d298c6">get_entry</a> (const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;eid) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an entry for the given EID.  <a href="#9ecbb6f2cbd97ca62c0489d233d298c6"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#d92aa0d36c66f8007e937ad88b276e39">operator&lt;</a> (const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;v) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operator overloads.  <a href="#d92aa0d36c66f8007e937ad88b276e39"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#69238f5d77534687e69245ca64fceabb">operator&gt;</a> (const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;v) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operator overloads.  <a href="#69238f5d77534687e69245ca64fceabb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#bca43a0f46f0bc448dd7446f44da45a3">operator==</a> (const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;v) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operator overloads.  <a href="#bca43a0f46f0bc448dd7446f44da45a3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#056917248448f83da299f0e0692d9451">operator!=</a> (const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;v) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Note! This means not comparable -NOT- not equal to.  <a href="#056917248448f83da299f0e0692d9451"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#37df091e36c778ac6f473cbdab5b8c2e">operator&lt;=</a> (const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;v) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operator overloads.  <a href="#37df091e36c778ac6f473cbdab5b8c2e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#273cf88078066636e52f8260386021ac">operator&gt;=</a> (const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;v) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operator overloads.  <a href="#273cf88078066636e52f8260386021ac"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#a7976b99386017b6a7486d4a9e49ba1c">comp2str</a> (<a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2">comp_t</a> eq)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pretty printer for comp_t.  <a href="#a7976b99386017b6a7486d4a9e49ba1c"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2">comp_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#5ff17c219623b8ef9b153c6d1c50d2fe">compare_entries</a> (const <a class="el" href="structdtn_1_1SequenceID_1_1Entry.html">Entry</a> &amp;left, const <a class="el" href="structdtn_1_1SequenceID_1_1Entry.html">Entry</a> &amp;right)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two entries.  <a href="#5ff17c219623b8ef9b153c6d1c50d2fe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2">comp_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#23646010b9c817008d09ffc4d8a7b68c">compare_one_way</a> (const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;lv, const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;rv, <a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2">comp_t</a> cur_state)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare vectors in a single direction.  <a href="#23646010b9c817008d09ffc4d8a7b68c"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1SequenceID.html#e09b675ad2004a1f78385ea79ce3830b">EntryVec</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SequenceID.html#ac87c95dc1606a5600602cb6b69ce8c6">vector_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The entry vector.  <a href="#ac87c95dc1606a5600602cb6b69ce8c6"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtn_1_1SequenceID_1_1Entry.html">Entry</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An entry in the vector.  <a href="structdtn_1_1SequenceID_1_1Entry.html#_details">More...</a><br></td></tr>
</table>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="e09b675ad2004a1f78385ea79ce3830b"></a><!-- doxytag: member="dtn::SequenceID::EntryVec" ref="e09b675ad2004a1f78385ea79ce3830b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="structdtn_1_1SequenceID_1_1Entry.html">Entry</a>&gt; <a class="el" href="classdtn_1_1SequenceID.html#e09b675ad2004a1f78385ea79ce3830b">dtn::SequenceID::EntryVec</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Typedefs and wrappers for the entry vector and iterators. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00144">144</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="9bc64ff899367afb368aff623f665beb"></a><!-- doxytag: member="dtn::SequenceID::iterator" ref="9bc64ff899367afb368aff623f665beb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef EntryVec::iterator <a class="el" href="classdtn_1_1SequenceID.html#9bc64ff899367afb368aff623f665beb">dtn::SequenceID::iterator</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Typedefs and wrappers for the entry vector and iterators. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00145">145</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="6df826579b2bb1737840e4510cf717b7"></a><!-- doxytag: member="dtn::SequenceID::const_iterator" ref="6df826579b2bb1737840e4510cf717b7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef EntryVec::const_iterator <a class="el" href="classdtn_1_1SequenceID.html#6df826579b2bb1737840e4510cf717b7">dtn::SequenceID::const_iterator</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Typedefs and wrappers for the entry vector and iterators. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00146">146</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="07f7c20815bded645dd6c3aa1d6b0986"></a><!-- doxytag: member="dtn::SequenceID::type_t" ref="07f7c20815bded645dd6c3aa1d6b0986" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classdtn_1_1SequenceID.html#07f7c20815bded645dd6c3aa1d6b0986">dtn::SequenceID::type_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type variable for whether an entry in the vector is a counter or an unordered identifier. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="07f7c20815bded645dd6c3aa1d6b0986a3deff34f5d8c8d3c9db1a228da21ec2"></a><!-- doxytag: member="EMPTY" ref="07f7c20815bded645dd6c3aa1d6b0986a3deff34f5d8c8d3c9db1a228da21ec2" args="" -->EMPTY</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="07f7c20815bded645dd6c3aa1d6b09861e5b3123bb2b1fc61090da4e5c557aed"></a><!-- doxytag: member="COUNTER" ref="07f7c20815bded645dd6c3aa1d6b09861e5b3123bb2b1fc61090da4e5c557aed" args="" -->COUNTER</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="07f7c20815bded645dd6c3aa1d6b0986c03a3378172e145084072d690006c403"></a><!-- doxytag: member="IDENTIFIER" ref="07f7c20815bded645dd6c3aa1d6b0986c03a3378172e145084072d690006c403" args="" -->IDENTIFIER</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00037">37</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a2390223356ba57be62867dea02d37b2"></a><!-- doxytag: member="dtn::SequenceID::comp_t" ref="a2390223356ba57be62867dea02d37b2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2">dtn::SequenceID::comp_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Valid return values from <a class="el" href="classdtn_1_1SequenceID.html#6ae8a9179288d495442e71696f80cfeb" title="Compare two vectors, returning a comp_t.">compare()</a>. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="a2390223356ba57be62867dea02d37b2f81190bb1d530258475dd20e1c9cc484"></a><!-- doxytag: member="LT" ref="a2390223356ba57be62867dea02d37b2f81190bb1d530258475dd20e1c9cc484" args="" -->LT</em>&nbsp;</td><td>
Less than. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a2390223356ba57be62867dea02d37b237c9c1dadfa6d5e5d82cab99bfa41543"></a><!-- doxytag: member="EQ" ref="a2390223356ba57be62867dea02d37b237c9c1dadfa6d5e5d82cab99bfa41543" args="" -->EQ</em>&nbsp;</td><td>
Equal to. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a2390223356ba57be62867dea02d37b29ae465996c1d5aedeeac972649627cfd"></a><!-- doxytag: member="GT" ref="a2390223356ba57be62867dea02d37b29ae465996c1d5aedeeac972649627cfd" args="" -->GT</em>&nbsp;</td><td>
Greater than. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a2390223356ba57be62867dea02d37b2b252a0efbd0593b1b063af6ab6c617b8"></a><!-- doxytag: member="NEQ" ref="a2390223356ba57be62867dea02d37b2b252a0efbd0593b1b063af6ab6c617b8" args="" -->NEQ</em>&nbsp;</td><td>
Incomparable. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="a2390223356ba57be62867dea02d37b2c73aebc65fb69ec3698bedeb86df4ea0"></a><!-- doxytag: member="ILL" ref="a2390223356ba57be62867dea02d37b2c73aebc65fb69ec3698bedeb86df4ea0" args="" -->ILL</em>&nbsp;</td><td>
Illegal state. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00046">46</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="dddc0acd8f6709639227d4ab089577b2"></a><!-- doxytag: member="dtn::SequenceID::SequenceID" ref="dddc0acd8f6709639227d4ab089577b2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dtn::SequenceID::SequenceID           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00031">31</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a7976b99386017b6a7486d4a9e49ba1c"></a><!-- doxytag: member="dtn::SequenceID::comp2str" ref="a7976b99386017b6a7486d4a9e49ba1c" args="(comp_t eq)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * dtn::SequenceID::comp2str           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2">comp_t</a>&nbsp;</td>
          <td class="paramname"> <em>eq</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Pretty printer for comp_t. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00037">37</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00048">EQ</a>, <a class="el" href="SequenceID_8h-source.html#l00049">GT</a>, <a class="el" href="SequenceID_8h-source.html#l00047">LT</a>, and <a class="el" href="SequenceID_8h-source.html#l00050">NEQ</a>.</p>

</div>
</div><p>
<a class="anchor" name="178f6e0b1f17a2cc6243a478283aeec1"></a><!-- doxytag: member="dtn::SequenceID::add" ref="178f6e0b1f17a2cc6243a478283aeec1" args="(const EndpointID &amp;eid, u_int64_t counter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::SequenceID::add           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>eid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int64_t&nbsp;</td>
          <td class="paramname"> <em>counter</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add an (EID, counter) tuple to the vector. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00050">50</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00157">vector_</a>.</p>

<p>Referenced by <a class="el" href="SequenceIDBlockProcessor_8cc-source.html#l00142">dtn::SequenceIDBlockProcessor::consume()</a>.</p>

</div>
</div><p>
<a class="anchor" name="381617826b12302f13377d5e46dd1bf1"></a><!-- doxytag: member="dtn::SequenceID::add" ref="381617826b12302f13377d5e46dd1bf1" args="(const EndpointID &amp;eid, const std::string &amp;identifier)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::SequenceID::add           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>eid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>identifier</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add an (EID, identifier) tuple to the vector. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00057">57</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00157">vector_</a>.</p>

</div>
</div><p>
<a class="anchor" name="fc41a38267bf0cd047e7e685d7ae2258"></a><!-- doxytag: member="dtn::SequenceID::get_counter" ref="fc41a38267bf0cd047e7e685d7ae2258" args="(const EndpointID &amp;eid) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int64_t dtn::SequenceID::get_counter           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>eid</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the counter for a particular EID. 
<p>
If no entry is found or the found entry is an identifier, returns 0. 
<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00078">78</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00134">dtn::SequenceID::Entry::counter_</a>, and <a class="el" href="SequenceID_8cc-source.html#l00064">get_entry()</a>.</p>

</div>
</div><p>
<a class="anchor" name="44d65707e0f0e25106e5391e0c039b38"></a><!-- doxytag: member="dtn::SequenceID::get_identifier" ref="44d65707e0f0e25106e5391e0c039b38" args="(const EndpointID &amp;eid) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string dtn::SequenceID::get_identifier           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>eid</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the identifier for a particular EID. 
<p>
If no entry is found or the found entry is a counter, returns an empty string. 
<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00085">85</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

<p>References <a class="el" href="SequenceID_8cc-source.html#l00064">get_entry()</a>, and <a class="el" href="SequenceID_8h-source.html#l00135">dtn::SequenceID::Entry::identifier_</a>.</p>

</div>
</div><p>
<a class="anchor" name="6f564719a4d6caae9067ed1468380738"></a><!-- doxytag: member="dtn::SequenceID::format" ref="6f564719a4d6caae9067ed1468380738" args="(char *buf, size_t sz) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dtn::SequenceID::format           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>sz</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Virtual from Formatter. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00092">92</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00149">begin()</a>, <a class="el" href="SequenceID_8h-source.html#l00039">COUNTER</a>, <a class="el" href="SequenceID_8h-source.html#l00150">end()</a>, and <a class="el" href="SequenceID_8h-source.html#l00040">IDENTIFIER</a>.</p>

</div>
</div><p>
<a class="anchor" name="7b9bd398514f902641e1930c60653c37"></a><!-- doxytag: member="dtn::SequenceID::to_str" ref="7b9bd398514f902641e1930c60653c37" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string dtn::SequenceID::to_str           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a string representation. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00120">120</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

<p>References <a class="el" href="num2sdnv_8c-source.html#l00035">buf</a>.</p>

<p>Referenced by <a class="el" href="Bundle_8cc-source.html#l00138">dtn::Bundle::format_verbose()</a>, and <a class="el" href="APIServer_8cc-source.html#l01187">dtn::APIClient::handle_recv()</a>.</p>

</div>
</div><p>
<a class="anchor" name="53e69f2bbc88f80fa7acf1e1bb70e95b"></a><!-- doxytag: member="dtn::SequenceID::parse" ref="53e69f2bbc88f80fa7acf1e1bb70e95b" args="(const std::string &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::SequenceID::parse           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Build a sequence id from a string representation. 
<p>
If the value part contains only numeric characters, it is treated as a counter, otherwise it is treated as an identifier 
<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00129">129</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="SequenceID_8cc.html#e61e41738dd4c7ce755124cf75eb957b">EAT_WS</a>, <a class="el" href="SequenceID_8h-source.html#l00150">end()</a>, <a class="el" href="SequenceID_8cc.html#37e90dec44bf507fa1a70b81f265309b">MATCH_CHAR</a>, <a class="el" href="EndpointID_8h-source.html#l00262">dtn::EndpointID::valid()</a>, and <a class="el" href="SequenceID_8h-source.html#l00157">vector_</a>.</p>

</div>
</div><p>
<a class="anchor" name="6ae8a9179288d495442e71696f80cfeb"></a><!-- doxytag: member="dtn::SequenceID::compare" ref="6ae8a9179288d495442e71696f80cfeb" args="(const SequenceID &amp;v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2">SequenceID::comp_t</a> dtn::SequenceID::compare           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compare two vectors, returning a comp_t. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00219">219</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="SequenceID_8cc-source.html#l00257">compare_one_way()</a>, <a class="el" href="SequenceID_8h-source.html#l00148">empty()</a>, <a class="el" href="SequenceID_8h-source.html#l00048">EQ</a>, <a class="el" href="SequenceID_8h-source.html#l00049">GT</a>, <a class="el" href="SequenceID_8h-source.html#l00051">ILL</a>, <a class="el" href="SequenceID_8h-source.html#l00047">LT</a>, and <a class="el" href="SequenceID_8h-source.html#l00050">NEQ</a>.</p>

<p>Referenced by <a class="el" href="SequenceID_8h-source.html#l00095">operator!=()</a>, <a class="el" href="SequenceID_8h-source.html#l00090">operator&lt;()</a>, <a class="el" href="SequenceID_8h-source.html#l00097">operator&lt;=()</a>, <a class="el" href="SequenceID_8h-source.html#l00092">operator==()</a>, <a class="el" href="SequenceID_8h-source.html#l00091">operator&gt;()</a>, and <a class="el" href="SequenceID_8h-source.html#l00103">operator&gt;=()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d92aa0d36c66f8007e937ad88b276e39"></a><!-- doxytag: member="dtn::SequenceID::operator&lt;" ref="d92aa0d36c66f8007e937ad88b276e39" args="(const SequenceID &amp;v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::SequenceID::operator&lt;           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Operator overloads. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00090">90</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

<p>References <a class="el" href="SequenceID_8cc-source.html#l00219">compare()</a>, and <a class="el" href="SequenceID_8h-source.html#l00047">LT</a>.</p>

</div>
</div><p>
<a class="anchor" name="69238f5d77534687e69245ca64fceabb"></a><!-- doxytag: member="dtn::SequenceID::operator&gt;" ref="69238f5d77534687e69245ca64fceabb" args="(const SequenceID &amp;v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::SequenceID::operator&gt;           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Operator overloads. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00091">91</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

<p>References <a class="el" href="SequenceID_8cc-source.html#l00219">compare()</a>, and <a class="el" href="SequenceID_8h-source.html#l00049">GT</a>.</p>

</div>
</div><p>
<a class="anchor" name="bca43a0f46f0bc448dd7446f44da45a3"></a><!-- doxytag: member="dtn::SequenceID::operator==" ref="bca43a0f46f0bc448dd7446f44da45a3" args="(const SequenceID &amp;v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::SequenceID::operator==           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Operator overloads. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00092">92</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

<p>References <a class="el" href="SequenceID_8cc-source.html#l00219">compare()</a>, and <a class="el" href="SequenceID_8h-source.html#l00048">EQ</a>.</p>

</div>
</div><p>
<a class="anchor" name="056917248448f83da299f0e0692d9451"></a><!-- doxytag: member="dtn::SequenceID::operator!=" ref="056917248448f83da299f0e0692d9451" args="(const SequenceID &amp;v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::SequenceID::operator!=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Note! This means not comparable -NOT- not equal to. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00095">95</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

<p>References <a class="el" href="SequenceID_8cc-source.html#l00219">compare()</a>, and <a class="el" href="SequenceID_8h-source.html#l00050">NEQ</a>.</p>

</div>
</div><p>
<a class="anchor" name="37df091e36c778ac6f473cbdab5b8c2e"></a><!-- doxytag: member="dtn::SequenceID::operator&lt;=" ref="37df091e36c778ac6f473cbdab5b8c2e" args="(const SequenceID &amp;v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::SequenceID::operator&lt;=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Operator overloads. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00097">97</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

<p>References <a class="el" href="SequenceID_8cc-source.html#l00219">compare()</a>, <a class="el" href="SequenceID_8h-source.html#l00048">EQ</a>, and <a class="el" href="SequenceID_8h-source.html#l00047">LT</a>.</p>

</div>
</div><p>
<a class="anchor" name="273cf88078066636e52f8260386021ac"></a><!-- doxytag: member="dtn::SequenceID::operator&gt;=" ref="273cf88078066636e52f8260386021ac" args="(const SequenceID &amp;v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::SequenceID::operator&gt;=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Operator overloads. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00103">103</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

<p>References <a class="el" href="SequenceID_8cc-source.html#l00219">compare()</a>, <a class="el" href="SequenceID_8h-source.html#l00048">EQ</a>, and <a class="el" href="SequenceID_8h-source.html#l00049">GT</a>.</p>

</div>
</div><p>
<a class="anchor" name="070d80850e92a94691654065a20099bf"></a><!-- doxytag: member="dtn::SequenceID::assign" ref="070d80850e92a94691654065a20099bf" args="(const SequenceID &amp;other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::SequenceID::assign           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reset the <a class="el" href="classdtn_1_1SequenceID.html" title="A bundle SequenceID is a version vector of (EID, counter) and/or (EID, identifier)...">SequenceID</a> to be a copy of the other. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00347">347</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00157">vector_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l01038">dtn::TableBasedRouter::subscribe_to_session()</a>.</p>

</div>
</div><p>
<a class="anchor" name="87b23ed617eafd050b78bff11ddd5e73"></a><!-- doxytag: member="dtn::SequenceID::update" ref="87b23ed617eafd050b78bff11ddd5e73" args="(const SequenceID &amp;other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::SequenceID::update           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the sequence id to include the max of all current entries and the new one. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00354">354</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00149">begin()</a>, <a class="el" href="SequenceID_8h-source.html#l00039">COUNTER</a>, <a class="el" href="SequenceID_8h-source.html#l00150">end()</a>, and <a class="el" href="SequenceID_8h-source.html#l00040">IDENTIFIER</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l00126">dtn::TableBasedRouter::add_bundle_to_session()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9ecbb6f2cbd97ca62c0489d233d298c6"></a><!-- doxytag: member="dtn::SequenceID::get_entry" ref="9ecbb6f2cbd97ca62c0489d233d298c6" args="(const EndpointID &amp;eid) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structdtn_1_1SequenceID_1_1Entry.html">SequenceID::Entry</a> &amp; dtn::SequenceID::get_entry           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>eid</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get an entry for the given EID. 
<p>
If no matching entry exists in the vector, returns a static null entry with counter == 0 and identifier == "" 
<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00064">64</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00149">begin()</a>, and <a class="el" href="SequenceID_8h-source.html#l00150">end()</a>.</p>

<p>Referenced by <a class="el" href="SequenceID_8cc-source.html#l00257">compare_one_way()</a>, <a class="el" href="SequenceID_8cc-source.html#l00078">get_counter()</a>, and <a class="el" href="SequenceID_8cc-source.html#l00085">get_identifier()</a>.</p>

</div>
</div><p>
<a class="anchor" name="41640a4837fab3c5ca5fce05f371bbd2"></a><!-- doxytag: member="dtn::SequenceID::empty" ref="41640a4837fab3c5ca5fce05f371bbd2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::SequenceID::empty           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Typedefs and wrappers for the entry vector and iterators. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00148">148</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00157">vector_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l00126">dtn::TableBasedRouter::add_bundle_to_session()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l01295">dtn::TableBasedRouter::add_subscriber()</a>, <a class="el" href="SequenceID_8cc-source.html#l00219">compare()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l00091">dtn::TableBasedRouter::get_session_for_bundle()</a>, <a class="el" href="APIServer_8cc-source.html#l01187">dtn::APIClient::handle_recv()</a>, and <a class="el" href="SequenceIDBlockProcessor_8cc-source.html#l00040">dtn::SequenceIDBlockProcessor::prepare()</a>.</p>

</div>
</div><p>
<a class="anchor" name="7a366a0f8d1a56264e3c66b446f0a9f5"></a><!-- doxytag: member="dtn::SequenceID::begin" ref="7a366a0f8d1a56264e3c66b446f0a9f5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EntryVec::iterator dtn::SequenceID::begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Typedefs and wrappers for the entry vector and iterators. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00149">149</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00157">vector_</a>.</p>

<p>Referenced by <a class="el" href="SequenceID_8cc-source.html#l00257">compare_one_way()</a>, <a class="el" href="SequenceID_8cc-source.html#l00092">format()</a>, <a class="el" href="SequenceIDBlockProcessor_8cc-source.html#l00061">dtn::SequenceIDBlockProcessor::generate()</a>, <a class="el" href="SequenceID_8cc-source.html#l00064">get_entry()</a>, and <a class="el" href="SequenceID_8cc-source.html#l00354">update()</a>.</p>

</div>
</div><p>
<a class="anchor" name="46e1c2ab6c022c1e145467a099602b55"></a><!-- doxytag: member="dtn::SequenceID::end" ref="46e1c2ab6c022c1e145467a099602b55" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EntryVec::iterator dtn::SequenceID::end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Typedefs and wrappers for the entry vector and iterators. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00150">150</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00157">vector_</a>.</p>

<p>Referenced by <a class="el" href="SequenceID_8cc-source.html#l00257">compare_one_way()</a>, <a class="el" href="SequenceID_8cc-source.html#l00092">format()</a>, <a class="el" href="SequenceIDBlockProcessor_8cc-source.html#l00061">dtn::SequenceIDBlockProcessor::generate()</a>, <a class="el" href="SequenceID_8cc-source.html#l00064">get_entry()</a>, <a class="el" href="SequenceID_8cc-source.html#l00129">parse()</a>, and <a class="el" href="SequenceID_8cc-source.html#l00354">update()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d0b237d8440b99b42002ca8efb141f67"></a><!-- doxytag: member="dtn::SequenceID::begin" ref="d0b237d8440b99b42002ca8efb141f67" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EntryVec::const_iterator dtn::SequenceID::begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Typedefs and wrappers for the entry vector and iterators. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00151">151</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00157">vector_</a>.</p>

</div>
</div><p>
<a class="anchor" name="846175c5b72c48998a83c083f579231f"></a><!-- doxytag: member="dtn::SequenceID::end" ref="846175c5b72c48998a83c083f579231f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EntryVec::const_iterator dtn::SequenceID::end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Typedefs and wrappers for the entry vector and iterators. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00152">152</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00157">vector_</a>.</p>

</div>
</div><p>
<a class="anchor" name="5ff17c219623b8ef9b153c6d1c50d2fe"></a><!-- doxytag: member="dtn::SequenceID::compare_entries" ref="5ff17c219623b8ef9b153c6d1c50d2fe" args="(const Entry &amp;left, const Entry &amp;right)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2">SequenceID::comp_t</a> dtn::SequenceID::compare_entries           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structdtn_1_1SequenceID_1_1Entry.html">Entry</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structdtn_1_1SequenceID_1_1Entry.html">Entry</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>right</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compare two entries. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00298">298</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00039">COUNTER</a>, <a class="el" href="SequenceID_8h-source.html#l00134">dtn::SequenceID::Entry::counter_</a>, <a class="el" href="SequenceID_8h-source.html#l00038">EMPTY</a>, <a class="el" href="SequenceID_8h-source.html#l00048">EQ</a>, <a class="el" href="SequenceID_8h-source.html#l00049">GT</a>, <a class="el" href="SequenceID_8h-source.html#l00040">IDENTIFIER</a>, <a class="el" href="SequenceID_8h-source.html#l00135">dtn::SequenceID::Entry::identifier_</a>, <a class="el" href="SequenceID_8h-source.html#l00047">LT</a>, <a class="el" href="SequenceID_8h-source.html#l00050">NEQ</a>, and <a class="el" href="SequenceID_8h-source.html#l00133">dtn::SequenceID::Entry::type_</a>.</p>

<p>Referenced by <a class="el" href="SequenceID_8cc-source.html#l00257">compare_one_way()</a>.</p>

</div>
</div><p>
<a class="anchor" name="23646010b9c817008d09ffc4d8a7b68c"></a><!-- doxytag: member="dtn::SequenceID::compare_one_way" ref="23646010b9c817008d09ffc4d8a7b68c" args="(const SequenceID &amp;lv, const SequenceID &amp;rv, comp_t cur_state)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2">SequenceID::comp_t</a> dtn::SequenceID::compare_one_way           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>lv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classdtn_1_1SequenceID.html#a2390223356ba57be62867dea02d37b2">comp_t</a>&nbsp;</td>
          <td class="paramname"> <em>cur_state</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compare vectors in a single direction. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8cc-source.html#l00257">257</a> of file <a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a>.</p>

<p>References <a class="el" href="SequenceID_8h-source.html#l00149">begin()</a>, <a class="el" href="SequenceID_8cc-source.html#l00298">compare_entries()</a>, <a class="el" href="SequenceID_8h-source.html#l00150">end()</a>, <a class="el" href="SequenceID_8h-source.html#l00048">EQ</a>, <a class="el" href="SequenceID_8cc-source.html#l00064">get_entry()</a>, <a class="el" href="SequenceID_8h-source.html#l00049">GT</a>, <a class="el" href="SequenceID_8h-source.html#l00047">LT</a>, <a class="el" href="SequenceID_8h-source.html#l00050">NEQ</a>, and <a class="el" href="SequenceID_8cc.html#af2edd5ea6517fd3a245d86e68905b32">next_state</a>.</p>

<p>Referenced by <a class="el" href="SequenceID_8cc-source.html#l00219">compare()</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="ac87c95dc1606a5600602cb6b69ce8c6"></a><!-- doxytag: member="dtn::SequenceID::vector_" ref="ac87c95dc1606a5600602cb6b69ce8c6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1SequenceID.html#e09b675ad2004a1f78385ea79ce3830b">EntryVec</a> <a class="el" href="classdtn_1_1SequenceID.html#ac87c95dc1606a5600602cb6b69ce8c6">dtn::SequenceID::vector_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The entry vector. 
<p>

<p>Definition at line <a class="el" href="SequenceID_8h-source.html#l00157">157</a> of file <a class="el" href="SequenceID_8h-source.html">SequenceID.h</a>.</p>

<p>Referenced by <a class="el" href="SequenceID_8cc-source.html#l00050">add()</a>, <a class="el" href="SequenceID_8cc-source.html#l00347">assign()</a>, <a class="el" href="SequenceID_8h-source.html#l00149">begin()</a>, <a class="el" href="SequenceID_8h-source.html#l00148">empty()</a>, <a class="el" href="SequenceID_8h-source.html#l00150">end()</a>, and <a class="el" href="SequenceID_8cc-source.html#l00129">parse()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="SequenceID_8h-source.html">SequenceID.h</a><li><a class="el" href="SequenceID_8cc-source.html">SequenceID.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Jul 21 14:09:52 2008 for DTN Reference Implementation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>