<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Kudu C++ client API: kudu::MonoDelta Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kudu C++ client API
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>kudu</b></li><li class="navelem"><a class="el" href="classkudu_1_1_mono_delta.html">MonoDelta</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classkudu_1_1_mono_delta-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">kudu::MonoDelta Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A representation of a time interval.  
 <a href="classkudu_1_1_mono_delta.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="monotime_8h_source.html">monotime.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad0646900f0927ad9be6302fcda8bfe5f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1_mono_delta.html#ad0646900f0927ad9be6302fcda8bfe5f">MonoDelta</a> ()</td></tr>
<tr class="separator:ad0646900f0927ad9be6302fcda8bfe5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2aaa30660bd168200074330f098f680a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1_mono_delta.html#a2aaa30660bd168200074330f098f680a">Initialized</a> () const</td></tr>
<tr class="separator:a2aaa30660bd168200074330f098f680a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ebe4c7fb832419217772ca264f27b79"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1_mono_delta.html#a5ebe4c7fb832419217772ca264f27b79">LessThan</a> (const <a class="el" href="classkudu_1_1_mono_delta.html">MonoDelta</a> &amp;rhs) const</td></tr>
<tr class="separator:a5ebe4c7fb832419217772ca264f27b79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1175ef48b67152c7dbedf47af665d02"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1_mono_delta.html#ae1175ef48b67152c7dbedf47af665d02">MoreThan</a> (const <a class="el" href="classkudu_1_1_mono_delta.html">MonoDelta</a> &amp;rhs) const</td></tr>
<tr class="separator:ae1175ef48b67152c7dbedf47af665d02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeeda0dc9b20ef8cbc9622431b38d09bc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1_mono_delta.html#aeeda0dc9b20ef8cbc9622431b38d09bc">Equals</a> (const <a class="el" href="classkudu_1_1_mono_delta.html">MonoDelta</a> &amp;rhs) const</td></tr>
<tr class="separator:aeeda0dc9b20ef8cbc9622431b38d09bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87faf992d3c8f291e8f34251e5cd175c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1_mono_delta.html#a87faf992d3c8f291e8f34251e5cd175c">ToString</a> () const</td></tr>
<tr class="separator:a87faf992d3c8f291e8f34251e5cd175c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a237089697f6e14513a305b10f662cc6e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1_mono_delta.html#a237089697f6e14513a305b10f662cc6e">ToTimeVal</a> (struct timeval *tv) const</td></tr>
<tr class="separator:a237089697f6e14513a305b10f662cc6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada258d175b463f4dc938630c12de9862"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1_mono_delta.html#ada258d175b463f4dc938630c12de9862">ToTimeSpec</a> (struct timespec *ts) const</td></tr>
<tr class="separator:ada258d175b463f4dc938630c12de9862"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Converters into seconds representation (and ubiquitous SI prefixes).</div></td></tr>
<tr><td colspan="2"><div class="groupText"><dl class="section return"><dt>Returns</dt><dd>Representation of the time interval in appropriate SI units. </dd></dl>
</div></td></tr>
<tr class="memitem:abdc48e03e6037096c13a6bf095aef06c"><td class="memItemLeft" align="right" valign="top"><a id="abdc48e03e6037096c13a6bf095aef06c"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>ToSeconds</b> () const</td></tr>
<tr class="separator:abdc48e03e6037096c13a6bf095aef06c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa75663ef2da59aef250bb63ee4b0a591"><td class="memItemLeft" align="right" valign="top"><a id="aa75663ef2da59aef250bb63ee4b0a591"></a>
int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>ToMilliseconds</b> () const</td></tr>
<tr class="separator:aa75663ef2da59aef250bb63ee4b0a591"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38ca50b383a13eb739f4f694cc117491"><td class="memItemLeft" align="right" valign="top"><a id="a38ca50b383a13eb739f4f694cc117491"></a>
int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>ToMicroseconds</b> () const</td></tr>
<tr class="separator:a38ca50b383a13eb739f4f694cc117491"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1589aa831a2e6b4a137b944de61bca1c"><td class="memItemLeft" align="right" valign="top"><a id="a1589aa831a2e6b4a137b944de61bca1c"></a>
int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>ToNanoseconds</b> () const</td></tr>
<tr class="separator:a1589aa831a2e6b4a137b944de61bca1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a4854924550c571f8af548270da52ac22"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1_mono_delta.html#a4854924550c571f8af548270da52ac22">NanosToTimeSpec</a> (int64_t nanos, struct timespec *ts)</td></tr>
<tr class="separator:a4854924550c571f8af548270da52ac22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Converters from seconds representation (and ubiquitous SI prefixes).</div></td></tr>
<tr><td colspan="2"><div class="groupText"><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">seconds/ms/us/ns</td><td>Time interval representation in seconds (with ubiquitous SI prefixes). </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The resulting <a class="el" href="classkudu_1_1_mono_delta.html" title="A representation of a time interval. ">MonoDelta</a> object initialized in accordance with the specified parameter. </dd></dl>
</div></td></tr>
<tr class="memitem:a87624954c9ebd4a2c255910072592db1"><td class="memItemLeft" align="right" valign="top"><a id="a87624954c9ebd4a2c255910072592db1"></a>
static <a class="el" href="classkudu_1_1_mono_delta.html">MonoDelta</a>&#160;</td><td class="memItemRight" valign="bottom"><b>FromSeconds</b> (double seconds)</td></tr>
<tr class="separator:a87624954c9ebd4a2c255910072592db1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5c505cedf9a8a8ce7082c347fb4363a"><td class="memItemLeft" align="right" valign="top"><a id="ac5c505cedf9a8a8ce7082c347fb4363a"></a>
static <a class="el" href="classkudu_1_1_mono_delta.html">MonoDelta</a>&#160;</td><td class="memItemRight" valign="bottom"><b>FromMilliseconds</b> (int64_t ms)</td></tr>
<tr class="separator:ac5c505cedf9a8a8ce7082c347fb4363a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad50c159b220bb8e63d8d05c21053113d"><td class="memItemLeft" align="right" valign="top"><a id="ad50c159b220bb8e63d8d05c21053113d"></a>
static <a class="el" href="classkudu_1_1_mono_delta.html">MonoDelta</a>&#160;</td><td class="memItemRight" valign="bottom"><b>FromMicroseconds</b> (int64_t us)</td></tr>
<tr class="separator:ad50c159b220bb8e63d8d05c21053113d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9e5f2bd1058b01309f82ae960520819"><td class="memItemLeft" align="right" valign="top"><a id="ae9e5f2bd1058b01309f82ae960520819"></a>
static <a class="el" href="classkudu_1_1_mono_delta.html">MonoDelta</a>&#160;</td><td class="memItemRight" valign="bottom"><b>FromNanoseconds</b> (int64_t ns)</td></tr>
<tr class="separator:ae9e5f2bd1058b01309f82ae960520819"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a515a8bfe73d4c4170695024fd9ebc3c9"><td class="memItemLeft" align="right" valign="top"><a id="a515a8bfe73d4c4170695024fd9ebc3c9"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>MonoTime</b></td></tr>
<tr class="separator:a515a8bfe73d4c4170695024fd9ebc3c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A representation of a time interval. </p>
<p>The <a class="el" href="classkudu_1_1_mono_delta.html" title="A representation of a time interval. ">MonoDelta</a> class represents an elapsed duration of time &ndash; i.e. the delta between two <a class="el" href="classkudu_1_1_mono_time.html" title="Representation of a particular point in time. ">MonoTime</a> instances. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ad0646900f0927ad9be6302fcda8bfe5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0646900f0927ad9be6302fcda8bfe5f">&#9670;&nbsp;</a></span>MonoDelta()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">kudu::MonoDelta::MonoDelta </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Build a <a class="el" href="classkudu_1_1_mono_delta.html" title="A representation of a time interval. ">MonoDelta</a> object.</p>
<dl class="section note"><dt>Note</dt><dd>A <a class="el" href="classkudu_1_1_mono_delta.html" title="A representation of a time interval. ">MonoDelta</a> instance built with the this default constructor is "uninitialized" and may not be used for any operation. </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aeeda0dc9b20ef8cbc9622431b38d09bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeeda0dc9b20ef8cbc9622431b38d09bc">&#9670;&nbsp;</a></span>Equals()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kudu::MonoDelta::Equals </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkudu_1_1_mono_delta.html">MonoDelta</a> &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Check whether this time interval has the same duration as the specified one.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>A time interval for comparison. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff this time interval has the same duration as the the specified one. </dd></dl>

</div>
</div>
<a id="a2aaa30660bd168200074330f098f680a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2aaa30660bd168200074330f098f680a">&#9670;&nbsp;</a></span>Initialized()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kudu::MonoDelta::Initialized </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff this object is initialized. </dd></dl>

</div>
</div>
<a id="a5ebe4c7fb832419217772ca264f27b79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ebe4c7fb832419217772ca264f27b79">&#9670;&nbsp;</a></span>LessThan()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kudu::MonoDelta::LessThan </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkudu_1_1_mono_delta.html">MonoDelta</a> &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Check whether this time interval is shorter than the specified one.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>A time interval for comparison. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff this time interval is strictly shorter than the specified one. </dd></dl>

</div>
</div>
<a id="ae1175ef48b67152c7dbedf47af665d02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1175ef48b67152c7dbedf47af665d02">&#9670;&nbsp;</a></span>MoreThan()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kudu::MonoDelta::MoreThan </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkudu_1_1_mono_delta.html">MonoDelta</a> &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Check whether this time interval is longer than the specified one.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rhs</td><td>A time interval for comparison. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> iff this time interval is strictly longer than the specified one. </dd></dl>

</div>
</div>
<a id="a4854924550c571f8af548270da52ac22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4854924550c571f8af548270da52ac22">&#9670;&nbsp;</a></span>NanosToTimeSpec()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void kudu::MonoDelta::NanosToTimeSpec </td>
          <td>(</td>
          <td class="paramtype">int64_t&#160;</td>
          <td class="paramname"><em>nanos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct timespec *&#160;</td>
          <td class="paramname"><em>ts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Convert a nanosecond value to a timespec.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">nanos</td><td>Representation of a relative point in time in nanoseconds. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">ts</td><td>Placeholder for the resulting timespec representation. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a87faf992d3c8f291e8f34251e5cd175c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87faf992d3c8f291e8f34251e5cd175c">&#9670;&nbsp;</a></span>ToString()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string kudu::MonoDelta::ToString </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>String representation of this interval's duration (in seconds). </dd></dl>

</div>
</div>
<a id="ada258d175b463f4dc938630c12de9862"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada258d175b463f4dc938630c12de9862">&#9670;&nbsp;</a></span>ToTimeSpec()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kudu::MonoDelta::ToTimeSpec </td>
          <td>(</td>
          <td class="paramtype">struct timespec *&#160;</td>
          <td class="paramname"><em>ts</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Represent this time interval as a timespec structure, with nanosecond accuracy.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">ts</td><td>Placeholder for the result value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a237089697f6e14513a305b10f662cc6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a237089697f6e14513a305b10f662cc6e">&#9670;&nbsp;</a></span>ToTimeVal()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kudu::MonoDelta::ToTimeVal </td>
          <td>(</td>
          <td class="paramtype">struct timeval *&#160;</td>
          <td class="paramname"><em>tv</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Represent this time interval as a timeval structure, with microsecond accuracy.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">tv</td><td>Placeholder for the result value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/kudu/util/<a class="el" href="monotime_8h_source.html">monotime.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
  <small>Generated for Kudu version 1.7.0 on Thu Mar 22 2018 13:30:02 by Doxygen 1.8.14</small>
  <br>
  <small>Copyright © 2018 The Apache Software Foundation.</small>
</address>
</body>
</html>
