"Fossies" - the Fresh Open Source Software Archive

Member "dmd2/html/d/phobos/core_time.html" (20 Nov 2020, 189092 Bytes) of package /linux/misc/dmd.2.094.2.linux.tar.xz:


The requested HTML page contains a <FORM> tag that is unusable on "Fossies" in "automatic" (rendered) mode so that page is shown as HTML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 
    2 <!DOCTYPE html>
    3 <html lang="en-US">
    4 <!--
    5     Copyright (c) 1999-2020 by the D Language Foundation
    6     All Rights Reserved.
    7     https://dlang.org/foundation_overview.html
    8   -->
    9 <head>
   10 <meta charset="utf-8">
   11 <meta name="keywords" content="D programming language">
   12 <meta name="description" content="D Programming Language">
   13 <title>core.time - D Programming Language</title>
   14 
   15 <link rel="stylesheet" href="../css/codemirror.css">
   16 <link rel="stylesheet" href="../css/style.css">
   17 <link rel="stylesheet" href="../css/print.css" media="print">
   18 <link rel="shortcut icon" href="../favicon.ico">
   19 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.1, maximum-scale=10.0">
   20 
   21 </head>
   22 <body id='core.time' class='std'>
   23 <script type="text/javascript">document.body.className += ' have-javascript'</script>
   24 <div id="top"><div class="helper"><div class="helper expand-container">    <div class="logo"><a href=".."><img id="logo" alt="D Logo" src="../images/dlogo.svg"></a></div>
   25     <a href="../menu.html" title="Menu" class="hamburger expand-toggle"><span>Menu</span></a>
   26     
   27 <div id="cssmenu"><ul>    <li><a href='https://tour.dlang.org'><span>Learn</span></a></li>
   28     <li class='expand-container'><a class='expand-toggle' href='../documentation.html'><span>Documentation</span></a>
   29       
   30 <ul class='expand-content'>    <li><a href='../spec/spec.html'>Language Reference</a></li>
   31     <li><a href='../phobos/index.html'>Library Reference</a></li>
   32     <li><a href='../dmd.html'>Command-line Reference</a></li>
   33     <li class="menu-divider"><a href='../comparison.html'>Feature Overview</a></li>
   34     <li><a href='../articles.html'>Articles</a></li>
   35  </ul></li>
   36     <li><a href='../download.html'><span>Downloads</span></a></li>
   37     <li><a href='https://code.dlang.org'><span>Packages</span></a></li>
   38     <li class='expand-container'><a class='expand-toggle' href='../community.html'><span>Community</span></a>
   39       
   40 <ul class='expand-content'>    <li><a href='https://dlang.org/blog'>Blog</a></li>
   41     <li><a href='../orgs-using-d.html'>Orgs using D</a></li>
   42     <li><a href='https://twitter.com/search?q=%23dlang'>Twitter</a></li>
   43     <li><a href='../calendar.html'>Calendar</a></li>
   44     <li class="menu-divider"><a href='https://forum.dlang.org'>Forums</a></li>
   45     <li><a href='irc://irc.freenode.net/d'>IRC</a></li>
   46     <li><a href='https://discord.gg/bMZk9Q4'>Community Discord</a></li>
   47     <li><a href='https://wiki.dlang.org'>Wiki</a></li>
   48     <li class="menu-divider"><a href='https://github.com/dlang'>GitHub</a></li>
   49     <li><a href='../bugstats.html'>Issues</a></li>
   50     <li><a href='https://wiki.dlang.org/Get_involved'>Get involved</a></li>
   51     <li class="menu-divider"><a href='../foundation/contributors.html'>Contributors</a></li>
   52     <li><a href='../foundation/index.html'>Foundation</a></li>
   53     <li><a href='..//security.html'>Security Team</a></li>
   54     <li><a href='../foundation/donate.html'>Donate</a></li>
   55     <li><a href='../foundation/sponsors.html'>Sponsors</a></li>
   56  </ul></li>
   57     <li class='expand-container'><a class='expand-toggle' href='../resources.html'><span>Resources</span></a>
   58       
   59 <ul class='expand-content'>    <li><a href='https://tour.dlang.org'>Tour</a></li>
   60     <li><a href='https://wiki.dlang.org/Books'>Books</a></li>
   61     <li><a href='https://wiki.dlang.org/Tutorials'>Tutorials</a></li>
   62     <li class="menu-divider"><a href='https://wiki.dlang.org/Development_tools'>Tools</a></li>
   63     <li><a href='https://wiki.dlang.org/Editors'>Editors</a></li>
   64     <li><a href='https://wiki.dlang.org/IDEs'>IDEs</a></li>
   65     <li><a href='https://run.dlang.io'>run.dlang.io</a></li>
   66     <li><a href='http://rainers.github.io/visuald/visuald/StartPage.html'>Visual D</a></li>
   67     <li class="menu-divider"><a href='../acknowledgements.html'>Acknowledgments</a></li>
   68     <li><a href='../dstyle.html'>D Style</a></li>
   69     <li><a href='../glossary.html'>Glossary</a></li>
   70     <li><a href='../sitemap.html'>Sitemap</a></li>
   71  </ul></li>
   72 </ul></div>
   73     <div class="search-container expand-container">        <a href="../search.html" class="expand-toggle" title="Search"><span>Search</span></a>
   74         
   75     <div id="search-box">        <form method="get" action="https://google.com/search">
   76             <input type="hidden" id="domains" name="domains" value="dlang.org">
   77             <input type="hidden" id="sourceid" name="sourceid" value="google-search">
   78             <span id="search-query"><input id="q" name="q" placeholder="Search"></span><span id="search-dropdown"><span class="helper">                <select id="sitesearch" name="sitesearch" size="1">
   79                     <option value="dlang.org">Entire Site</option>
   80                     <option  value="dlang.org/spec">Language</option>
   81                     <option selected value="dlang.org/phobos">Library</option>
   82                     <option  value="forum.dlang.org">Forums</option>
   83                     
   84                 </select>
   85             </span></span><span id="search-submit"><button type="submit"><i class="fa fa-search"></i><span>go</span></button></span>
   86         </form>
   87     </div>
   88     </div>
   89 </div></div></div>
   90 
   91 <div class="container">    
   92 <div class="subnav-helper"></div> <div class="subnav">    <div class="head">        <h2>Library Reference</h2>
   93         <p><span class="smallprint">version 2.094.2 <span class="separator"><br></span>
   94             </span>
   95         </p>
   96         <p><a href="index.html">overview</a></p>
   97     </div>
   98     <ul>
   99 
  100 <li><a href='object.html'><span><em class="tt">object</em></span></a></li>
  101 
  102 <li class='expand-container modlist-submenu-std'><a class='expand-toggle' href='#'><span><em class="tt">std</em></span></a>
  103 <ul><li>  <a href="std_algorithm.html" title="std.algorithm"><span class="d_inlinecode donthyphenate notranslate">algorithm</span></a><ul><li>    <a href="std_algorithm_comparison.html" title="std.algorithm.comparison"><span class="d_inlinecode donthyphenate notranslate">comparison</span></a></li><li>    <a href="std_algorithm_iteration.html" title="std.algorithm.iteration"><span class="d_inlinecode donthyphenate notranslate">iteration</span></a></li><li>    <a href="std_algorithm_mutation.html" title="std.algorithm.mutation"><span class="d_inlinecode donthyphenate notranslate">mutation</span></a></li><li>    <a href="std_algorithm_searching.html" title="std.algorithm.searching"><span class="d_inlinecode donthyphenate notranslate">searching</span></a></li><li>    <a href="std_algorithm_setops.html" title="std.algorithm.setops"><span class="d_inlinecode donthyphenate notranslate">setops</span></a></li><li>    <a href="std_algorithm_sorting.html" title="std.algorithm.sorting"><span class="d_inlinecode donthyphenate notranslate">sorting</span></a>
  104   </li></ul></li><li>  <a href="std_array.html" title="std.array"><span class="d_inlinecode donthyphenate notranslate">array</span></a></li><li>  <a href="std_ascii.html" title="std.ascii"><span class="d_inlinecode donthyphenate notranslate">ascii</span></a></li><li>  <a href="std_base64.html" title="std.base64"><span class="d_inlinecode donthyphenate notranslate">base64</span></a></li><li>  <a href="std_bigint.html" title="std.bigint"><span class="d_inlinecode donthyphenate notranslate">bigint</span></a></li><li>  <a href="std_bitmanip.html" title="std.bitmanip"><span class="d_inlinecode donthyphenate notranslate">bitmanip</span></a></li><li>  <a href="std_compiler.html" title="std.compiler"><span class="d_inlinecode donthyphenate notranslate">compiler</span></a></li><li>  <a href="std_complex.html" title="std.complex"><span class="d_inlinecode donthyphenate notranslate">complex</span></a></li><li>  <a href="std_concurrency.html" title="std.concurrency"><span class="d_inlinecode donthyphenate notranslate">concurrency</span></a></li><li>  <a href="std_container.html" title="std.container"><span class="d_inlinecode donthyphenate notranslate">container</span></a><ul><li>    <a href="std_container_array.html" title="std.container.array"><span class="d_inlinecode donthyphenate notranslate">array</span></a></li><li>    <a href="std_container_binaryheap.html" title="std.container.binaryheap"><span class="d_inlinecode donthyphenate notranslate">binaryheap</span></a></li><li>    <a href="std_container_dlist.html" title="std.container.dlist"><span class="d_inlinecode donthyphenate notranslate">dlist</span></a></li><li>    <a href="std_container_rbtree.html" title="std.container.rbtree"><span class="d_inlinecode donthyphenate notranslate">rbtree</span></a></li><li>    <a href="std_container_slist.html" title="std.container.slist"><span class="d_inlinecode donthyphenate notranslate">slist</span></a></li><li>    <a href="std_container_util.html" title="std.container.util"><span class="d_inlinecode donthyphenate notranslate">util</span></a>
  105   </li></ul></li><li>  <a href="std_conv.html" title="std.conv"><span class="d_inlinecode donthyphenate notranslate">conv</span></a></li><li>  <a href="std_csv.html" title="std.csv"><span class="d_inlinecode donthyphenate notranslate">csv</span></a></li><li>  <a href="std_datetime.html" title="std.datetime"><span class="d_inlinecode donthyphenate notranslate">datetime</span></a><ul><li>    <a href="std_datetime_date.html" title="std.datetime.date"><span class="d_inlinecode donthyphenate notranslate">date</span></a></li><li>    <a href="std_datetime_interval.html" title="std.datetime.interval"><span class="d_inlinecode donthyphenate notranslate">interval</span></a></li><li>    <a href="std_datetime_stopwatch.html" title="std.datetime.stopwatch"><span class="d_inlinecode donthyphenate notranslate">stopwatch</span></a></li><li>    <a href="std_datetime_systime.html" title="std.datetime.systime"><span class="d_inlinecode donthyphenate notranslate">systime</span></a></li><li>    <a href="std_datetime_timezone.html" title="std.datetime.timezone"><span class="d_inlinecode donthyphenate notranslate">timezone</span></a>
  106   </li></ul></li><li>  <a href="std_demangle.html" title="std.demangle"><span class="d_inlinecode donthyphenate notranslate">demangle</span></a></li><li>  <a href="std_digest.html" title="std.digest"><span class="d_inlinecode donthyphenate notranslate">digest</span></a><ul><li>    <a href="std_digest_crc.html" title="std.digest.crc"><span class="d_inlinecode donthyphenate notranslate">crc</span></a></li><li>    <a href="std_digest_hmac.html" title="std.digest.hmac"><span class="d_inlinecode donthyphenate notranslate">hmac</span></a></li><li>    <a href="std_digest_md.html" title="std.digest.md"><span class="d_inlinecode donthyphenate notranslate">md</span></a></li><li>    <a href="std_digest_murmurhash.html" title="std.digest.murmurhash"><span class="d_inlinecode donthyphenate notranslate">murmurhash</span></a></li><li>    <a href="std_digest_ripemd.html" title="std.digest.ripemd"><span class="d_inlinecode donthyphenate notranslate">ripemd</span></a></li><li>    <a href="std_digest_sha.html" title="std.digest.sha"><span class="d_inlinecode donthyphenate notranslate">sha</span></a>
  107   </li></ul></li><li>  <a href="std_encoding.html" title="std.encoding"><span class="d_inlinecode donthyphenate notranslate">encoding</span></a></li><li>  <a href="std_exception.html" title="std.exception"><span class="d_inlinecode donthyphenate notranslate">exception</span></a></li><li>  <h7><span class="d_inlinecode donthyphenate notranslate">experimental</span></h7><ul><li>    <a href="std_experimental_allocator.html" title="std.experimental.allocator"><span class="d_inlinecode donthyphenate notranslate">allocator</span></a><ul><li>      <a href="std_experimental_allocator_building_blocks.html" title="std.experimental.allocator.building_blocks"><span class="d_inlinecode donthyphenate notranslate">building_blocks</span></a><ul><li>        <a href="std_experimental_allocator_building_blocks_affix_allocator.html" title="std.experimental.allocator.building_blocks.affix_allocator"><span class="d_inlinecode donthyphenate notranslate">affix_allocator</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_aligned_block_list.html" title="std.experimental.allocator.building_blocks.aligned_block_list"><span class="d_inlinecode donthyphenate notranslate">aligned_block_list</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_allocator_list.html" title="std.experimental.allocator.building_blocks.allocator_list"><span class="d_inlinecode donthyphenate notranslate">allocator_list</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_ascending_page_allocator.html" title="std.experimental.allocator.building_blocks.ascending_page_allocator"><span class="d_inlinecode donthyphenate notranslate">ascending_page_allocator</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_bitmapped_block.html" title="std.experimental.allocator.building_blocks.bitmapped_block"><span class="d_inlinecode donthyphenate notranslate">bitmapped_block</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_bucketizer.html" title="std.experimental.allocator.building_blocks.bucketizer"><span class="d_inlinecode donthyphenate notranslate">bucketizer</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_fallback_allocator.html" title="std.experimental.allocator.building_blocks.fallback_allocator"><span class="d_inlinecode donthyphenate notranslate">fallback_allocator</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_free_list.html" title="std.experimental.allocator.building_blocks.free_list"><span class="d_inlinecode donthyphenate notranslate">free_list</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_free_tree.html" title="std.experimental.allocator.building_blocks.free_tree"><span class="d_inlinecode donthyphenate notranslate">free_tree</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_kernighan_ritchie.html" title="std.experimental.allocator.building_blocks.kernighan_ritchie"><span class="d_inlinecode donthyphenate notranslate">kernighan_ritchie</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_null_allocator.html" title="std.experimental.allocator.building_blocks.null_allocator"><span class="d_inlinecode donthyphenate notranslate">null_allocator</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_quantizer.html" title="std.experimental.allocator.building_blocks.quantizer"><span class="d_inlinecode donthyphenate notranslate">quantizer</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_region.html" title="std.experimental.allocator.building_blocks.region"><span class="d_inlinecode donthyphenate notranslate">region</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_scoped_allocator.html" title="std.experimental.allocator.building_blocks.scoped_allocator"><span class="d_inlinecode donthyphenate notranslate">scoped_allocator</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_segregator.html" title="std.experimental.allocator.building_blocks.segregator"><span class="d_inlinecode donthyphenate notranslate">segregator</span></a></li><li>        <a href="std_experimental_allocator_building_blocks_stats_collector.html" title="std.experimental.allocator.building_blocks.stats_collector"><span class="d_inlinecode donthyphenate notranslate">stats_collector</span></a>
  108       </li></ul></li><li>      <a href="std_experimental_allocator_common.html" title="std.experimental.allocator.common"><span class="d_inlinecode donthyphenate notranslate">common</span></a></li><li>      <a href="std_experimental_allocator_gc_allocator.html" title="std.experimental.allocator.gc_allocator"><span class="d_inlinecode donthyphenate notranslate">gc_allocator</span></a></li><li>      <a href="std_experimental_allocator_mallocator.html" title="std.experimental.allocator.mallocator"><span class="d_inlinecode donthyphenate notranslate">mallocator</span></a></li><li>      <a href="std_experimental_allocator_mmap_allocator.html" title="std.experimental.allocator.mmap_allocator"><span class="d_inlinecode donthyphenate notranslate">mmap_allocator</span></a></li><li>      <a href="std_experimental_allocator_showcase.html" title="std.experimental.allocator.showcase"><span class="d_inlinecode donthyphenate notranslate">showcase</span></a></li><li>      <a href="std_experimental_allocator_typed.html" title="std.experimental.allocator.typed"><span class="d_inlinecode donthyphenate notranslate">typed</span></a>
  109     </li></ul></li><li>    <a href="std_experimental_checkedint.html" title="std.experimental.checkedint"><span class="d_inlinecode donthyphenate notranslate">checkedint</span></a></li><li>    <a href="std_experimental_logger.html" title="std.experimental.logger"><span class="d_inlinecode donthyphenate notranslate">logger</span></a><ul><li>      <a href="std_experimental_logger_core.html" title="std.experimental.logger.core"><span class="d_inlinecode donthyphenate notranslate">core</span></a></li><li>      <a href="std_experimental_logger_filelogger.html" title="std.experimental.logger.filelogger"><span class="d_inlinecode donthyphenate notranslate">filelogger</span></a></li><li>      <a href="std_experimental_logger_multilogger.html" title="std.experimental.logger.multilogger"><span class="d_inlinecode donthyphenate notranslate">multilogger</span></a></li><li>      <a href="std_experimental_logger_nulllogger.html" title="std.experimental.logger.nulllogger"><span class="d_inlinecode donthyphenate notranslate">nulllogger</span></a>
  110     </li></ul></li><li>    <a href="std_experimental_typecons.html" title="std.experimental.typecons"><span class="d_inlinecode donthyphenate notranslate">typecons</span></a>
  111   </li></ul></li><li>  <a href="std_file.html" title="std.file"><span class="d_inlinecode donthyphenate notranslate">file</span></a></li><li>  <a href="std_format.html" title="std.format"><span class="d_inlinecode donthyphenate notranslate">format</span></a></li><li>  <a href="std_functional.html" title="std.functional"><span class="d_inlinecode donthyphenate notranslate">functional</span></a></li><li>  <a href="std_getopt.html" title="std.getopt"><span class="d_inlinecode donthyphenate notranslate">getopt</span></a></li><li>  <a href="std_json.html" title="std.json"><span class="d_inlinecode donthyphenate notranslate">json</span></a></li><li>  <a href="std_math.html" title="std.math"><span class="d_inlinecode donthyphenate notranslate">math</span></a></li><li>  <a href="std_mathspecial.html" title="std.mathspecial"><span class="d_inlinecode donthyphenate notranslate">mathspecial</span></a></li><li>  <a href="std_meta.html" title="std.meta"><span class="d_inlinecode donthyphenate notranslate">meta</span></a></li><li>  <a href="std_mmfile.html" title="std.mmfile"><span class="d_inlinecode donthyphenate notranslate">mmfile</span></a></li><li>  <h7><span class="d_inlinecode donthyphenate notranslate">net</span></h7><ul><li>    <a href="std_net_curl.html" title="std.net.curl"><span class="d_inlinecode donthyphenate notranslate">curl</span></a></li><li>    <a href="std_net_isemail.html" title="std.net.isemail"><span class="d_inlinecode donthyphenate notranslate">isemail</span></a>
  112   </li></ul></li><li>  <a href="std_numeric.html" title="std.numeric"><span class="d_inlinecode donthyphenate notranslate">numeric</span></a></li><li>  <a href="std_outbuffer.html" title="std.outbuffer"><span class="d_inlinecode donthyphenate notranslate">outbuffer</span></a></li><li>  <a href="std_parallelism.html" title="std.parallelism"><span class="d_inlinecode donthyphenate notranslate">parallelism</span></a></li><li>  <a href="std_path.html" title="std.path"><span class="d_inlinecode donthyphenate notranslate">path</span></a></li><li>  <a href="std_process.html" title="std.process"><span class="d_inlinecode donthyphenate notranslate">process</span></a></li><li>  <a href="std_random.html" title="std.random"><span class="d_inlinecode donthyphenate notranslate">random</span></a></li><li>  <a href="std_range.html" title="std.range"><span class="d_inlinecode donthyphenate notranslate">range</span></a><ul><li>    <a href="std_range_interfaces.html" title="std.range.interfaces"><span class="d_inlinecode donthyphenate notranslate">interfaces</span></a></li><li>    <a href="std_range_primitives.html" title="std.range.primitives"><span class="d_inlinecode donthyphenate notranslate">primitives</span></a>
  113   </li></ul></li><li>  <a href="std_regex.html" title="std.regex"><span class="d_inlinecode donthyphenate notranslate">regex</span></a></li><li>  <a href="std_signals.html" title="std.signals"><span class="d_inlinecode donthyphenate notranslate">signals</span></a></li><li>  <a href="std_socket.html" title="std.socket"><span class="d_inlinecode donthyphenate notranslate">socket</span></a></li><li>  <a href="std_stdint.html" title="std.stdint"><span class="d_inlinecode donthyphenate notranslate">stdint</span></a></li><li>  <a href="std_stdio.html" title="std.stdio"><span class="d_inlinecode donthyphenate notranslate">stdio</span></a></li><li>  <a href="std_string.html" title="std.string"><span class="d_inlinecode donthyphenate notranslate">string</span></a></li><li>  <a href="std_system.html" title="std.system"><span class="d_inlinecode donthyphenate notranslate">system</span></a></li><li>  <a href="std_traits.html" title="std.traits"><span class="d_inlinecode donthyphenate notranslate">traits</span></a></li><li>  <a href="std_typecons.html" title="std.typecons"><span class="d_inlinecode donthyphenate notranslate">typecons</span></a></li><li>  <a href="std_uni.html" title="std.uni"><span class="d_inlinecode donthyphenate notranslate">uni</span></a></li><li>  <a href="std_uri.html" title="std.uri"><span class="d_inlinecode donthyphenate notranslate">uri</span></a></li><li>  <a href="std_utf.html" title="std.utf"><span class="d_inlinecode donthyphenate notranslate">utf</span></a></li><li>  <a href="std_uuid.html" title="std.uuid"><span class="d_inlinecode donthyphenate notranslate">uuid</span></a></li><li>  <a href="std_variant.html" title="std.variant"><span class="d_inlinecode donthyphenate notranslate">variant</span></a></li><li>  <h7><span class="d_inlinecode donthyphenate notranslate">windows</span></h7><ul><li>    <a href="std_windows_charset.html" title="std.windows.charset"><span class="d_inlinecode donthyphenate notranslate">charset</span></a></li><li>    <a href="std_windows_syserror.html" title="std.windows.syserror"><span class="d_inlinecode donthyphenate notranslate">syserror</span></a>
  114   </li></ul></li><li>  <a href="std_xml.html" title="std.xml"><span class="d_inlinecode donthyphenate notranslate">xml</span></a></li><li>  <a href="std_zip.html" title="std.zip"><span class="d_inlinecode donthyphenate notranslate">zip</span></a></li><li>  <a href="std_zlib.html" title="std.zlib"><span class="d_inlinecode donthyphenate notranslate">zlib</span></a>
  115 </li></ul>
  116 </li>
  117 
  118 <li class='expand-container modlist-submenu-etc'><a class='expand-toggle' href='#'><span><em class="tt">etc</em></span></a>
  119 <ul><li>  <h7><span class="d_inlinecode donthyphenate notranslate">c</span></h7><ul><li>    <a href="etc_c_curl.html" title="etc.c.curl"><span class="d_inlinecode donthyphenate notranslate">curl</span></a></li><li>    <h7><span class="d_inlinecode donthyphenate notranslate">odbc</span></h7><ul><li>      <a href="etc_c_odbc_sql.html" title="etc.c.odbc.sql"><span class="d_inlinecode donthyphenate notranslate">sql</span></a></li><li>      <a href="etc_c_odbc_sqlext.html" title="etc.c.odbc.sqlext"><span class="d_inlinecode donthyphenate notranslate">sqlext</span></a></li><li>      <a href="etc_c_odbc_sqltypes.html" title="etc.c.odbc.sqltypes"><span class="d_inlinecode donthyphenate notranslate">sqltypes</span></a></li><li>      <a href="etc_c_odbc_sqlucode.html" title="etc.c.odbc.sqlucode"><span class="d_inlinecode donthyphenate notranslate">sqlucode</span></a>
  120     </li></ul></li><li>    <a href="etc_c_sqlite3.html" title="etc.c.sqlite3"><span class="d_inlinecode donthyphenate notranslate">sqlite3</span></a></li><li>    <a href="etc_c_zlib.html" title="etc.c.zlib"><span class="d_inlinecode donthyphenate notranslate">zlib</span></a>
  121   </li></ul>
  122 </li></ul>
  123 </li>
  124 
  125 <li class='expand-container modlist-submenu-core'><a class='expand-toggle' href='#'><span><em class="tt">core</em></span></a>
  126 <ul><li>  <a href="core_atomic.html" title="core.atomic"><span class="d_inlinecode donthyphenate notranslate">atomic</span></a></li><li>  <a href="core_attribute.html" title="core.attribute"><span class="d_inlinecode donthyphenate notranslate">attribute</span></a></li><li>  <a href="core_bitop.html" title="core.bitop"><span class="d_inlinecode donthyphenate notranslate">bitop</span></a></li><li>  <a href="core_checkedint.html" title="core.checkedint"><span class="d_inlinecode donthyphenate notranslate">checkedint</span></a></li><li>  <a href="core_cpuid.html" title="core.cpuid"><span class="d_inlinecode donthyphenate notranslate">cpuid</span></a></li><li>  <a href="core_demangle.html" title="core.demangle"><span class="d_inlinecode donthyphenate notranslate">demangle</span></a></li><li>  <a href="core_exception.html" title="core.exception"><span class="d_inlinecode donthyphenate notranslate">exception</span></a></li><li>  <h7><span class="d_inlinecode donthyphenate notranslate">gc</span></h7><ul><li>    <a href="core_gc_config.html" title="core.gc.config"><span class="d_inlinecode donthyphenate notranslate">config</span></a></li><li>    <a href="core_gc_gcinterface.html" title="core.gc.gcinterface"><span class="d_inlinecode donthyphenate notranslate">gcinterface</span></a></li><li>    <a href="core_gc_registry.html" title="core.gc.registry"><span class="d_inlinecode donthyphenate notranslate">registry</span></a>
  127   </li></ul></li><li>  <a href="core_lifetime.html" title="core.lifetime"><span class="d_inlinecode donthyphenate notranslate">lifetime</span></a></li><li>  <a href="core_math.html" title="core.math"><span class="d_inlinecode donthyphenate notranslate">math</span></a></li><li>  <a href="core_memory.html" title="core.memory"><span class="d_inlinecode donthyphenate notranslate">memory</span></a></li><li>  <a href="core_runtime.html" title="core.runtime"><span class="d_inlinecode donthyphenate notranslate">runtime</span></a></li><li>  <a href="core_simd.html" title="core.simd"><span class="d_inlinecode donthyphenate notranslate">simd</span></a></li><li>  <h7><span class="d_inlinecode donthyphenate notranslate">stdc</span></h7><ul><li>    <a href="core_stdc_assert_.html" title="core.stdc.assert_"><span class="d_inlinecode donthyphenate notranslate">assert_</span></a></li><li>    <a href="core_stdc_complex.html" title="core.stdc.complex"><span class="d_inlinecode donthyphenate notranslate">complex</span></a></li><li>    <a href="core_stdc_ctype.html" title="core.stdc.ctype"><span class="d_inlinecode donthyphenate notranslate">ctype</span></a></li><li>    <a href="core_stdc_errno.html" title="core.stdc.errno"><span class="d_inlinecode donthyphenate notranslate">errno</span></a></li><li>    <a href="core_stdc_fenv.html" title="core.stdc.fenv"><span class="d_inlinecode donthyphenate notranslate">fenv</span></a></li><li>    <a href="core_stdc_float_.html" title="core.stdc.float_"><span class="d_inlinecode donthyphenate notranslate">float_</span></a></li><li>    <a href="core_stdc_inttypes.html" title="core.stdc.inttypes"><span class="d_inlinecode donthyphenate notranslate">inttypes</span></a></li><li>    <a href="core_stdc_limits.html" title="core.stdc.limits"><span class="d_inlinecode donthyphenate notranslate">limits</span></a></li><li>    <a href="core_stdc_locale.html" title="core.stdc.locale"><span class="d_inlinecode donthyphenate notranslate">locale</span></a></li><li>    <a href="core_stdc_math.html" title="core.stdc.math"><span class="d_inlinecode donthyphenate notranslate">math</span></a></li><li>    <a href="core_stdc_signal.html" title="core.stdc.signal"><span class="d_inlinecode donthyphenate notranslate">signal</span></a></li><li>    <a href="core_stdc_stdarg.html" title="core.stdc.stdarg"><span class="d_inlinecode donthyphenate notranslate">stdarg</span></a></li><li>    <a href="core_stdc_stddef.html" title="core.stdc.stddef"><span class="d_inlinecode donthyphenate notranslate">stddef</span></a></li><li>    <a href="core_stdc_stdint.html" title="core.stdc.stdint"><span class="d_inlinecode donthyphenate notranslate">stdint</span></a></li><li>    <a href="core_stdc_stdio.html" title="core.stdc.stdio"><span class="d_inlinecode donthyphenate notranslate">stdio</span></a></li><li>    <a href="core_stdc_stdlib.html" title="core.stdc.stdlib"><span class="d_inlinecode donthyphenate notranslate">stdlib</span></a></li><li>    <a href="core_stdc_string.html" title="core.stdc.string"><span class="d_inlinecode donthyphenate notranslate">string</span></a></li><li>    <a href="core_stdc_tgmath.html" title="core.stdc.tgmath"><span class="d_inlinecode donthyphenate notranslate">tgmath</span></a></li><li>    <a href="core_stdc_time.html" title="core.stdc.time"><span class="d_inlinecode donthyphenate notranslate">time</span></a></li><li>    <a href="core_stdc_wchar_.html" title="core.stdc.wchar_"><span class="d_inlinecode donthyphenate notranslate">wchar_</span></a></li><li>    <a href="core_stdc_wctype.html" title="core.stdc.wctype"><span class="d_inlinecode donthyphenate notranslate">wctype</span></a>
  128   </li></ul></li><li>  <h7><span class="d_inlinecode donthyphenate notranslate">stdcpp</span></h7><ul><li>    <a href="core_stdcpp_allocator.html" title="core.stdcpp.allocator"><span class="d_inlinecode donthyphenate notranslate">allocator</span></a></li><li>    <a href="core_stdcpp_array.html" title="core.stdcpp.array"><span class="d_inlinecode donthyphenate notranslate">array</span></a></li><li>    <a href="core_stdcpp_exception.html" title="core.stdcpp.exception"><span class="d_inlinecode donthyphenate notranslate">exception</span></a></li><li>    <a href="core_stdcpp_memory.html" title="core.stdcpp.memory"><span class="d_inlinecode donthyphenate notranslate">memory</span></a></li><li>    <a href="core_stdcpp_new_.html" title="core.stdcpp.new_"><span class="d_inlinecode donthyphenate notranslate">new_</span></a></li><li>    <a href="core_stdcpp_string.html" title="core.stdcpp.string"><span class="d_inlinecode donthyphenate notranslate">string</span></a></li><li>    <a href="core_stdcpp_string_view.html" title="core.stdcpp.string_view"><span class="d_inlinecode donthyphenate notranslate">string_view</span></a></li><li>    <a href="core_stdcpp_type_traits.html" title="core.stdcpp.type_traits"><span class="d_inlinecode donthyphenate notranslate">type_traits</span></a></li><li>    <a href="core_stdcpp_typeinfo.html" title="core.stdcpp.typeinfo"><span class="d_inlinecode donthyphenate notranslate">typeinfo</span></a></li><li>    <a href="core_stdcpp_utility.html" title="core.stdcpp.utility"><span class="d_inlinecode donthyphenate notranslate">utility</span></a></li><li>    <a href="core_stdcpp_vector.html" title="core.stdcpp.vector"><span class="d_inlinecode donthyphenate notranslate">vector</span></a></li><li>    <a href="core_stdcpp_xutility.html" title="core.stdcpp.xutility"><span class="d_inlinecode donthyphenate notranslate">xutility</span></a>
  129   </li></ul></li><li>  <h7><span class="d_inlinecode donthyphenate notranslate">sync</span></h7><ul><li>    <a href="core_sync_barrier.html" title="core.sync.barrier"><span class="d_inlinecode donthyphenate notranslate">barrier</span></a></li><li>    <a href="core_sync_condition.html" title="core.sync.condition"><span class="d_inlinecode donthyphenate notranslate">condition</span></a></li><li>    <a href="core_sync_config.html" title="core.sync.config"><span class="d_inlinecode donthyphenate notranslate">config</span></a></li><li>    <a href="core_sync_event.html" title="core.sync.event"><span class="d_inlinecode donthyphenate notranslate">event</span></a></li><li>    <a href="core_sync_exception.html" title="core.sync.exception"><span class="d_inlinecode donthyphenate notranslate">exception</span></a></li><li>    <a href="core_sync_mutex.html" title="core.sync.mutex"><span class="d_inlinecode donthyphenate notranslate">mutex</span></a></li><li>    <a href="core_sync_rwmutex.html" title="core.sync.rwmutex"><span class="d_inlinecode donthyphenate notranslate">rwmutex</span></a></li><li>    <a href="core_sync_semaphore.html" title="core.sync.semaphore"><span class="d_inlinecode donthyphenate notranslate">semaphore</span></a>
  130   </li></ul></li><li>  <a href="core_thread.html" title="core.thread"><span class="d_inlinecode donthyphenate notranslate">thread</span></a><ul><li>    <a href="core_thread_context.html" title="core.thread.context"><span class="d_inlinecode donthyphenate notranslate">context</span></a></li><li>    <a href="core_thread_fiber.html" title="core.thread.fiber"><span class="d_inlinecode donthyphenate notranslate">fiber</span></a></li><li>    <a href="core_thread_osthread.html" title="core.thread.osthread"><span class="d_inlinecode donthyphenate notranslate">osthread</span></a></li><li>    <a href="core_thread_threadbase.html" title="core.thread.threadbase"><span class="d_inlinecode donthyphenate notranslate">threadbase</span></a></li><li>    <a href="core_thread_threadgroup.html" title="core.thread.threadgroup"><span class="d_inlinecode donthyphenate notranslate">threadgroup</span></a></li><li>    <a href="core_thread_types.html" title="core.thread.types"><span class="d_inlinecode donthyphenate notranslate">types</span></a>
  131   </li></ul></li><li>  <a href="core_time.html" title="core.time"><span class="d_inlinecode donthyphenate notranslate">time</span></a></li><li>  <a href="core_vararg.html" title="core.vararg"><span class="d_inlinecode donthyphenate notranslate">vararg</span></a></li><li>  <a href="core_volatile.html" title="core.volatile"><span class="d_inlinecode donthyphenate notranslate">volatile</span></a>
  132 </li></ul>
  133 </li>
  134 <div class="modlist-internal-separator">Internal API</div>
  135 
  136 <li class='expand-container modlist-submenu-core'><a class='expand-toggle' href='#'><span><em class="tt">core</em></span></a>
  137 <ul><li>  <h7><span class="d_inlinecode donthyphenate notranslate">internal</span></h7><ul><li>    <h7><span class="d_inlinecode donthyphenate notranslate">array</span></h7><ul><li>      <a href="core_internal_array_appending.html" title="core.internal.array.appending"><span class="d_inlinecode donthyphenate notranslate">appending</span></a></li><li>      <a href="core_internal_array_capacity.html" title="core.internal.array.capacity"><span class="d_inlinecode donthyphenate notranslate">capacity</span></a></li><li>      <a href="core_internal_array_casting.html" title="core.internal.array.casting"><span class="d_inlinecode donthyphenate notranslate">casting</span></a></li><li>      <a href="core_internal_array_comparison.html" title="core.internal.array.comparison"><span class="d_inlinecode donthyphenate notranslate">comparison</span></a></li><li>      <a href="core_internal_array_concatenation.html" title="core.internal.array.concatenation"><span class="d_inlinecode donthyphenate notranslate">concatenation</span></a></li><li>      <a href="core_internal_array_construction.html" title="core.internal.array.construction"><span class="d_inlinecode donthyphenate notranslate">construction</span></a></li><li>      <a href="core_internal_array_equality.html" title="core.internal.array.equality"><span class="d_inlinecode donthyphenate notranslate">equality</span></a></li><li>      <a href="core_internal_array_operations.html" title="core.internal.array.operations"><span class="d_inlinecode donthyphenate notranslate">operations</span></a></li><li>      <a href="core_internal_array_utils.html" title="core.internal.array.utils"><span class="d_inlinecode donthyphenate notranslate">utils</span></a>
  138     </li></ul></li><li>    <h7><span class="d_inlinecode donthyphenate notranslate">util</span></h7><ul><li>      <a href="core_internal_util_array.html" title="core.internal.util.array"><span class="d_inlinecode donthyphenate notranslate">array</span></a>
  139     </li></ul>
  140   </li></ul>
  141 </li></ul>
  142 </li>
  143 
  144 <li class='expand-container modlist-submenu-dmd'><a class='expand-toggle' href='#'><span><em class="tt">dmd</em></span></a>
  145 <ul><li>  <a href="dmd_access.html" title="dmd.access"><span class="d_inlinecode donthyphenate notranslate">access</span></a></li><li>  <a href="dmd_aggregate.html" title="dmd.aggregate"><span class="d_inlinecode donthyphenate notranslate">aggregate</span></a></li><li>  <a href="dmd_aliasthis.html" title="dmd.aliasthis"><span class="d_inlinecode donthyphenate notranslate">aliasthis</span></a></li><li>  <a href="dmd_apply.html" title="dmd.apply"><span class="d_inlinecode donthyphenate notranslate">apply</span></a></li><li>  <a href="dmd_argtypes_aarch64.html" title="dmd.argtypes_aarch64"><span class="d_inlinecode donthyphenate notranslate">argtypes_aarch64</span></a></li><li>  <a href="dmd_argtypes_sysv_x64.html" title="dmd.argtypes_sysv_x64"><span class="d_inlinecode donthyphenate notranslate">argtypes_sysv_x64</span></a></li><li>  <a href="dmd_argtypes_x86.html" title="dmd.argtypes_x86"><span class="d_inlinecode donthyphenate notranslate">argtypes_x86</span></a></li><li>  <a href="dmd_arrayop.html" title="dmd.arrayop"><span class="d_inlinecode donthyphenate notranslate">arrayop</span></a></li><li>  <a href="dmd_arraytypes.html" title="dmd.arraytypes"><span class="d_inlinecode donthyphenate notranslate">arraytypes</span></a></li><li>  <a href="dmd_ast_node.html" title="dmd.ast_node"><span class="d_inlinecode donthyphenate notranslate">ast_node</span></a></li><li>  <a href="dmd_astbase.html" title="dmd.astbase"><span class="d_inlinecode donthyphenate notranslate">astbase</span></a></li><li>  <a href="dmd_astcodegen.html" title="dmd.astcodegen"><span class="d_inlinecode donthyphenate notranslate">astcodegen</span></a></li><li>  <a href="dmd_asttypename.html" title="dmd.asttypename"><span class="d_inlinecode donthyphenate notranslate">asttypename</span></a></li><li>  <a href="dmd_attrib.html" title="dmd.attrib"><span class="d_inlinecode donthyphenate notranslate">attrib</span></a></li><li>  <h7><span class="d_inlinecode donthyphenate notranslate">backend</span></h7><ul><li>    <a href="dmd_backend_aarray.html" title="dmd.backend.aarray"><span class="d_inlinecode donthyphenate notranslate">aarray</span></a></li><li>    <a href="dmd_backend_backconfig.html" title="dmd.backend.backconfig"><span class="d_inlinecode donthyphenate notranslate">backconfig</span></a></li><li>    <a href="dmd_backend_backend.html" title="dmd.backend.backend"><span class="d_inlinecode donthyphenate notranslate">backend</span></a></li><li>    <a href="dmd_backend_barray.html" title="dmd.backend.barray"><span class="d_inlinecode donthyphenate notranslate">barray</span></a></li><li>    <a href="dmd_backend_bcomplex.html" title="dmd.backend.bcomplex"><span class="d_inlinecode donthyphenate notranslate">bcomplex</span></a></li><li>    <a href="dmd_backend_blockopt.html" title="dmd.backend.blockopt"><span class="d_inlinecode donthyphenate notranslate">blockopt</span></a></li><li>    <a href="dmd_backend_cc.html" title="dmd.backend.cc"><span class="d_inlinecode donthyphenate notranslate">cc</span></a></li><li>    <a href="dmd_backend_cdef.html" title="dmd.backend.cdef"><span class="d_inlinecode donthyphenate notranslate">cdef</span></a></li><li>    <a href="dmd_backend_cg.html" title="dmd.backend.cg"><span class="d_inlinecode donthyphenate notranslate">cg</span></a></li><li>    <a href="dmd_backend_cg87.html" title="dmd.backend.cg87"><span class="d_inlinecode donthyphenate notranslate">cg87</span></a></li><li>    <a href="dmd_backend_cgcod.html" title="dmd.backend.cgcod"><span class="d_inlinecode donthyphenate notranslate">cgcod</span></a></li><li>    <a href="dmd_backend_cgcs.html" title="dmd.backend.cgcs"><span class="d_inlinecode donthyphenate notranslate">cgcs</span></a></li><li>    <a href="dmd_backend_cgcse.html" title="dmd.backend.cgcse"><span class="d_inlinecode donthyphenate notranslate">cgcse</span></a></li><li>    <a href="dmd_backend_cgcv.html" title="dmd.backend.cgcv"><span class="d_inlinecode donthyphenate notranslate">cgcv</span></a></li><li>    <a href="dmd_backend_cgelem.html" title="dmd.backend.cgelem"><span class="d_inlinecode donthyphenate notranslate">cgelem</span></a></li><li>    <a href="dmd_backend_cgen.html" title="dmd.backend.cgen"><span class="d_inlinecode donthyphenate notranslate">cgen</span></a></li><li>    <a href="dmd_backend_cgobj.html" title="dmd.backend.cgobj"><span class="d_inlinecode donthyphenate notranslate">cgobj</span></a></li><li>    <a href="dmd_backend_cgreg.html" title="dmd.backend.cgreg"><span class="d_inlinecode donthyphenate notranslate">cgreg</span></a></li><li>    <a href="dmd_backend_cgsched.html" title="dmd.backend.cgsched"><span class="d_inlinecode donthyphenate notranslate">cgsched</span></a></li><li>    <a href="dmd_backend_cgxmm.html" title="dmd.backend.cgxmm"><span class="d_inlinecode donthyphenate notranslate">cgxmm</span></a></li><li>    <a href="dmd_backend_cod1.html" title="dmd.backend.cod1"><span class="d_inlinecode donthyphenate notranslate">cod1</span></a></li><li>    <a href="dmd_backend_cod2.html" title="dmd.backend.cod2"><span class="d_inlinecode donthyphenate notranslate">cod2</span></a></li><li>    <a href="dmd_backend_cod3.html" title="dmd.backend.cod3"><span class="d_inlinecode donthyphenate notranslate">cod3</span></a></li><li>    <a href="dmd_backend_cod4.html" title="dmd.backend.cod4"><span class="d_inlinecode donthyphenate notranslate">cod4</span></a></li><li>    <a href="dmd_backend_cod5.html" title="dmd.backend.cod5"><span class="d_inlinecode donthyphenate notranslate">cod5</span></a></li><li>    <a href="dmd_backend_code.html" title="dmd.backend.code"><span class="d_inlinecode donthyphenate notranslate">code</span></a></li><li>    <a href="dmd_backend_code_x86.html" title="dmd.backend.code_x86"><span class="d_inlinecode donthyphenate notranslate">code_x86</span></a></li><li>    <a href="dmd_backend_codebuilder.html" title="dmd.backend.codebuilder"><span class="d_inlinecode donthyphenate notranslate">codebuilder</span></a></li><li>    <a href="dmd_backend_compress.html" title="dmd.backend.compress"><span class="d_inlinecode donthyphenate notranslate">compress</span></a></li><li>    <a href="dmd_backend_cv4.html" title="dmd.backend.cv4"><span class="d_inlinecode donthyphenate notranslate">cv4</span></a></li><li>    <a href="dmd_backend_cv8.html" title="dmd.backend.cv8"><span class="d_inlinecode donthyphenate notranslate">cv8</span></a></li><li>    <a href="dmd_backend_dcgcv.html" title="dmd.backend.dcgcv"><span class="d_inlinecode donthyphenate notranslate">dcgcv</span></a></li><li>    <a href="dmd_backend_dcode.html" title="dmd.backend.dcode"><span class="d_inlinecode donthyphenate notranslate">dcode</span></a></li><li>    <a href="dmd_backend_debugprint.html" title="dmd.backend.debugprint"><span class="d_inlinecode donthyphenate notranslate">debugprint</span></a></li><li>    <a href="dmd_backend_divcoeff.html" title="dmd.backend.divcoeff"><span class="d_inlinecode donthyphenate notranslate">divcoeff</span></a></li><li>    <a href="dmd_backend_dlist.html" title="dmd.backend.dlist"><span class="d_inlinecode donthyphenate notranslate">dlist</span></a></li><li>    <a href="dmd_backend_drtlsym.html" title="dmd.backend.drtlsym"><span class="d_inlinecode donthyphenate notranslate">drtlsym</span></a></li><li>    <a href="dmd_backend_dt.html" title="dmd.backend.dt"><span class="d_inlinecode donthyphenate notranslate">dt</span></a></li><li>    <a href="dmd_backend_dtype.html" title="dmd.backend.dtype"><span class="d_inlinecode donthyphenate notranslate">dtype</span></a></li><li>    <a href="dmd_backend_dvarstats.html" title="dmd.backend.dvarstats"><span class="d_inlinecode donthyphenate notranslate">dvarstats</span></a></li><li>    <a href="dmd_backend_dvec.html" title="dmd.backend.dvec"><span class="d_inlinecode donthyphenate notranslate">dvec</span></a></li><li>    <a href="dmd_backend_dwarf.html" title="dmd.backend.dwarf"><span class="d_inlinecode donthyphenate notranslate">dwarf</span></a></li><li>    <a href="dmd_backend_dwarf2.html" title="dmd.backend.dwarf2"><span class="d_inlinecode donthyphenate notranslate">dwarf2</span></a></li><li>    <a href="dmd_backend_dwarfdbginf.html" title="dmd.backend.dwarfdbginf"><span class="d_inlinecode donthyphenate notranslate">dwarfdbginf</span></a></li><li>    <a href="dmd_backend_dwarfeh.html" title="dmd.backend.dwarfeh"><span class="d_inlinecode donthyphenate notranslate">dwarfeh</span></a></li><li>    <a href="dmd_backend_ee.html" title="dmd.backend.ee"><span class="d_inlinecode donthyphenate notranslate">ee</span></a></li><li>    <a href="dmd_backend_el.html" title="dmd.backend.el"><span class="d_inlinecode donthyphenate notranslate">el</span></a></li><li>    <a href="dmd_backend_elem.html" title="dmd.backend.elem"><span class="d_inlinecode donthyphenate notranslate">elem</span></a></li><li>    <a href="dmd_backend_elfobj.html" title="dmd.backend.elfobj"><span class="d_inlinecode donthyphenate notranslate">elfobj</span></a></li><li>    <a href="dmd_backend_elpicpie.html" title="dmd.backend.elpicpie"><span class="d_inlinecode donthyphenate notranslate">elpicpie</span></a></li><li>    <a href="dmd_backend_evalu8.html" title="dmd.backend.evalu8"><span class="d_inlinecode donthyphenate notranslate">evalu8</span></a></li><li>    <a href="dmd_backend_exh.html" title="dmd.backend.exh"><span class="d_inlinecode donthyphenate notranslate">exh</span></a></li><li>    <a href="dmd_backend_filespec.html" title="dmd.backend.filespec"><span class="d_inlinecode donthyphenate notranslate">filespec</span></a></li><li>    <a href="dmd_backend_fp.html" title="dmd.backend.fp"><span class="d_inlinecode donthyphenate notranslate">fp</span></a></li><li>    <a href="dmd_backend_gdag.html" title="dmd.backend.gdag"><span class="d_inlinecode donthyphenate notranslate">gdag</span></a></li><li>    <a href="dmd_backend_gflow.html" title="dmd.backend.gflow"><span class="d_inlinecode donthyphenate notranslate">gflow</span></a></li><li>    <a href="dmd_backend_global.html" title="dmd.backend.global"><span class="d_inlinecode donthyphenate notranslate">global</span></a></li><li>    <a href="dmd_backend_glocal.html" title="dmd.backend.glocal"><span class="d_inlinecode donthyphenate notranslate">glocal</span></a></li><li>    <a href="dmd_backend_gloop.html" title="dmd.backend.gloop"><span class="d_inlinecode donthyphenate notranslate">gloop</span></a></li><li>    <a href="dmd_backend_go.html" title="dmd.backend.go"><span class="d_inlinecode donthyphenate notranslate">go</span></a></li><li>    <a href="dmd_backend_goh.html" title="dmd.backend.goh"><span class="d_inlinecode donthyphenate notranslate">goh</span></a></li><li>    <a href="dmd_backend_gother.html" title="dmd.backend.gother"><span class="d_inlinecode donthyphenate notranslate">gother</span></a></li><li>    <a href="dmd_backend_gsroa.html" title="dmd.backend.gsroa"><span class="d_inlinecode donthyphenate notranslate">gsroa</span></a></li><li>    <a href="dmd_backend_iasm.html" title="dmd.backend.iasm"><span class="d_inlinecode donthyphenate notranslate">iasm</span></a></li><li>    <a href="dmd_backend_mach.html" title="dmd.backend.mach"><span class="d_inlinecode donthyphenate notranslate">mach</span></a></li><li>    <a href="dmd_backend_machobj.html" title="dmd.backend.machobj"><span class="d_inlinecode donthyphenate notranslate">machobj</span></a></li><li>    <a href="dmd_backend_md5.html" title="dmd.backend.md5"><span class="d_inlinecode donthyphenate notranslate">md5</span></a></li><li>    <a href="dmd_backend_melf.html" title="dmd.backend.melf"><span class="d_inlinecode donthyphenate notranslate">melf</span></a></li><li>    <a href="dmd_backend_mem.html" title="dmd.backend.mem"><span class="d_inlinecode donthyphenate notranslate">mem</span></a></li><li>    <a href="dmd_backend_mscoff.html" title="dmd.backend.mscoff"><span class="d_inlinecode donthyphenate notranslate">mscoff</span></a></li><li>    <a href="dmd_backend_mscoffobj.html" title="dmd.backend.mscoffobj"><span class="d_inlinecode donthyphenate notranslate">mscoffobj</span></a></li><li>    <a href="dmd_backend_newman.html" title="dmd.backend.newman"><span class="d_inlinecode donthyphenate notranslate">newman</span></a></li><li>    <a href="dmd_backend_nteh.html" title="dmd.backend.nteh"><span class="d_inlinecode donthyphenate notranslate">nteh</span></a></li><li>    <a href="dmd_backend_obj.html" title="dmd.backend.obj"><span class="d_inlinecode donthyphenate notranslate">obj</span></a></li><li>    <a href="dmd_backend_oper.html" title="dmd.backend.oper"><span class="d_inlinecode donthyphenate notranslate">oper</span></a></li><li>    <a href="dmd_backend_os.html" title="dmd.backend.os"><span class="d_inlinecode donthyphenate notranslate">os</span></a></li><li>    <a href="dmd_backend_out.html" title="dmd.backend.out"><span class="d_inlinecode donthyphenate notranslate">out</span></a></li><li>    <a href="dmd_backend_outbuf.html" title="dmd.backend.outbuf"><span class="d_inlinecode donthyphenate notranslate">outbuf</span></a></li><li>    <a href="dmd_backend_pdata.html" title="dmd.backend.pdata"><span class="d_inlinecode donthyphenate notranslate">pdata</span></a></li><li>    <a href="dmd_backend_ph2.html" title="dmd.backend.ph2"><span class="d_inlinecode donthyphenate notranslate">ph2</span></a></li><li>    <a href="dmd_backend_ptrntab.html" title="dmd.backend.ptrntab"><span class="d_inlinecode donthyphenate notranslate">ptrntab</span></a></li><li>    <a href="dmd_backend_rtlsym.html" title="dmd.backend.rtlsym"><span class="d_inlinecode donthyphenate notranslate">rtlsym</span></a></li><li>    <a href="dmd_backend_symbol.html" title="dmd.backend.symbol"><span class="d_inlinecode donthyphenate notranslate">symbol</span></a></li><li>    <a href="dmd_backend_ty.html" title="dmd.backend.ty"><span class="d_inlinecode donthyphenate notranslate">ty</span></a></li><li>    <a href="dmd_backend_type.html" title="dmd.backend.type"><span class="d_inlinecode donthyphenate notranslate">type</span></a></li><li>    <a href="dmd_backend_util2.html" title="dmd.backend.util2"><span class="d_inlinecode donthyphenate notranslate">util2</span></a></li><li>    <a href="dmd_backend_var.html" title="dmd.backend.var"><span class="d_inlinecode donthyphenate notranslate">var</span></a></li><li>    <a href="dmd_backend_xmm.html" title="dmd.backend.xmm"><span class="d_inlinecode donthyphenate notranslate">xmm</span></a>
  146   </li></ul></li><li>  <a href="dmd_blockexit.html" title="dmd.blockexit"><span class="d_inlinecode donthyphenate notranslate">blockexit</span></a></li><li>  <a href="dmd_builtin.html" title="dmd.builtin"><span class="d_inlinecode donthyphenate notranslate">builtin</span></a></li><li>  <a href="dmd_canthrow.html" title="dmd.canthrow"><span class="d_inlinecode donthyphenate notranslate">canthrow</span></a></li><li>  <a href="dmd_chkformat.html" title="dmd.chkformat"><span class="d_inlinecode donthyphenate notranslate">chkformat</span></a></li><li>  <a href="dmd_cli.html" title="dmd.cli"><span class="d_inlinecode donthyphenate notranslate">cli</span></a></li><li>  <a href="dmd_clone.html" title="dmd.clone"><span class="d_inlinecode donthyphenate notranslate">clone</span></a></li><li>  <a href="dmd_compiler.html" title="dmd.compiler"><span class="d_inlinecode donthyphenate notranslate">compiler</span></a></li><li>  <a href="dmd_complex.html" title="dmd.complex"><span class="d_inlinecode donthyphenate notranslate">complex</span></a></li><li>  <a href="dmd_cond.html" title="dmd.cond"><span class="d_inlinecode donthyphenate notranslate">cond</span></a></li><li>  <a href="dmd_console.html" title="dmd.console"><span class="d_inlinecode donthyphenate notranslate">console</span></a></li><li>  <a href="dmd_constfold.html" title="dmd.constfold"><span class="d_inlinecode donthyphenate notranslate">constfold</span></a></li><li>  <a href="dmd_cppmangle.html" title="dmd.cppmangle"><span class="d_inlinecode donthyphenate notranslate">cppmangle</span></a></li><li>  <a href="dmd_cppmanglewin.html" title="dmd.cppmanglewin"><span class="d_inlinecode donthyphenate notranslate">cppmanglewin</span></a></li><li>  <a href="dmd_ctfeexpr.html" title="dmd.ctfeexpr"><span class="d_inlinecode donthyphenate notranslate">ctfeexpr</span></a></li><li>  <a href="dmd_ctorflow.html" title="dmd.ctorflow"><span class="d_inlinecode donthyphenate notranslate">ctorflow</span></a></li><li>  <a href="dmd_dcast.html" title="dmd.dcast"><span class="d_inlinecode donthyphenate notranslate">dcast</span></a></li><li>  <a href="dmd_dclass.html" title="dmd.dclass"><span class="d_inlinecode donthyphenate notranslate">dclass</span></a></li><li>  <a href="dmd_declaration.html" title="dmd.declaration"><span class="d_inlinecode donthyphenate notranslate">declaration</span></a></li><li>  <a href="dmd_delegatize.html" title="dmd.delegatize"><span class="d_inlinecode donthyphenate notranslate">delegatize</span></a></li><li>  <a href="dmd_denum.html" title="dmd.denum"><span class="d_inlinecode donthyphenate notranslate">denum</span></a></li><li>  <a href="dmd_dimport.html" title="dmd.dimport"><span class="d_inlinecode donthyphenate notranslate">dimport</span></a></li><li>  <a href="dmd_dinifile.html" title="dmd.dinifile"><span class="d_inlinecode donthyphenate notranslate">dinifile</span></a></li><li>  <a href="dmd_dinterpret.html" title="dmd.dinterpret"><span class="d_inlinecode donthyphenate notranslate">dinterpret</span></a></li><li>  <a href="dmd_dmacro.html" title="dmd.dmacro"><span class="d_inlinecode donthyphenate notranslate">dmacro</span></a></li><li>  <a href="dmd_dmangle.html" title="dmd.dmangle"><span class="d_inlinecode donthyphenate notranslate">dmangle</span></a></li><li>  <a href="dmd_dmodule.html" title="dmd.dmodule"><span class="d_inlinecode donthyphenate notranslate">dmodule</span></a></li><li>  <a href="dmd_dmsc.html" title="dmd.dmsc"><span class="d_inlinecode donthyphenate notranslate">dmsc</span></a></li><li>  <a href="dmd_doc.html" title="dmd.doc"><span class="d_inlinecode donthyphenate notranslate">doc</span></a></li><li>  <a href="dmd_dscope.html" title="dmd.dscope"><span class="d_inlinecode donthyphenate notranslate">dscope</span></a></li><li>  <a href="dmd_dstruct.html" title="dmd.dstruct"><span class="d_inlinecode donthyphenate notranslate">dstruct</span></a></li><li>  <a href="dmd_dsymbol.html" title="dmd.dsymbol"><span class="d_inlinecode donthyphenate notranslate">dsymbol</span></a></li><li>  <a href="dmd_dsymbolsem.html" title="dmd.dsymbolsem"><span class="d_inlinecode donthyphenate notranslate">dsymbolsem</span></a></li><li>  <a href="dmd_dtemplate.html" title="dmd.dtemplate"><span class="d_inlinecode donthyphenate notranslate">dtemplate</span></a></li><li>  <a href="dmd_dtoh.html" title="dmd.dtoh"><span class="d_inlinecode donthyphenate notranslate">dtoh</span></a></li><li>  <a href="dmd_dversion.html" title="dmd.dversion"><span class="d_inlinecode donthyphenate notranslate">dversion</span></a></li><li>  <a href="dmd_e2ir.html" title="dmd.e2ir"><span class="d_inlinecode donthyphenate notranslate">e2ir</span></a></li><li>  <a href="dmd_eh.html" title="dmd.eh"><span class="d_inlinecode donthyphenate notranslate">eh</span></a></li><li>  <a href="dmd_entity.html" title="dmd.entity"><span class="d_inlinecode donthyphenate notranslate">entity</span></a></li><li>  <a href="dmd_env.html" title="dmd.env"><span class="d_inlinecode donthyphenate notranslate">env</span></a></li><li>  <a href="dmd_errors.html" title="dmd.errors"><span class="d_inlinecode donthyphenate notranslate">errors</span></a></li><li>  <a href="dmd_escape.html" title="dmd.escape"><span class="d_inlinecode donthyphenate notranslate">escape</span></a></li><li>  <a href="dmd_expression.html" title="dmd.expression"><span class="d_inlinecode donthyphenate notranslate">expression</span></a></li><li>  <a href="dmd_expressionsem.html" title="dmd.expressionsem"><span class="d_inlinecode donthyphenate notranslate">expressionsem</span></a></li><li>  <a href="dmd_filecache.html" title="dmd.filecache"><span class="d_inlinecode donthyphenate notranslate">filecache</span></a></li><li>  <a href="dmd_foreachvar.html" title="dmd.foreachvar"><span class="d_inlinecode donthyphenate notranslate">foreachvar</span></a></li><li>  <a href="dmd_frontend.html" title="dmd.frontend"><span class="d_inlinecode donthyphenate notranslate">frontend</span></a></li><li>  <a href="dmd_func.html" title="dmd.func"><span class="d_inlinecode donthyphenate notranslate">func</span></a></li><li>  <a href="dmd_globals.html" title="dmd.globals"><span class="d_inlinecode donthyphenate notranslate">globals</span></a></li><li>  <a href="dmd_glue.html" title="dmd.glue"><span class="d_inlinecode donthyphenate notranslate">glue</span></a></li><li>  <a href="dmd_gluelayer.html" title="dmd.gluelayer"><span class="d_inlinecode donthyphenate notranslate">gluelayer</span></a></li><li>  <a href="dmd_hdrgen.html" title="dmd.hdrgen"><span class="d_inlinecode donthyphenate notranslate">hdrgen</span></a></li><li>  <a href="dmd_iasm.html" title="dmd.iasm"><span class="d_inlinecode donthyphenate notranslate">iasm</span></a></li><li>  <a href="dmd_iasmdmd.html" title="dmd.iasmdmd"><span class="d_inlinecode donthyphenate notranslate">iasmdmd</span></a></li><li>  <a href="dmd_iasmgcc.html" title="dmd.iasmgcc"><span class="d_inlinecode donthyphenate notranslate">iasmgcc</span></a></li><li>  <a href="dmd_id.html" title="dmd.id"><span class="d_inlinecode donthyphenate notranslate">id</span></a></li><li>  <a href="dmd_identifier.html" title="dmd.identifier"><span class="d_inlinecode donthyphenate notranslate">identifier</span></a></li><li>  <a href="dmd_impcnvtab.html" title="dmd.impcnvtab"><span class="d_inlinecode donthyphenate notranslate">impcnvtab</span></a></li><li>  <a href="dmd_imphint.html" title="dmd.imphint"><span class="d_inlinecode donthyphenate notranslate">imphint</span></a></li><li>  <a href="dmd_init.html" title="dmd.init"><span class="d_inlinecode donthyphenate notranslate">init</span></a></li><li>  <a href="dmd_initsem.html" title="dmd.initsem"><span class="d_inlinecode donthyphenate notranslate">initsem</span></a></li><li>  <a href="dmd_inline.html" title="dmd.inline"><span class="d_inlinecode donthyphenate notranslate">inline</span></a></li><li>  <a href="dmd_inlinecost.html" title="dmd.inlinecost"><span class="d_inlinecode donthyphenate notranslate">inlinecost</span></a></li><li>  <a href="dmd_intrange.html" title="dmd.intrange"><span class="d_inlinecode donthyphenate notranslate">intrange</span></a></li><li>  <a href="dmd_json.html" title="dmd.json"><span class="d_inlinecode donthyphenate notranslate">json</span></a></li><li>  <a href="dmd_lambdacomp.html" title="dmd.lambdacomp"><span class="d_inlinecode donthyphenate notranslate">lambdacomp</span></a></li><li>  <a href="dmd_lexer.html" title="dmd.lexer"><span class="d_inlinecode donthyphenate notranslate">lexer</span></a></li><li>  <a href="dmd_lib.html" title="dmd.lib"><span class="d_inlinecode donthyphenate notranslate">lib</span></a></li><li>  <a href="dmd_libelf.html" title="dmd.libelf"><span class="d_inlinecode donthyphenate notranslate">libelf</span></a></li><li>  <a href="dmd_libomf.html" title="dmd.libomf"><span class="d_inlinecode donthyphenate notranslate">libomf</span></a></li><li>  <a href="dmd_link.html" title="dmd.link"><span class="d_inlinecode donthyphenate notranslate">link</span></a></li><li>  <a href="dmd_mars.html" title="dmd.mars"><span class="d_inlinecode donthyphenate notranslate">mars</span></a></li><li>  <a href="dmd_mtype.html" title="dmd.mtype"><span class="d_inlinecode donthyphenate notranslate">mtype</span></a></li><li>  <a href="dmd_nogc.html" title="dmd.nogc"><span class="d_inlinecode donthyphenate notranslate">nogc</span></a></li><li>  <a href="dmd_nspace.html" title="dmd.nspace"><span class="d_inlinecode donthyphenate notranslate">nspace</span></a></li><li>  <a href="dmd_ob.html" title="dmd.ob"><span class="d_inlinecode donthyphenate notranslate">ob</span></a></li><li>  <a href="dmd_objc.html" title="dmd.objc"><span class="d_inlinecode donthyphenate notranslate">objc</span></a></li><li>  <a href="dmd_objc_glue.html" title="dmd.objc_glue"><span class="d_inlinecode donthyphenate notranslate">objc_glue</span></a></li><li>  <a href="dmd_opover.html" title="dmd.opover"><span class="d_inlinecode donthyphenate notranslate">opover</span></a></li><li>  <a href="dmd_optimize.html" title="dmd.optimize"><span class="d_inlinecode donthyphenate notranslate">optimize</span></a></li><li>  <a href="dmd_parse.html" title="dmd.parse"><span class="d_inlinecode donthyphenate notranslate">parse</span></a></li><li>  <a href="dmd_parsetimevisitor.html" title="dmd.parsetimevisitor"><span class="d_inlinecode donthyphenate notranslate">parsetimevisitor</span></a></li><li>  <a href="dmd_permissivevisitor.html" title="dmd.permissivevisitor"><span class="d_inlinecode donthyphenate notranslate">permissivevisitor</span></a></li><li>  <a href="dmd_printast.html" title="dmd.printast"><span class="d_inlinecode donthyphenate notranslate">printast</span></a></li><li>  <h7><span class="d_inlinecode donthyphenate notranslate">root</span></h7><ul><li>    <a href="dmd_root_aav.html" title="dmd.root.aav"><span class="d_inlinecode donthyphenate notranslate">aav</span></a></li><li>    <a href="dmd_root_array.html" title="dmd.root.array"><span class="d_inlinecode donthyphenate notranslate">array</span></a></li><li>    <a href="dmd_root_bitarray.html" title="dmd.root.bitarray"><span class="d_inlinecode donthyphenate notranslate">bitarray</span></a></li><li>    <a href="dmd_root_ctfloat.html" title="dmd.root.ctfloat"><span class="d_inlinecode donthyphenate notranslate">ctfloat</span></a></li><li>    <a href="dmd_root_file.html" title="dmd.root.file"><span class="d_inlinecode donthyphenate notranslate">file</span></a></li><li>    <a href="dmd_root_filename.html" title="dmd.root.filename"><span class="d_inlinecode donthyphenate notranslate">filename</span></a></li><li>    <a href="dmd_root_hash.html" title="dmd.root.hash"><span class="d_inlinecode donthyphenate notranslate">hash</span></a></li><li>    <a href="dmd_root_longdouble.html" title="dmd.root.longdouble"><span class="d_inlinecode donthyphenate notranslate">longdouble</span></a></li><li>    <a href="dmd_root_man.html" title="dmd.root.man"><span class="d_inlinecode donthyphenate notranslate">man</span></a></li><li>    <a href="dmd_root_outbuffer.html" title="dmd.root.outbuffer"><span class="d_inlinecode donthyphenate notranslate">outbuffer</span></a></li><li>    <a href="dmd_root_port.html" title="dmd.root.port"><span class="d_inlinecode donthyphenate notranslate">port</span></a></li><li>    <a href="dmd_root_region.html" title="dmd.root.region"><span class="d_inlinecode donthyphenate notranslate">region</span></a></li><li>    <a href="dmd_root_response.html" title="dmd.root.response"><span class="d_inlinecode donthyphenate notranslate">response</span></a></li><li>    <a href="dmd_root_rmem.html" title="dmd.root.rmem"><span class="d_inlinecode donthyphenate notranslate">rmem</span></a></li><li>    <a href="dmd_root_rootobject.html" title="dmd.root.rootobject"><span class="d_inlinecode donthyphenate notranslate">rootobject</span></a></li><li>    <a href="dmd_root_speller.html" title="dmd.root.speller"><span class="d_inlinecode donthyphenate notranslate">speller</span></a></li><li>    <a href="dmd_root_string.html" title="dmd.root.string"><span class="d_inlinecode donthyphenate notranslate">string</span></a></li><li>    <a href="dmd_root_stringtable.html" title="dmd.root.stringtable"><span class="d_inlinecode donthyphenate notranslate">stringtable</span></a></li><li>    <a href="dmd_root_strtold.html" title="dmd.root.strtold"><span class="d_inlinecode donthyphenate notranslate">strtold</span></a>
  147   </li></ul></li><li>  <a href="dmd_s2ir.html" title="dmd.s2ir"><span class="d_inlinecode donthyphenate notranslate">s2ir</span></a></li><li>  <a href="dmd_safe.html" title="dmd.safe"><span class="d_inlinecode donthyphenate notranslate">safe</span></a></li><li>  <a href="dmd_sapply.html" title="dmd.sapply"><span class="d_inlinecode donthyphenate notranslate">sapply</span></a></li><li>  <a href="dmd_scanelf.html" title="dmd.scanelf"><span class="d_inlinecode donthyphenate notranslate">scanelf</span></a></li><li>  <a href="dmd_scanomf.html" title="dmd.scanomf"><span class="d_inlinecode donthyphenate notranslate">scanomf</span></a></li><li>  <a href="dmd_semantic2.html" title="dmd.semantic2"><span class="d_inlinecode donthyphenate notranslate">semantic2</span></a></li><li>  <a href="dmd_semantic3.html" title="dmd.semantic3"><span class="d_inlinecode donthyphenate notranslate">semantic3</span></a></li><li>  <a href="dmd_sideeffect.html" title="dmd.sideeffect"><span class="d_inlinecode donthyphenate notranslate">sideeffect</span></a></li><li>  <a href="dmd_statement.html" title="dmd.statement"><span class="d_inlinecode donthyphenate notranslate">statement</span></a></li><li>  <a href="dmd_statement_rewrite_walker.html" title="dmd.statement_rewrite_walker"><span class="d_inlinecode donthyphenate notranslate">statement_rewrite_walker</span></a></li><li>  <a href="dmd_statementsem.html" title="dmd.statementsem"><span class="d_inlinecode donthyphenate notranslate">statementsem</span></a></li><li>  <a href="dmd_staticassert.html" title="dmd.staticassert"><span class="d_inlinecode donthyphenate notranslate">staticassert</span></a></li><li>  <a href="dmd_staticcond.html" title="dmd.staticcond"><span class="d_inlinecode donthyphenate notranslate">staticcond</span></a></li><li>  <a href="dmd_stmtstate.html" title="dmd.stmtstate"><span class="d_inlinecode donthyphenate notranslate">stmtstate</span></a></li><li>  <a href="dmd_strictvisitor.html" title="dmd.strictvisitor"><span class="d_inlinecode donthyphenate notranslate">strictvisitor</span></a></li><li>  <a href="dmd_target.html" title="dmd.target"><span class="d_inlinecode donthyphenate notranslate">target</span></a></li><li>  <a href="dmd_templateparamsem.html" title="dmd.templateparamsem"><span class="d_inlinecode donthyphenate notranslate">templateparamsem</span></a></li><li>  <a href="dmd_tocsym.html" title="dmd.tocsym"><span class="d_inlinecode donthyphenate notranslate">tocsym</span></a></li><li>  <a href="dmd_toctype.html" title="dmd.toctype"><span class="d_inlinecode donthyphenate notranslate">toctype</span></a></li><li>  <a href="dmd_tocvdebug.html" title="dmd.tocvdebug"><span class="d_inlinecode donthyphenate notranslate">tocvdebug</span></a></li><li>  <a href="dmd_todt.html" title="dmd.todt"><span class="d_inlinecode donthyphenate notranslate">todt</span></a></li><li>  <a href="dmd_toir.html" title="dmd.toir"><span class="d_inlinecode donthyphenate notranslate">toir</span></a></li><li>  <a href="dmd_tokens.html" title="dmd.tokens"><span class="d_inlinecode donthyphenate notranslate">tokens</span></a></li><li>  <a href="dmd_toobj.html" title="dmd.toobj"><span class="d_inlinecode donthyphenate notranslate">toobj</span></a></li><li>  <a href="dmd_traits.html" title="dmd.traits"><span class="d_inlinecode donthyphenate notranslate">traits</span></a></li><li>  <a href="dmd_transitivevisitor.html" title="dmd.transitivevisitor"><span class="d_inlinecode donthyphenate notranslate">transitivevisitor</span></a></li><li>  <a href="dmd_typesem.html" title="dmd.typesem"><span class="d_inlinecode donthyphenate notranslate">typesem</span></a></li><li>  <a href="dmd_typinf.html" title="dmd.typinf"><span class="d_inlinecode donthyphenate notranslate">typinf</span></a></li><li>  <a href="dmd_utf.html" title="dmd.utf"><span class="d_inlinecode donthyphenate notranslate">utf</span></a></li><li>  <a href="dmd_utils.html" title="dmd.utils"><span class="d_inlinecode donthyphenate notranslate">utils</span></a></li><li>  <a href="dmd_visitor.html" title="dmd.visitor"><span class="d_inlinecode donthyphenate notranslate">visitor</span></a></li><li>  <a href="dmd_vsoptions.html" title="dmd.vsoptions"><span class="d_inlinecode donthyphenate notranslate">vsoptions</span></a>
  148 </li></ul>
  149 </li>
  150 
  151 <li class='expand-container modlist-submenu-rt'><a class='expand-toggle' href='#'><span><em class="tt">rt</em></span></a>
  152 <ul><li>  <a href="rt_aApply.html" title="rt.aApply"><span class="d_inlinecode donthyphenate notranslate">aApply</span></a></li><li>  <a href="rt_aApplyR.html" title="rt.aApplyR"><span class="d_inlinecode donthyphenate notranslate">aApplyR</span></a></li><li>  <a href="rt_aaA.html" title="rt.aaA"><span class="d_inlinecode donthyphenate notranslate">aaA</span></a></li><li>  <a href="rt_adi.html" title="rt.adi"><span class="d_inlinecode donthyphenate notranslate">adi</span></a></li><li>  <a href="rt_alloca.html" title="rt.alloca"><span class="d_inlinecode donthyphenate notranslate">alloca</span></a></li><li>  <a href="rt_arrayassign.html" title="rt.arrayassign"><span class="d_inlinecode donthyphenate notranslate">arrayassign</span></a></li><li>  <a href="rt_arraycat.html" title="rt.arraycat"><span class="d_inlinecode donthyphenate notranslate">arraycat</span></a></li><li>  <h7><span class="d_inlinecode donthyphenate notranslate">backtrace</span></h7><ul><li>    <a href="rt_backtrace_dwarf.html" title="rt.backtrace.dwarf"><span class="d_inlinecode donthyphenate notranslate">dwarf</span></a></li><li>    <a href="rt_backtrace_elf.html" title="rt.backtrace.elf"><span class="d_inlinecode donthyphenate notranslate">elf</span></a></li><li>    <a href="rt_backtrace_macho.html" title="rt.backtrace.macho"><span class="d_inlinecode donthyphenate notranslate">macho</span></a>
  153   </li></ul></li><li>  <a href="rt_cast_.html" title="rt.cast_"><span class="d_inlinecode donthyphenate notranslate">cast_</span></a></li><li>  <a href="rt_cmath2.html" title="rt.cmath2"><span class="d_inlinecode donthyphenate notranslate">cmath2</span></a></li><li>  <a href="rt_config.html" title="rt.config"><span class="d_inlinecode donthyphenate notranslate">config</span></a></li><li>  <a href="rt_cover.html" title="rt.cover"><span class="d_inlinecode donthyphenate notranslate">cover</span></a></li><li>  <a href="rt_critical_.html" title="rt.critical_"><span class="d_inlinecode donthyphenate notranslate">critical_</span></a></li><li>  <a href="rt_deh.html" title="rt.deh"><span class="d_inlinecode donthyphenate notranslate">deh</span></a></li><li>  <a href="rt_deh_win32.html" title="rt.deh_win32"><span class="d_inlinecode donthyphenate notranslate">deh_win32</span></a></li><li>  <a href="rt_deh_win64_posix.html" title="rt.deh_win64_posix"><span class="d_inlinecode donthyphenate notranslate">deh_win64_posix</span></a></li><li>  <a href="rt_dmain2.html" title="rt.dmain2"><span class="d_inlinecode donthyphenate notranslate">dmain2</span></a></li><li>  <a href="rt_dwarfeh.html" title="rt.dwarfeh"><span class="d_inlinecode donthyphenate notranslate">dwarfeh</span></a></li><li>  <a href="rt_ehalloc.html" title="rt.ehalloc"><span class="d_inlinecode donthyphenate notranslate">ehalloc</span></a></li><li>  <a href="rt_invariant.html" title="rt.invariant"><span class="d_inlinecode donthyphenate notranslate">invariant</span></a></li><li>  <a href="rt_lifetime.html" title="rt.lifetime"><span class="d_inlinecode donthyphenate notranslate">lifetime</span></a></li><li>  <a href="rt_llmath.html" title="rt.llmath"><span class="d_inlinecode donthyphenate notranslate">llmath</span></a></li><li>  <a href="rt_memory.html" title="rt.memory"><span class="d_inlinecode donthyphenate notranslate">memory</span></a></li><li>  <a href="rt_memset.html" title="rt.memset"><span class="d_inlinecode donthyphenate notranslate">memset</span></a></li><li>  <a href="rt_minfo.html" title="rt.minfo"><span class="d_inlinecode donthyphenate notranslate">minfo</span></a></li><li>  <a href="rt_monitor_.html" title="rt.monitor_"><span class="d_inlinecode donthyphenate notranslate">monitor_</span></a></li><li>  <a href="rt_profilegc.html" title="rt.profilegc"><span class="d_inlinecode donthyphenate notranslate">profilegc</span></a></li><li>  <a href="rt_qsort.html" title="rt.qsort"><span class="d_inlinecode donthyphenate notranslate">qsort</span></a></li><li>  <a href="rt_sections.html" title="rt.sections"><span class="d_inlinecode donthyphenate notranslate">sections</span></a></li><li>  <a href="rt_sections_android.html" title="rt.sections_android"><span class="d_inlinecode donthyphenate notranslate">sections_android</span></a></li><li>  <a href="rt_sections_darwin_64.html" title="rt.sections_darwin_64"><span class="d_inlinecode donthyphenate notranslate">sections_darwin_64</span></a></li><li>  <a href="rt_sections_elf_shared.html" title="rt.sections_elf_shared"><span class="d_inlinecode donthyphenate notranslate">sections_elf_shared</span></a></li><li>  <a href="rt_sections_osx_x86.html" title="rt.sections_osx_x86"><span class="d_inlinecode donthyphenate notranslate">sections_osx_x86</span></a></li><li>  <a href="rt_sections_osx_x86_64.html" title="rt.sections_osx_x86_64"><span class="d_inlinecode donthyphenate notranslate">sections_osx_x86_64</span></a></li><li>  <a href="rt_sections_solaris.html" title="rt.sections_solaris"><span class="d_inlinecode donthyphenate notranslate">sections_solaris</span></a></li><li>  <a href="rt_sections_win32.html" title="rt.sections_win32"><span class="d_inlinecode donthyphenate notranslate">sections_win32</span></a></li><li>  <a href="rt_sections_win64.html" title="rt.sections_win64"><span class="d_inlinecode donthyphenate notranslate">sections_win64</span></a></li><li>  <a href="rt_tlsgc.html" title="rt.tlsgc"><span class="d_inlinecode donthyphenate notranslate">tlsgc</span></a></li><li>  <a href="rt_trace.html" title="rt.trace"><span class="d_inlinecode donthyphenate notranslate">trace</span></a></li><li>  <a href="rt_tracegc.html" title="rt.tracegc"><span class="d_inlinecode donthyphenate notranslate">tracegc</span></a></li><li>  <a href="rt_unwind.html" title="rt.unwind"><span class="d_inlinecode donthyphenate notranslate">unwind</span></a></li><li>  <h7><span class="d_inlinecode donthyphenate notranslate">util</span></h7><ul><li>    <h7><span class="d_inlinecode donthyphenate notranslate">container</span></h7><ul><li>      <a href="rt_util_container_array.html" title="rt.util.container.array"><span class="d_inlinecode donthyphenate notranslate">array</span></a></li><li>      <a href="rt_util_container_common.html" title="rt.util.container.common"><span class="d_inlinecode donthyphenate notranslate">common</span></a></li><li>      <a href="rt_util_container_hashtab.html" title="rt.util.container.hashtab"><span class="d_inlinecode donthyphenate notranslate">hashtab</span></a></li><li>      <a href="rt_util_container_treap.html" title="rt.util.container.treap"><span class="d_inlinecode donthyphenate notranslate">treap</span></a>
  154     </li></ul></li><li>    <a href="rt_util_random.html" title="rt.util.random"><span class="d_inlinecode donthyphenate notranslate">random</span></a></li><li>    <a href="rt_util_typeinfo.html" title="rt.util.typeinfo"><span class="d_inlinecode donthyphenate notranslate">typeinfo</span></a></li><li>    <a href="rt_util_utility.html" title="rt.util.utility"><span class="d_inlinecode donthyphenate notranslate">utility</span></a>
  155   </li></ul>
  156 </li></ul>
  157 </li></ul>
  158 </div>
  159     <div class="hyphenate" id="content">        
  160 <div id="tools"><div >  <div class="tip smallprint">        <a href="https://issues.dlang.org/enter_bug.cgi?bug_file_loc=http%3A%2F%2Fdlang.org/phobos/&amp;component=druntime&amp;op_sys=All&amp;priority=P3&amp;product=D&amp;rep_platform=All&amp;short_desc=%5Bcore.time%5D&amp;version=D2&amp;bug_severity=enhancement">Report a bug</a>
  161         <div >          If you spot a problem with this page, click here to create a Bugzilla issue.
  162         </div>
  163     </div>
  164     <div class="tip smallprint">        <a href="https://github.com/dlang/druntime/edit/master/src/core/time.d">Improve this page</a>
  165         <div >          Quickly fork, edit online, and submit a pull request for this page.
  166             Requires a signed-in GitHub account. This works well for small changes.
  167             If you'd like to make larger changes you may want to consider using
  168             a local clone.
  169         </div>
  170     </div>
  171 </div></div>
  172         <h1><span class="d_title">core.time</span></h1>
  173         <div class="quickindex" id="quickindex"></div>
  174         <div class="summary">Module containing core time functionality, such as <a href="#Duration"><span class="d_inlinecode donthyphenate notranslate">Duration</span></a> (which
  175     represents a duration of time) or <a href="#MonoTime"><span class="d_inlinecode donthyphenate notranslate">MonoTime</span></a> (which represents a
  176     timestamp of the system's monotonic clock).
  177 </div><div class="description">Various functions take a string (or strings) to represent a unit of time
  178     (e.g. <span class="d_inlinecode donthyphenate notranslate">convert!("days", "hours")(numDays)</span>). The valid strings to use
  179     with such functions are "years", "months", "weeks", "days", "hours",
  180     "minutes", "seconds", "msecs" (milliseconds), "usecs" (microseconds),
  181     "hnsecs" (hecto-nanoseconds - i.e. 100 ns) or some subset thereof. There
  182     are a few functions that also allow "nsecs", but very little actually
  183     has precision greater than hnsecs.
  184 <div class="blankline"></div>
  185 
  186     <table class="book"><caption>Cheat Sheet</caption>    <tr><th scope="col">Symbol</th> <th scope="col">Description</th></tr>
  187     <tr class="leadingrow"><td colspan="2"><b><em>&nbsp;&nbsp;&nbsp;&nbsp;Types</em></b></td></tr>
  188     <tr><td class="donthyphenate nobr"><a href="#Duration"><span class="d_inlinecode donthyphenate notranslate">Duration</span></a></td> <td>Represents a duration of time of weeks
  189     or less (kept internally as hnsecs). (e.g. 22 days or 700 seconds).</td></tr>
  190     <tr><td class="donthyphenate nobr"><a href="#TickDuration"><span class="d_inlinecode donthyphenate notranslate">TickDuration</span></a></td> <td>Represents a duration of time in
  191     system clock ticks, using the highest precision that the system provides.</td></tr>
  192     <tr><td class="donthyphenate nobr"><a href="#MonoTime"><span class="d_inlinecode donthyphenate notranslate">MonoTime</span></a></td> <td>Represents a monotonic timestamp in
  193     system clock ticks, using the highest precision that the system provides.</td></tr>
  194     <tr class="leadingrow"><td colspan="2"><b><em>&nbsp;&nbsp;&nbsp;&nbsp;Functions</em></b></td></tr>
  195     <tr><td class="donthyphenate nobr"><a href="#convert"><span class="d_inlinecode donthyphenate notranslate">convert</span></a></td> <td>Generic way of converting between two time
  196     units.</td></tr>
  197     <tr><td class="donthyphenate nobr"><a href="#dur"><span class="d_inlinecode donthyphenate notranslate">dur</span></a></td> <td>Allows constructing a <a href="#Duration"><span class="d_inlinecode donthyphenate notranslate">Duration</span></a> from
  198     the given time units with the given length.</td></tr>
  199     <tr><td class="donthyphenate nobr"><a href="#weeks"><span class="d_inlinecode donthyphenate notranslate">weeks</span></a>&nbsp;<a href="#days"><span class="d_inlinecode donthyphenate notranslate">days</span></a>&nbsp;<a href="#hours"><span class="d_inlinecode donthyphenate notranslate">hours</span></a><br>
  200     <a href="#minutes"><span class="d_inlinecode donthyphenate notranslate">minutes</span></a>&nbsp;<a href="#seconds"><span class="d_inlinecode donthyphenate notranslate">seconds</span></a>&nbsp;<a href="#msecs"><span class="d_inlinecode donthyphenate notranslate">msecs</span></a><br>
  201     <a href="#usecs"><span class="d_inlinecode donthyphenate notranslate">usecs</span></a>&nbsp;<a href="#hnsecs"><span class="d_inlinecode donthyphenate notranslate">hnsecs</span></a>&nbsp;<a href="#nsecs"><span class="d_inlinecode donthyphenate notranslate">nsecs</span></a></td>
  202     <td>Convenience aliases for <a href="#dur"><span class="d_inlinecode donthyphenate notranslate">dur</span></a>.</td></tr>
  203     <tr><td class="donthyphenate nobr"><a href="#abs"><span class="d_inlinecode donthyphenate notranslate">abs</span></a></td> <td>Returns the absolute value of a duration.</td></tr>
  204     </table>
  205 <div class="blankline"></div>
  206 
  207     <table class="book"><caption>Conversions</caption>    <tr><th scope="col"></th>
  208      <th scope="col">From <a href="#Duration"><span class="d_inlinecode donthyphenate notranslate">Duration</span></a></th>
  209      <th scope="col">From <a href="#TickDuration"><span class="d_inlinecode donthyphenate notranslate">TickDuration</span></a></th>
  210      <th scope="col">From units</th>
  211     </tr>
  212     <tr><td><b>To <a href="#Duration"><span class="d_inlinecode donthyphenate notranslate">Duration</span></a></b></td>
  213      <td>-</td>
  214      <td><span class="d_inlinecode donthyphenate notranslate">tickDuration.</span><a href="std_conv.html#.to"><span class="d_inlinecode donthyphenate notranslate">to</span></a><span class="d_inlinecode donthyphenate notranslate">!Duration()</span></td>
  215      <td><span class="d_inlinecode donthyphenate notranslate">dur!"msecs"(5)</span> or <span class="d_inlinecode donthyphenate notranslate">5.msecs()</span></td>
  216     </tr>
  217     <tr><td><b>To <a href="#TickDuration"><span class="d_inlinecode donthyphenate notranslate">TickDuration</span></a></b></td>
  218      <td><span class="d_inlinecode donthyphenate notranslate">duration.</span><a href="std_conv.html#.to"><span class="d_inlinecode donthyphenate notranslate">to</span></a><span class="d_inlinecode donthyphenate notranslate">!TickDuration()</span></td>
  219      <td>-</td>
  220      <td><span class="d_inlinecode donthyphenate notranslate">TickDuration.from!"msecs"(msecs)</span></td>
  221     </tr>
  222     <tr><td><b>To units</b></td>
  223      <td><span class="d_inlinecode donthyphenate notranslate">duration.total!"days"</span></td>
  224      <td><span class="d_inlinecode donthyphenate notranslate">tickDuration.msecs</span></td>
  225      <td><span class="d_inlinecode donthyphenate notranslate">convert!("days", "msecs")(msecs)</span></td>
  226     </tr></table>
  227 
  228 </div>
  229 <div class="keyval License"><span class="key keyLicense">License:</span> <div class="val valLicense"><a href="http://www.boost.org/LICENSE_1_0.txt">Boost License 1.0</a>.
  230 </div></div>
  231 <div class="keyval Authors"><span class="key keyAuthors">Authors:</span> <div class="val valAuthors"><a href="http://jmdavisprog.com">Jonathan M Davis</a> and Kato Shoichi
  232 </div></div>
  233 <div class="val"><p class="keyval Section"><span class="key keySection">Source</span>
  234 <a href="https://github.com/dlang/druntime/blob/master/src/core/time.d">core/time.d</a>
  235 </p></div>
  236 
  237 <dl><dt class="d_decl"><div ><span class="def-anchor" id=".ClockType"></span><div class="quickindex" id="quickindex.ClockType"></div>enum <span class="def-anchor" id="ClockType"></span><code class="ddoc_psymbol">ClockType</code>: int;
  238 <br></div></dt>
  239 <dd><div class="summary">What type of clock to use with <a href="#MonoTime"><span class="d_inlinecode donthyphenate notranslate">MonoTime</span></a> / <a href="#MonoTimeImpl"><span class="d_inlinecode donthyphenate notranslate">MonoTimeImpl</span></a> or
  240     <span class="d_inlinecode donthyphenate notranslate">std.datetime.Clock.currTime</span>. They default to <span class="d_inlinecode donthyphenate notranslate">ClockType.normal</span>,
  241     and most programs do not need to ever deal with the others.
  242 </div><div class="description">The other <span class="d_inlinecode donthyphenate notranslate">ClockType</span>s are provided so that other clocks provided by the
  243     underlying C, system calls can be used with <a href="#MonoTimeImpl"><span class="d_inlinecode donthyphenate notranslate">MonoTimeImpl</span></a> or
  244     <span class="d_inlinecode donthyphenate notranslate">std.datetime.Clock.currTime</span> without having to use the C API directly.
  245 <div class="blankline"></div>
  246 
  247     In the case of the monotonic time, <a href="#MonoTimeImpl"><span class="d_inlinecode donthyphenate notranslate">MonoTimeImpl</span></a> is templatized on
  248     <span class="d_inlinecode donthyphenate notranslate">ClockType</span>, whereas with <span class="d_inlinecode donthyphenate notranslate">std.datetime.Clock.currTime</span>, its a runtime
  249     argument, since in the case of the monotonic time, the type of the clock
  250     affects the resolution of a <a href="#MonoTimeImpl"><span class="d_inlinecode donthyphenate notranslate">MonoTimeImpl</span></a> object, whereas with
  251     <a href="std_datetime.html#.SysTime"><span class="d_inlinecode donthyphenate notranslate">std.datetime.SysTime</span></a>, its resolution is always hecto-nanoseconds
  252     regardless of the source of the time.
  253 <div class="blankline"></div>
  254 
  255     <span class="d_inlinecode donthyphenate notranslate">ClockType.normal</span>, <span class="d_inlinecode donthyphenate notranslate">ClockType.coarse</span>, and <span class="d_inlinecode donthyphenate notranslate">ClockType.precise</span>
  256     work with both <span class="d_inlinecode donthyphenate notranslate">Clock.currTime</span> and <a href="#MonoTimeImpl"><span class="d_inlinecode donthyphenate notranslate">MonoTimeImpl</span></a>.
  257     <span class="d_inlinecode donthyphenate notranslate">ClockType.second</span> only works with <span class="d_inlinecode donthyphenate notranslate">Clock.currTime</span>. The others only
  258     work with <a href="#MonoTimeImpl"><span class="d_inlinecode donthyphenate notranslate">MonoTimeImpl</span></a>.</div>
  259 
  260 <dl><dt class="d_decl"><div ><span class="def-anchor" id=".ClockType.normal"></span><div class="quickindex" id="quickindex.ClockType.normal"></div><span class="def-anchor" id="normal"></span><code class="ddoc_psymbol">normal</code><br></div></dt>
  261 <dd><div class="summary">Use the normal clock.</div>
  262 </dd>
  263 <dt class="d_decl"><div ><span class="def-anchor" id=".ClockType.bootTime"></span><div class="quickindex" id="quickindex.ClockType.bootTime"></div><span class="def-anchor" id="bootTime"></span><code class="ddoc_psymbol">bootTime</code><br></div></dt>
  264 <dd><div class="summary"><span class="blue">Linux,OpenBSD-Only</span>
  265 </div><div class="description">Uses <span class="d_inlinecode donthyphenate notranslate">CLOCK_BOOTTIME</span>.</div>
  266 
  267 </dd>
  268 <dt class="d_decl"><div ><span class="def-anchor" id=".ClockType.coarse"></span><div class="quickindex" id="quickindex.ClockType.coarse"></div><span class="def-anchor" id="coarse"></span><code class="ddoc_psymbol">coarse</code><br></div></dt>
  269 <dd><div class="summary">Use the coarse clock, not the normal one (e.g. on Linux, that would be
  270         <span class="d_inlinecode donthyphenate notranslate">CLOCK_REALTIME_COARSE</span> instead of <span class="d_inlinecode donthyphenate notranslate">CLOCK_REALTIME</span> for
  271         <span class="d_inlinecode donthyphenate notranslate">clock_gettime</span> if a function is using the realtime clock). It's
  272         generally faster to get the time with the coarse clock than the normal
  273         clock, but it's less precise (e.g. 1 msec instead of 1 usec or 1 nsec).
  274         Howeover, it <i>is</i> guaranteed to still have sub-second precision
  275         (just not as high as with <span class="d_inlinecode donthyphenate notranslate">ClockType.normal</span>).
  276 </div><div class="description">On systems which do not support a coarser clock,
  277         <span class="d_inlinecode donthyphenate notranslate">MonoTimeImpl!(ClockType.coarse)</span> will internally use the same clock
  278         as <span class="d_inlinecode donthyphenate notranslate">Monotime</span> does, and <span class="d_inlinecode donthyphenate notranslate">Clock.currTime!(ClockType.coarse)</span> will
  279         use the same clock as <span class="d_inlinecode donthyphenate notranslate">Clock.currTime</span>. This is because the coarse
  280         clock is doing the same thing as the normal clock (just at lower
  281         precision), whereas some of the other clock types
  282         (e.g. <span class="d_inlinecode donthyphenate notranslate">ClockType.processCPUTime</span>) mean something fundamentally
  283         different. So, treating those as <span class="d_inlinecode donthyphenate notranslate">ClockType.normal</span> on systems where
  284         they weren't natively supported would give misleading results.
  285 <div class="blankline"></div>
  286 
  287         Most programs should not use the coarse clock, exactly because it's
  288         less precise, and most programs don't need to get the time often
  289         enough to care, but for those rare programs that need to get the time
  290         extremely frequently (e.g. hundreds of thousands of times a second) but
  291         don't care about high precision, the coarse clock might be appropriate.
  292 <div class="blankline"></div>
  293 
  294         Currently, only Linux and FreeBSD/DragonFlyBSD support a coarser clock, and on other
  295         platforms, it's treated as <span class="d_inlinecode donthyphenate notranslate">ClockType.normal</span>.</div>
  296 
  297 </dd>
  298 <dt class="d_decl"><div ><span class="def-anchor" id=".ClockType.precise"></span><div class="quickindex" id="quickindex.ClockType.precise"></div><span class="def-anchor" id="precise"></span><code class="ddoc_psymbol">precise</code><br></div></dt>
  299 <dd><div class="summary">Uses a more precise clock than the normal one (which is already very
  300         precise), but it takes longer to get the time. Similarly to
  301         <span class="d_inlinecode donthyphenate notranslate">ClockType.coarse</span>, if it's used on a system that does not support a
  302         more precise clock than the normal one, it's treated as equivalent to
  303         <span class="d_inlinecode donthyphenate notranslate">ClockType.normal</span>.
  304 </div><div class="description">Currently, only FreeBSD/DragonFlyBSD supports a more precise clock, where it uses
  305         <span class="d_inlinecode donthyphenate notranslate">CLOCK_MONOTONIC_PRECISE</span> for the monotonic time and
  306         <span class="d_inlinecode donthyphenate notranslate">CLOCK_REALTIME_PRECISE</span> for the wall clock time.</div>
  307 
  308 </dd>
  309 <dt class="d_decl"><div ><span class="def-anchor" id=".ClockType.processCPUTime"></span><div class="quickindex" id="quickindex.ClockType.processCPUTime"></div><span class="def-anchor" id="processCPUTime"></span><code class="ddoc_psymbol">processCPUTime</code><br></div></dt>
  310 <dd><div class="summary"><span class="blue">Linux,OpenBSD,Solaris-Only</span>
  311 </div><div class="description">Uses <span class="d_inlinecode donthyphenate notranslate">CLOCK_PROCESS_CPUTIME_ID</span>.</div>
  312 
  313 </dd>
  314 <dt class="d_decl"><div ><span class="def-anchor" id=".ClockType.raw"></span><div class="quickindex" id="quickindex.ClockType.raw"></div><span class="def-anchor" id="raw"></span><code class="ddoc_psymbol">raw</code><br></div></dt>
  315 <dd><div class="summary"><span class="blue">Linux-Only</span>
  316 </div><div class="description">Uses <span class="d_inlinecode donthyphenate notranslate">CLOCK_MONOTONIC_RAW</span>.</div>
  317 
  318 </dd>
  319 <dt class="d_decl"><div ><span class="def-anchor" id=".ClockType.second"></span><div class="quickindex" id="quickindex.ClockType.second"></div><span class="def-anchor" id="second"></span><code class="ddoc_psymbol">second</code><br></div></dt>
  320 <dd><div class="summary">Uses a clock that has a precision of one second (contrast to the coarse
  321         clock, which has sub-second precision like the normal clock does).
  322 </div><div class="description">FreeBSD/DragonFlyBSD are the only systems which specifically have a clock set up for
  323         this (it has <span class="d_inlinecode donthyphenate notranslate">CLOCK_SECOND</span> to use with <span class="d_inlinecode donthyphenate notranslate">clock_gettime</span> which
  324         takes advantage of an in-kernel cached value), but on other systems, the
  325         fastest function available will be used, and the resulting <span class="d_inlinecode donthyphenate notranslate">SysTime</span>
  326         will be rounded down to the second if the clock that was used gave the
  327         time at a more precise resolution. So, it's guaranteed that the time
  328         will be given at a precision of one second and it's likely the case that
  329         will be faster than <span class="d_inlinecode donthyphenate notranslate">ClockType.normal</span>, since there tend to be
  330         several options on a system to get the time at low resolutions, and they
  331         tend to be faster than getting the time at high resolutions.
  332 <div class="blankline"></div>
  333 
  334         So, the primary difference between <span class="d_inlinecode donthyphenate notranslate">ClockType.coarse</span> and
  335         <span class="d_inlinecode donthyphenate notranslate">ClockType.second</span> is that <span class="d_inlinecode donthyphenate notranslate">ClockType.coarse</span> sacrifices some
  336         precision in order to get speed but is still fairly precise, whereas
  337         <span class="d_inlinecode donthyphenate notranslate">ClockType.second</span> tries to be as fast as possible at the expense of
  338         all sub-second precision.</div>
  339 
  340 </dd>
  341 <dt class="d_decl"><div ><span class="def-anchor" id=".ClockType.threadCPUTime"></span><div class="quickindex" id="quickindex.ClockType.threadCPUTime"></div><span class="def-anchor" id="threadCPUTime"></span><code class="ddoc_psymbol">threadCPUTime</code><br></div></dt>
  342 <dd><div class="summary"><span class="blue">Linux,OpenBSD,Solaris-Only</span>
  343 </div><div class="description">Uses <span class="d_inlinecode donthyphenate notranslate">CLOCK_THREAD_CPUTIME_ID</span>.</div>
  344 
  345 </dd>
  346 <dt class="d_decl"><div ><span class="def-anchor" id=".ClockType.uptime"></span><div class="quickindex" id="quickindex.ClockType.uptime"></div><span class="def-anchor" id="uptime"></span><code class="ddoc_psymbol">uptime</code><br></div></dt>
  347 <dd><div class="summary"><span class="blue">DragonFlyBSD,FreeBSD,OpenBSD-Only</span>
  348 </div><div class="description">Uses <span class="d_inlinecode donthyphenate notranslate">CLOCK_UPTIME</span>.</div>
  349 
  350 </dd>
  351 <dt class="d_decl"><div ><span class="def-anchor" id=".ClockType.uptimeCoarse"></span><div class="quickindex" id="quickindex.ClockType.uptimeCoarse"></div><span class="def-anchor" id="uptimeCoarse"></span><code class="ddoc_psymbol">uptimeCoarse</code><br></div></dt>
  352 <dd><div class="summary"><span class="blue">FreeBSD-Only</span>
  353 </div><div class="description">Uses <span class="d_inlinecode donthyphenate notranslate">CLOCK_UPTIME_FAST</span>.</div>
  354 
  355 </dd>
  356 <dt class="d_decl"><div ><span class="def-anchor" id=".ClockType.uptimePrecise"></span><div class="quickindex" id="quickindex.ClockType.uptimePrecise"></div><span class="def-anchor" id="uptimePrecise"></span><code class="ddoc_psymbol">uptimePrecise</code><br></div></dt>
  357 <dd><div class="summary"><span class="blue">FreeBSD-Only</span>
  358 </div><div class="description">Uses <span class="d_inlinecode donthyphenate notranslate">CLOCK_UPTIME_PRECISE</span>.</div>
  359 
  360 </dd>
  361 </dl>
  362 </dd>
  363 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration"></span><div class="quickindex" id="quickindex.Duration"></div>struct <span class="def-anchor" id="Duration"></span><code class="ddoc_psymbol">Duration</code>;
  364 <br></div></dt>
  365 <dd><div class="summary">Represents a duration of time of weeks or less (kept internally as hnsecs).
  366     (e.g. 22 days or 700 seconds).
  367 </div><div class="description">It is used when representing a duration of time - such as how long to
  368     sleep with <a href="core_thread.html#.Thread.sleep"><span class="d_inlinecode donthyphenate notranslate">core.thread.Thread.sleep</span></a>.
  369 <div class="blankline"></div>
  370 
  371     In std.datetime, it is also used as the result of various arithmetic
  372     operations on time points.
  373 <div class="blankline"></div>
  374 
  375     Use the <a href="#dur"><span class="d_inlinecode donthyphenate notranslate">dur</span></a> function or one of its non-generic aliases to create
  376     <span class="d_inlinecode donthyphenate notranslate">Duration</span>s.
  377 <div class="blankline"></div>
  378 
  379     It's not possible to create a Duration of months or years, because the
  380     variable number of days in a month or year makes it impossible to convert
  381     between months or years and smaller units without a specific date. So,
  382     nothing uses <span class="d_inlinecode donthyphenate notranslate">Duration</span>s when dealing with months or years. Rather,
  383     functions specific to months and years are defined. For instance,
  384     <a href="std_datetime.html#.Date"><span class="d_inlinecode donthyphenate notranslate">std.datetime.Date</span></a> has <span class="d_inlinecode donthyphenate notranslate">add!"years"</span> and <span class="d_inlinecode donthyphenate notranslate">add!"months"</span> for adding
  385     years and months rather than creating a Duration of years or months and
  386     adding that to a <a href="std_datetime.html#.Date"><span class="d_inlinecode donthyphenate notranslate">std.datetime.Date</span></a>. But Duration is used when dealing
  387     with weeks or smaller.
  388 
  389 </div>
  390 <span class="dlang_runnable"></span><div class="keyval Examples"><span class="key keyExamples">Examples:</span> <div class="val valExamples"><pre class="d_code notranslate"><span class="d_keyword">import</span> std.datetime;
  391 
  392 <span class="d_keyword">assert</span>(dur!<span class="d_string">"days"</span>(12) == dur!<span class="d_string">"hnsecs"</span>(10_368_000_000_000L));
  393 <span class="d_keyword">assert</span>(dur!<span class="d_string">"hnsecs"</span>(27) == dur!<span class="d_string">"hnsecs"</span>(27));
  394 <span class="d_keyword">assert</span>(std.datetime.Date(2010, 9, 7) + dur!<span class="d_string">"days"</span>(5) ==
  395        std.datetime.Date(2010, 9, 12));
  396 
  397 <span class="d_keyword">assert</span>(days(-12) == dur!<span class="d_string">"hnsecs"</span>(-10_368_000_000_000L));
  398 <span class="d_keyword">assert</span>(hnsecs(-27) == dur!<span class="d_string">"hnsecs"</span>(-27));
  399 <span class="d_keyword">assert</span>(std.datetime.Date(2010, 9, 7) - std.datetime.Date(2010, 10, 3) ==
  400        days(-26));
  401 </pre>
  402 </div></div>
  403 <span class="dlang_runnable"></span><div class="keyval Examples"><span class="key keyExamples">Examples:</span> <div class="val valExamples"><pre class="d_code notranslate"><span class="d_keyword">import</span> core.time;
  404 
  405 <span class="d_comment">// using the dur template
  406 </span><span class="d_keyword">auto</span> numDays = dur!<span class="d_string">"days"</span>(12);
  407 
  408 <span class="d_comment">// using the days function
  409 </span>numDays = days(12);
  410 
  411 <span class="d_comment">// alternatively using UFCS syntax
  412 </span>numDays = 12.days;
  413 
  414 <span class="d_keyword">auto</span> myTime = 100.msecs + 20_000.usecs + 30_000.hnsecs;
  415 <span class="d_keyword">assert</span>(myTime == 123.msecs);
  416 </pre>
  417 </div></div>
  418 
  419 <dl><dt class="d_decl"><div ><span class="def-anchor" id=".Duration.zero"></span><div class="quickindex" id="quickindex.Duration.zero"></div>static pure nothrow @nogc @property @safe Duration <span class="def-anchor" id="zero"></span><code class="ddoc_psymbol">zero</code>();
  420 <br></div></dt>
  421 <dd><div class="summary">A <span class="d_inlinecode donthyphenate notranslate">Duration</span> of <span class="d_inlinecode donthyphenate notranslate">0</span>. It's shorter than doing something like
  422         <span class="d_inlinecode donthyphenate notranslate">dur!"seconds"(0)</span> and more explicit than <span class="d_inlinecode donthyphenate notranslate">Duration.init</span>.</div>
  423 </dd>
  424 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.max"></span><div class="quickindex" id="quickindex.Duration.max"></div>static pure nothrow @nogc @property @safe Duration <span class="def-anchor" id="max"></span><code class="ddoc_psymbol">max</code>();
  425 <br></div></dt>
  426 <dd><div class="summary">Largest <span class="d_inlinecode donthyphenate notranslate">Duration</span> possible.</div>
  427 </dd>
  428 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.min"></span><div class="quickindex" id="quickindex.Duration.min"></div>static pure nothrow @nogc @property @safe Duration <span class="def-anchor" id="min"></span><code class="ddoc_psymbol">min</code>();
  429 <br></div></dt>
  430 <dd><div class="summary">Most negative <span class="d_inlinecode donthyphenate notranslate">Duration</span> possible.</div>
  431 </dd>
  432 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.opCmp"></span><div class="quickindex" id="quickindex.Duration.opCmp"></div>const pure nothrow @nogc @safe int <span class="def-anchor" id="opCmp"></span><code class="ddoc_psymbol">opCmp</code>(Duration <code class="ddoc_param">rhs</code>);
  433 <br></div></dt>
  434 <dd><div class="summary">Compares this <span class="d_inlinecode donthyphenate notranslate">Duration</span> with the given <span class="d_inlinecode donthyphenate notranslate">Duration</span>.
  435 </div><div class="keyval Returns"><span class="key keyReturns">Returns:</span> <div class="val valReturns"><table cellspacing="0" cellpadding="5"><caption>            <tr><td>this &lt; rhs</td> <td>&lt; 0</td></tr>
  436             <tr><td>this == rhs</td> <td>0</td></tr>
  437             <tr><td>this &gt; rhs</td> <td>&gt; 0</td></tr>
  438             </caption></table></div></div>
  439 
  440 </dd>
  441 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.opBinary"></span><div class="quickindex" id="quickindex.Duration.opBinary"></div>const nothrow @nogc Duration <span class="def-anchor" id="opBinary"></span><code class="ddoc_psymbol">opBinary</code><span class="template_param_list" title="Template parameter list">(string op, D)</span>(D <code class="ddoc_param">rhs</code>)<br><span class="constraint">if ((op == "+" || op == "-" || op == "%") &amp;&amp; is(immutable(D) == immutable(Duration)) || (op == "+" || op == "-") &amp;&amp; is(immutable(D) == immutable(TickDuration)))</span>;
  442 <br></div></dt>
  443 <dd><div class="summary">Adds, subtracts or calculates the modulo of two durations.
  444 </div><div class="description">The legal types of arithmetic for <span class="d_inlinecode donthyphenate notranslate">Duration</span> using this operator are
  445 <div class="blankline"></div>
  446 
  447         <table cellspacing="0" cellpadding="5"><caption>        <tr><td>Duration</td> <td>+</td> <td>Duration</td> <td>--&gt;</td> <td>Duration</td></tr>
  448         <tr><td>Duration</td> <td>-</td> <td>Duration</td> <td>--&gt;</td> <td>Duration</td></tr>
  449         <tr><td>Duration</td> <td>%</td> <td>Duration</td> <td>--&gt;</td> <td>Duration</td></tr>
  450         <tr><td>Duration</td> <td>+</td> <td>TickDuration</td> <td>--&gt;</td> <td>Duration</td></tr>
  451         <tr><td>Duration</td> <td>-</td> <td>TickDuration</td> <td>--&gt;</td> <td>Duration</td></tr>
  452         </caption></table>
  453 
  454 </div>
  455 <div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">D <code class="ddoc_param">rhs</code></td>
  456 <td class="param_desc">The duration to add to or subtract from this <span class="d_inlinecode donthyphenate notranslate">Duration</span>.</td></tr>
  457 </table></div></div>
  458 
  459 </dd>
  460 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.opBinaryRight"></span><div class="quickindex" id="quickindex.Duration.opBinaryRight"></div>const nothrow @nogc Duration <span class="def-anchor" id="opBinaryRight"></span><code class="ddoc_psymbol">opBinaryRight</code><span class="template_param_list" title="Template parameter list">(string op, D)</span>(D <code class="ddoc_param">lhs</code>)<br><span class="constraint">if ((op == "+" || op == "-") &amp;&amp; is(immutable(D) == immutable(TickDuration)))</span>;
  461 <br></div></dt>
  462 <dd><div class="summary">Adds or subtracts two durations.
  463 </div><div class="description">The legal types of arithmetic for <span class="d_inlinecode donthyphenate notranslate">Duration</span> using this operator are
  464 <div class="blankline"></div>
  465 
  466         <table cellspacing="0" cellpadding="5"><caption>        <tr><td>TickDuration</td> <td>+</td> <td>Duration</td> <td>--&gt;</td> <td>Duration</td></tr>
  467         <tr><td>TickDuration</td> <td>-</td> <td>Duration</td> <td>--&gt;</td> <td>Duration</td></tr>
  468         </caption></table>
  469 
  470 </div>
  471 <div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">D <code class="ddoc_param">lhs</code></td>
  472 <td class="param_desc">The <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> to add to this <span class="d_inlinecode donthyphenate notranslate">Duration</span> or to
  473                   subtract this <span class="d_inlinecode donthyphenate notranslate">Duration</span> from.</td></tr>
  474 </table></div></div>
  475 
  476 </dd>
  477 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.opOpAssign"></span><div class="quickindex" id="quickindex.Duration.opOpAssign"></div>nothrow @nogc ref Duration <span class="def-anchor" id="opOpAssign"></span><code class="ddoc_psymbol">opOpAssign</code><span class="template_param_list" title="Template parameter list">(string op, D)</span>(scope const D <code class="ddoc_param">rhs</code>)<br><span class="constraint">if ((op == "+" || op == "-" || op == "%") &amp;&amp; is(immutable(D) == immutable(Duration)) || (op == "+" || op == "-") &amp;&amp; is(immutable(D) == immutable(TickDuration)))</span>;
  478 <br></div></dt>
  479 <dd><div class="summary">Adds, subtracts or calculates the modulo of two durations as well as
  480         assigning the result to this <span class="d_inlinecode donthyphenate notranslate">Duration</span>.
  481 </div><div class="description">The legal types of arithmetic for <span class="d_inlinecode donthyphenate notranslate">Duration</span> using this operator are
  482 <div class="blankline"></div>
  483 
  484         <table cellspacing="0" cellpadding="5"><caption>        <tr><td>Duration</td> <td>+</td> <td>Duration</td> <td>--&gt;</td> <td>Duration</td></tr>
  485         <tr><td>Duration</td> <td>-</td> <td>Duration</td> <td>--&gt;</td> <td>Duration</td></tr>
  486         <tr><td>Duration</td> <td>%</td> <td>Duration</td> <td>--&gt;</td> <td>Duration</td></tr>
  487         <tr><td>Duration</td> <td>+</td> <td>TickDuration</td> <td>--&gt;</td> <td>Duration</td></tr>
  488         <tr><td>Duration</td> <td>-</td> <td>TickDuration</td> <td>--&gt;</td> <td>Duration</td></tr>
  489         </caption></table>
  490 
  491 </div>
  492 <div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">D <code class="ddoc_param">rhs</code></td>
  493 <td class="param_desc">The duration to add to or subtract from this <span class="d_inlinecode donthyphenate notranslate">Duration</span>.</td></tr>
  494 </table></div></div>
  495 
  496 </dd>
  497 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.opBinary.2"></span><div class="quickindex" id="quickindex.Duration.opBinary.2"></div>const nothrow @nogc Duration <span class="def-anchor" id="opBinary"></span><code class="ddoc_psymbol">opBinary</code><span class="template_param_list" title="Template parameter list">(string op)</span>(long <code class="ddoc_param">value</code>)<br><span class="constraint">if (op == "*" || op == "/")</span>;
  498 <br></div></dt>
  499 <dd><div class="summary">Multiplies or divides the duration by an integer value.
  500 </div><div class="description">The legal types of arithmetic for <span class="d_inlinecode donthyphenate notranslate">Duration</span> using this operator
  501         overload are
  502 <div class="blankline"></div>
  503 
  504         <table cellspacing="0" cellpadding="5"><caption>        <tr><td>Duration</td> <td>*</td> <td>long</td> <td>--&gt;</td> <td>Duration</td></tr>
  505         <tr><td>Duration</td> <td>/</td> <td>long</td> <td>--&gt;</td> <td>Duration</td></tr>
  506         </caption></table>
  507 
  508 </div>
  509 <div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">long <code class="ddoc_param">value</code></td>
  510 <td class="param_desc">The value to multiply this <span class="d_inlinecode donthyphenate notranslate">Duration</span> by.</td></tr>
  511 </table></div></div>
  512 
  513 </dd>
  514 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.opOpAssign.2"></span><div class="quickindex" id="quickindex.Duration.opOpAssign.2"></div>nothrow @nogc ref Duration <span class="def-anchor" id="opOpAssign"></span><code class="ddoc_psymbol">opOpAssign</code><span class="template_param_list" title="Template parameter list">(string op)</span>(long <code class="ddoc_param">value</code>)<br><span class="constraint">if (op == "*" || op == "/")</span>;
  515 <br></div></dt>
  516 <dd><div class="summary">Multiplies/Divides the duration by an integer value as well as
  517         assigning the result to this <span class="d_inlinecode donthyphenate notranslate">Duration</span>.
  518 </div><div class="description">The legal types of arithmetic for <span class="d_inlinecode donthyphenate notranslate">Duration</span> using this operator
  519         overload are
  520 <div class="blankline"></div>
  521 
  522         <table cellspacing="0" cellpadding="5"><caption>        <tr><td>Duration</td> <td>*</td> <td>long</td> <td>--&gt;</td> <td>Duration</td></tr>
  523         <tr><td>Duration</td> <td>/</td> <td>long</td> <td>--&gt;</td> <td>Duration</td></tr>
  524         </caption></table>
  525 
  526 </div>
  527 <div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">long <code class="ddoc_param">value</code></td>
  528 <td class="param_desc">The value to multiply/divide this <span class="d_inlinecode donthyphenate notranslate">Duration</span> by.</td></tr>
  529 </table></div></div>
  530 
  531 </dd>
  532 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.opBinary.3"></span><div class="quickindex" id="quickindex.Duration.opBinary.3"></div>const nothrow @nogc long <span class="def-anchor" id="opBinary"></span><code class="ddoc_psymbol">opBinary</code><span class="template_param_list" title="Template parameter list">(string op)</span>(Duration <code class="ddoc_param">rhs</code>)<br><span class="constraint">if (op == "/")</span>;
  533 <br></div></dt>
  534 <dd><div class="summary">Divides two durations.
  535 </div><div class="description">The legal types of arithmetic for <span class="d_inlinecode donthyphenate notranslate">Duration</span> using this operator are
  536 <div class="blankline"></div>
  537 
  538         <table cellspacing="0" cellpadding="5"><caption>        <tr><td>Duration</td> <td>/</td> <td>Duration</td> <td>--&gt;</td> <td>long</td></tr>
  539         </caption></table>
  540 
  541 </div>
  542 <div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">Duration <code class="ddoc_param">rhs</code></td>
  543 <td class="param_desc">The duration to divide this <span class="d_inlinecode donthyphenate notranslate">Duration</span> by.</td></tr>
  544 </table></div></div>
  545 
  546 </dd>
  547 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.opBinaryRight.2"></span><div class="quickindex" id="quickindex.Duration.opBinaryRight.2"></div>const nothrow @nogc Duration <span class="def-anchor" id="opBinaryRight"></span><code class="ddoc_psymbol">opBinaryRight</code><span class="template_param_list" title="Template parameter list">(string op)</span>(long <code class="ddoc_param">value</code>)<br><span class="constraint">if (op == "*")</span>;
  548 <br></div></dt>
  549 <dd><div class="summary">Multiplies an integral value and a <span class="d_inlinecode donthyphenate notranslate">Duration</span>.
  550 </div><div class="description">The legal types of arithmetic for <span class="d_inlinecode donthyphenate notranslate">Duration</span> using this operator
  551         overload are
  552 <div class="blankline"></div>
  553 
  554         <table cellspacing="0" cellpadding="5"><caption>        <tr><td>long</td> <td>*</td> <td>Duration</td> <td>--&gt;</td> <td>Duration</td></tr>
  555         </caption></table>
  556 
  557 </div>
  558 <div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">long <code class="ddoc_param">value</code></td>
  559 <td class="param_desc">The number of units to multiply this <span class="d_inlinecode donthyphenate notranslate">Duration</span> by.</td></tr>
  560 </table></div></div>
  561 
  562 </dd>
  563 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.opUnary"></span><div class="quickindex" id="quickindex.Duration.opUnary"></div>const nothrow @nogc Duration <span class="def-anchor" id="opUnary"></span><code class="ddoc_psymbol">opUnary</code><span class="template_param_list" title="Template parameter list">(string op)</span>()<br><span class="constraint">if (op == "-")</span>;
  564 <br></div></dt>
  565 <dd><div class="summary">Returns the negation of this <span class="d_inlinecode donthyphenate notranslate">Duration</span>.</div>
  566 </dd>
  567 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.opCast"></span><div class="quickindex" id="quickindex.Duration.opCast"></div>const nothrow @nogc TickDuration <span class="def-anchor" id="opCast"></span><code class="ddoc_psymbol">opCast</code><span class="template_param_list" title="Template parameter list">(T)</span>()<br><span class="constraint">if (is(immutable(T) == immutable(TickDuration)))</span>;
  568 <br></div></dt>
  569 <dd><div class="summary">Returns a <a href="#TickDuration"><span class="d_inlinecode donthyphenate notranslate">TickDuration</span></a> with the same number of hnsecs as this
  570         <span class="d_inlinecode donthyphenate notranslate">Duration</span>.
  571         Note that the conventional way to convert between <span class="d_inlinecode donthyphenate notranslate">Duration</span> and
  572         <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> is using <a href="std_conv.html#.to"><span class="d_inlinecode donthyphenate notranslate">std.conv.to</span></a>, e.g.:
  573         <span class="d_inlinecode donthyphenate notranslate">duration.to!TickDuration()</span></div>
  574 </dd>
  575 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.opCast.2"></span><div class="quickindex" id="quickindex.Duration.opCast.2"></div>const nothrow @nogc bool <span class="def-anchor" id="opCast"></span><code class="ddoc_psymbol">opCast</code><span class="template_param_list" title="Template parameter list">(T : bool)</span>();
  576 <br></div></dt>
  577 <dd><div class="summary">Allow Duration to be used as a boolean.
  578 </div><div class="keyval Returns"><span class="key keyReturns">Returns:</span> <div class="val valReturns"><span class="d_inlinecode donthyphenate notranslate">true</span> if this duration is non-zero.</div></div>
  579 
  580 </dd>
  581 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.split"></span><div class="quickindex" id="quickindex.Duration.split"></div>template <span class="def-anchor" id="split"></span><code class="ddoc_psymbol">split</code>(units...) if (allAreAcceptedUnits!("weeks", "days", "hours", "minutes", "seconds", "msecs", "usecs", "hnsecs", "nsecs")(units) &amp;&amp; unitsAreInDescendingOrder(units))<br></div></dt>
  582 <dd><div class="summary">Splits out the Duration into the given units.
  583 </div><div class="description">split takes the list of time units to split out as template arguments.
  584         The time unit strings must be given in decreasing order. How it returns
  585         the values for those units depends on the overload used.
  586 <div class="blankline"></div>
  587 
  588         The overload which accepts function arguments takes integral types in
  589         the order that the time unit strings were given, and those integers are
  590         passed by <span class="d_inlinecode donthyphenate notranslate">ref</span>. split assigns the values for the units to each
  591         corresponding integer. Any integral type may be used, but no attempt is
  592         made to prevent integer overflow, so don't use small integral types in
  593         circumstances where the values for those units aren't likely to fit in
  594         an integral type that small.
  595 <div class="blankline"></div>
  596 
  597         The overload with no arguments returns the values for the units in a
  598         struct with members whose names are the same as the given time unit
  599         strings. The members are all <span class="d_inlinecode donthyphenate notranslate">long</span>s. This overload will also work
  600         with no time strings being given, in which case <i>all</i> of the time
  601         units from weeks through hnsecs will be provided (but no nsecs, since it
  602         would always be <span class="d_inlinecode donthyphenate notranslate">0</span>).
  603 <div class="blankline"></div>
  604 
  605         For both overloads, the entire value of the Duration is split among the
  606         units (rather than splitting the Duration across all units and then only
  607         providing the values for the requested units), so if only one unit is
  608         given, the result is equivalent to <a href="#total"><span class="d_inlinecode donthyphenate notranslate">total</span></a>.
  609 <div class="blankline"></div>
  610 
  611         <span class="d_inlinecode donthyphenate notranslate">"nsecs"</span> is accepted by split, but <span class="d_inlinecode donthyphenate notranslate">"years"</span> and <span class="d_inlinecode donthyphenate notranslate">"months"</span>
  612         are not.
  613 <div class="blankline"></div>
  614 
  615         For negative durations, all of the split values will be negative.</div>
  616 <span class="dlang_runnable"></span><div class="keyval Examples"><span class="key keyExamples">Examples:</span> <div class="val valExamples"><pre class="d_code notranslate">{
  617     <span class="d_keyword">auto</span> d = dur!<span class="d_string">"days"</span>(12) + dur!<span class="d_string">"minutes"</span>(7) + dur!<span class="d_string">"usecs"</span>(501223);
  618     <span class="d_keyword">long</span> days;
  619     <span class="d_keyword">int</span> seconds;
  620     <span class="d_keyword">short</span> msecs;
  621     d.<span class="d_psymbol">split</span>!(<span class="d_string">"days"</span>, <span class="d_string">"seconds"</span>, <span class="d_string">"msecs"</span>)(days, seconds, msecs);
  622     <span class="d_keyword">assert</span>(days == 12);
  623     <span class="d_keyword">assert</span>(seconds == 7 * 60);
  624     <span class="d_keyword">assert</span>(msecs == 501);
  625 
  626     <span class="d_keyword">auto</span> splitStruct = d.<span class="d_psymbol">split</span>!(<span class="d_string">"days"</span>, <span class="d_string">"seconds"</span>, <span class="d_string">"msecs"</span>)();
  627     <span class="d_keyword">assert</span>(splitStruct.days == 12);
  628     <span class="d_keyword">assert</span>(splitStruct.seconds == 7 * 60);
  629     <span class="d_keyword">assert</span>(splitStruct.msecs == 501);
  630 
  631     <span class="d_keyword">auto</span> fullSplitStruct = d.<span class="d_psymbol">split</span>();
  632     <span class="d_keyword">assert</span>(fullSplitStruct.weeks == 1);
  633     <span class="d_keyword">assert</span>(fullSplitStruct.days == 5);
  634     <span class="d_keyword">assert</span>(fullSplitStruct.hours == 0);
  635     <span class="d_keyword">assert</span>(fullSplitStruct.minutes == 7);
  636     <span class="d_keyword">assert</span>(fullSplitStruct.seconds == 0);
  637     <span class="d_keyword">assert</span>(fullSplitStruct.msecs == 501);
  638     <span class="d_keyword">assert</span>(fullSplitStruct.usecs == 223);
  639     <span class="d_keyword">assert</span>(fullSplitStruct.hnsecs == 0);
  640 
  641     <span class="d_keyword">assert</span>(d.<span class="d_psymbol">split</span>!<span class="d_string">"minutes"</span>().minutes == d.total!<span class="d_string">"minutes"</span>);
  642 }
  643 
  644 {
  645     <span class="d_keyword">auto</span> d = dur!<span class="d_string">"days"</span>(12);
  646     <span class="d_keyword">assert</span>(d.<span class="d_psymbol">split</span>!<span class="d_string">"weeks"</span>().weeks == 1);
  647     <span class="d_keyword">assert</span>(d.<span class="d_psymbol">split</span>!<span class="d_string">"days"</span>().days == 12);
  648 
  649     <span class="d_keyword">assert</span>(d.<span class="d_psymbol">split</span>().weeks == 1);
  650     <span class="d_keyword">assert</span>(d.<span class="d_psymbol">split</span>().days == 5);
  651 }
  652 
  653 {
  654     <span class="d_keyword">auto</span> d = dur!<span class="d_string">"days"</span>(7) + dur!<span class="d_string">"hnsecs"</span>(42);
  655     <span class="d_keyword">assert</span>(d.<span class="d_psymbol">split</span>!(<span class="d_string">"seconds"</span>, <span class="d_string">"nsecs"</span>)().nsecs == 4200);
  656 }
  657 
  658 {
  659     <span class="d_keyword">auto</span> d = dur!<span class="d_string">"days"</span>(-7) + dur!<span class="d_string">"hours"</span>(-9);
  660     <span class="d_keyword">auto</span> result = d.<span class="d_psymbol">split</span>!(<span class="d_string">"days"</span>, <span class="d_string">"hours"</span>)();
  661     <span class="d_keyword">assert</span>(result.days == -7);
  662     <span class="d_keyword">assert</span>(result.hours == -9);
  663 }
  664 </pre>
  665 </div></div>
  666 
  667 <dl><dt class="d_decl"><div ><span class="def-anchor" id=".Duration.split.split"></span><div class="quickindex" id="quickindex.Duration.split.split"></div>const nothrow @nogc void <span class="def-anchor" id="split"></span><code class="ddoc_psymbol">split</code><span class="template_param_list" title="Template parameter list">(Args...)</span>(out Args <code class="ddoc_param">args</code>)<br><span class="constraint">if (units.length != 0 &amp;&amp; (<code class="ddoc_param">args</code>.length == units.length) &amp;&amp; allAreMutableIntegralTypes!Args)</span>;
  668 <br><br>const nothrow @nogc auto <span class="def-anchor" id="split"></span><code class="ddoc_psymbol">split</code>();
  669 <br></div></dt>
  670 <dd><div class="summary">Ditto</div>
  671 </dd>
  672 </dl>
  673 </dd>
  674 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.total"></span><div class="quickindex" id="quickindex.Duration.total"></div>const nothrow @nogc @property long <span class="def-anchor" id="total"></span><code class="ddoc_psymbol">total</code><span class="template_param_list" title="Template parameter list">(string units)</span>()<br><span class="constraint">if (units == "weeks" || units == "days" || units == "hours" || units == "minutes" || units == "seconds" || units == "msecs" || units == "usecs" || units == "hnsecs" || units == "nsecs")</span>;
  675 <br></div></dt>
  676 <dd><div class="summary">Returns the total number of the given units in this <span class="d_inlinecode donthyphenate notranslate">Duration</span>.
  677         So, unlike <span class="d_inlinecode donthyphenate notranslate">split</span>, it does not strip out the larger units.</div><span class="dlang_runnable"></span><div class="keyval Examples"><span class="key keyExamples">Examples:</span> <div class="val valExamples"><pre class="d_code notranslate"><span class="d_keyword">assert</span>(dur!<span class="d_string">"weeks"</span>(12).<span class="d_psymbol">total</span>!<span class="d_string">"weeks"</span> == 12);
  678 <span class="d_keyword">assert</span>(dur!<span class="d_string">"weeks"</span>(12).<span class="d_psymbol">total</span>!<span class="d_string">"days"</span> == 84);
  679 
  680 <span class="d_keyword">assert</span>(dur!<span class="d_string">"days"</span>(13).<span class="d_psymbol">total</span>!<span class="d_string">"weeks"</span> == 1);
  681 <span class="d_keyword">assert</span>(dur!<span class="d_string">"days"</span>(13).<span class="d_psymbol">total</span>!<span class="d_string">"days"</span> == 13);
  682 
  683 <span class="d_keyword">assert</span>(dur!<span class="d_string">"hours"</span>(49).<span class="d_psymbol">total</span>!<span class="d_string">"days"</span> == 2);
  684 <span class="d_keyword">assert</span>(dur!<span class="d_string">"hours"</span>(49).<span class="d_psymbol">total</span>!<span class="d_string">"hours"</span> == 49);
  685 
  686 <span class="d_keyword">assert</span>(dur!<span class="d_string">"nsecs"</span>(2007).<span class="d_psymbol">total</span>!<span class="d_string">"hnsecs"</span> == 20);
  687 <span class="d_keyword">assert</span>(dur!<span class="d_string">"nsecs"</span>(2007).<span class="d_psymbol">total</span>!<span class="d_string">"nsecs"</span> == 2000);
  688 </pre>
  689 </div></div>
  690 
  691 </dd>
  692 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.toString"></span><div class="quickindex" id="quickindex.Duration.toString"></div>const pure nothrow @safe string <span class="def-anchor" id="toString"></span><code class="ddoc_psymbol">toString</code>();
  693 <br></div></dt>
  694 <dd><div class="summary">Converts this <span class="d_inlinecode donthyphenate notranslate">Duration</span> to a <span class="d_inlinecode donthyphenate notranslate">string</span>.
  695 </div><div class="description">The string is meant to be human readable, not machine parseable (e.g.
  696         whether there is an <span class="d_inlinecode donthyphenate notranslate">'s'</span> on the end of the unit name usually depends on
  697         whether it's plural or not, and empty units are not included unless the
  698         Duration is <span class="d_inlinecode donthyphenate notranslate">zero</span>). Any code needing a specific string format should
  699         use <span class="d_inlinecode donthyphenate notranslate">total</span> or <span class="d_inlinecode donthyphenate notranslate">split</span> to get the units needed to create the desired
  700         string format and create the string itself.
  701 <div class="blankline"></div>
  702 
  703         The format returned by toString may or may not change in the future.</div>
  704 <span class="dlang_runnable"></span><div class="keyval Examples"><span class="key keyExamples">Examples:</span> <div class="val valExamples"><pre class="d_code notranslate"><span class="d_keyword">assert</span>(Duration.zero.<span class="d_psymbol">toString</span>() == <span class="d_string">"0 hnsecs"</span>);
  705 <span class="d_keyword">assert</span>(weeks(5).<span class="d_psymbol">toString</span>() == <span class="d_string">"5 weeks"</span>);
  706 <span class="d_keyword">assert</span>(days(2).<span class="d_psymbol">toString</span>() == <span class="d_string">"2 days"</span>);
  707 <span class="d_keyword">assert</span>(hours(1).<span class="d_psymbol">toString</span>() == <span class="d_string">"1 hour"</span>);
  708 <span class="d_keyword">assert</span>(minutes(19).<span class="d_psymbol">toString</span>() == <span class="d_string">"19 minutes"</span>);
  709 <span class="d_keyword">assert</span>(seconds(42).<span class="d_psymbol">toString</span>() == <span class="d_string">"42 secs"</span>);
  710 <span class="d_keyword">assert</span>(msecs(42).<span class="d_psymbol">toString</span>() == <span class="d_string">"42 ms"</span>);
  711 <span class="d_keyword">assert</span>(usecs(27).<span class="d_psymbol">toString</span>() == <span class="d_string">"27 μs"</span>);
  712 <span class="d_keyword">assert</span>(hnsecs(5).<span class="d_psymbol">toString</span>() == <span class="d_string">"5 hnsecs"</span>);
  713 
  714 <span class="d_keyword">assert</span>(seconds(121).<span class="d_psymbol">toString</span>() == <span class="d_string">"2 minutes and 1 sec"</span>);
  715 <span class="d_keyword">assert</span>((minutes(5) + seconds(3) + usecs(4)).<span class="d_psymbol">toString</span>() ==
  716        <span class="d_string">"5 minutes, 3 secs, and 4 μs"</span>);
  717 
  718 <span class="d_keyword">assert</span>(seconds(-42).<span class="d_psymbol">toString</span>() == <span class="d_string">"-42 secs"</span>);
  719 <span class="d_keyword">assert</span>(usecs(-5239492).<span class="d_psymbol">toString</span>() == <span class="d_string">"-5 secs, -239 ms, and -492 μs"</span>);
  720 </pre>
  721 </div></div>
  722 
  723 </dd>
  724 <dt class="d_decl"><div ><span class="def-anchor" id=".Duration.isNegative"></span><div class="quickindex" id="quickindex.Duration.isNegative"></div>const pure nothrow @nogc @property @safe bool <span class="def-anchor" id="isNegative"></span><code class="ddoc_psymbol">isNegative</code>();
  725 <br></div></dt>
  726 <dd><div class="summary">Returns whether this <span class="d_inlinecode donthyphenate notranslate">Duration</span> is negative.</div>
  727 </dd>
  728 </dl>
  729 </dd>
  730 <dt class="d_decl"><div ><span class="def-anchor" id=".to"></span><div class="quickindex" id="quickindex.to"></div>pure nothrow @nogc @safe T <span class="def-anchor" id="to"></span><code class="ddoc_psymbol">to</code><span class="template_param_list" title="Template parameter list">(string units, T, D)</span>(D <code class="ddoc_param">td</code>)<br><span class="constraint">if (is(immutable(D) == immutable(TickDuration)) &amp;&amp; (units == "seconds" || units == "msecs" || units == "usecs" || units == "hnsecs" || units == "nsecs"))</span>;
  731 <br></div></dt>
  732 <dd><div class="summary">Converts a <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> to the given units as either an integral
  733     value or a floating point value.
  734 </div><div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">units</td>
  735 <td class="param_desc">The units to convert to. Accepts <span class="d_inlinecode donthyphenate notranslate">"seconds"</span> and smaller
  736                 only.</td></tr>
  737 <tr class="param"><td class="param_id">T</td>
  738 <td class="param_desc">The type to convert to (either an integral type or a
  739                 floating point type).</td></tr>
  740 <tr class="param"><td class="param_id">D <code class="ddoc_param">td</code></td>
  741 <td class="param_desc">The TickDuration to convert</td></tr>
  742 </table></div></div>
  743 <span class="dlang_runnable"></span><div class="keyval Examples"><span class="key keyExamples">Examples:</span> <div class="val valExamples"><pre class="d_code notranslate"><span class="d_keyword">auto</span> t = TickDuration.from!<span class="d_string">"seconds"</span>(1000);
  744 
  745 <span class="d_keyword">long</span> tl = <span class="d_psymbol">to</span>!(<span class="d_string">"seconds"</span>,<span class="d_keyword">long</span>)(t);
  746 <span class="d_keyword">assert</span>(tl == 1000);
  747 
  748 <span class="d_keyword">import</span> core.stdc.math : fabs;
  749 <span class="d_keyword">double</span> <span class="d_param">td</span> = <span class="d_psymbol">to</span>!(<span class="d_string">"seconds"</span>,<span class="d_keyword">double</span>)(t);
  750 <span class="d_keyword">assert</span>(fabs(<span class="d_param">td</span> - 1000) &lt; 0.001);
  751 </pre>
  752 </div></div>
  753 
  754 </dd>
  755 <dt class="d_decl"><div ><span class="def-anchor" id=".dur"></span><div class="quickindex" id="quickindex.dur"></div>pure nothrow @nogc @safe Duration <span class="def-anchor" id="dur"></span><code class="ddoc_psymbol">dur</code><span class="template_param_list" title="Template parameter list">(string units)</span>(long <code class="ddoc_param">length</code>)<br><span class="constraint">if (units == "weeks" || units == "days" || units == "hours" || units == "minutes" || units == "seconds" || units == "msecs" || units == "usecs" || units == "hnsecs" || units == "nsecs")</span>;
  756 <br><br><span class="def-anchor" id=".weeks"></span><div class="quickindex" id="quickindex.weeks"></div>alias <span class="def-anchor" id="weeks"></span><code class="ddoc_psymbol">weeks</code> = dur!"<span class="def-anchor" id="weeks"></span><code class="ddoc_psymbol">weeks</code>".dur;
  757 <br><br><span class="def-anchor" id=".days"></span><div class="quickindex" id="quickindex.days"></div>alias <span class="def-anchor" id="days"></span><code class="ddoc_psymbol">days</code> = dur!"<span class="def-anchor" id="days"></span><code class="ddoc_psymbol">days</code>".dur;
  758 <br><br><span class="def-anchor" id=".hours"></span><div class="quickindex" id="quickindex.hours"></div>alias <span class="def-anchor" id="hours"></span><code class="ddoc_psymbol">hours</code> = dur!"<span class="def-anchor" id="hours"></span><code class="ddoc_psymbol">hours</code>".dur;
  759 <br><br><span class="def-anchor" id=".minutes"></span><div class="quickindex" id="quickindex.minutes"></div>alias <span class="def-anchor" id="minutes"></span><code class="ddoc_psymbol">minutes</code> = dur!"<span class="def-anchor" id="minutes"></span><code class="ddoc_psymbol">minutes</code>".dur;
  760 <br><br><span class="def-anchor" id=".seconds"></span><div class="quickindex" id="quickindex.seconds"></div>alias <span class="def-anchor" id="seconds"></span><code class="ddoc_psymbol">seconds</code> = dur!"<span class="def-anchor" id="seconds"></span><code class="ddoc_psymbol">seconds</code>".dur;
  761 <br><br><span class="def-anchor" id=".msecs"></span><div class="quickindex" id="quickindex.msecs"></div>alias <span class="def-anchor" id="msecs"></span><code class="ddoc_psymbol">msecs</code> = dur!"<span class="def-anchor" id="msecs"></span><code class="ddoc_psymbol">msecs</code>".dur;
  762 <br><br><span class="def-anchor" id=".usecs"></span><div class="quickindex" id="quickindex.usecs"></div>alias <span class="def-anchor" id="usecs"></span><code class="ddoc_psymbol">usecs</code> = dur!"<span class="def-anchor" id="usecs"></span><code class="ddoc_psymbol">usecs</code>".dur;
  763 <br><br><span class="def-anchor" id=".hnsecs"></span><div class="quickindex" id="quickindex.hnsecs"></div>alias <span class="def-anchor" id="hnsecs"></span><code class="ddoc_psymbol">hnsecs</code> = dur!"<span class="def-anchor" id="hnsecs"></span><code class="ddoc_psymbol">hnsecs</code>".dur;
  764 <br><br><span class="def-anchor" id=".nsecs"></span><div class="quickindex" id="quickindex.nsecs"></div>alias <span class="def-anchor" id="nsecs"></span><code class="ddoc_psymbol">nsecs</code> = dur!"<span class="def-anchor" id="nsecs"></span><code class="ddoc_psymbol">nsecs</code>".dur;
  765 <br></div></dt>
  766 <dd><div class="summary">These allow you to construct a <span class="d_inlinecode donthyphenate notranslate">Duration</span> from the given time units
  767     with the given length.
  768 </div><div class="description">You can either use the generic function <span class="d_inlinecode donthyphenate notranslate">dur</span> and give it the units as
  769     a <span class="d_inlinecode donthyphenate notranslate">string</span> or use the named aliases.
  770 <div class="blankline"></div>
  771 
  772     The possible values for units are <span class="d_inlinecode donthyphenate notranslate">"weeks"</span>, <span class="d_inlinecode donthyphenate notranslate">"days"</span>, <span class="d_inlinecode donthyphenate notranslate">"hours"</span>,
  773     <span class="d_inlinecode donthyphenate notranslate">"minutes"</span>, <span class="d_inlinecode donthyphenate notranslate">"seconds"</span>, <span class="d_inlinecode donthyphenate notranslate">"msecs"</span> (milliseconds), <span class="d_inlinecode donthyphenate notranslate">"usecs"</span>,
  774     (microseconds), <span class="d_inlinecode donthyphenate notranslate">"hnsecs"</span> (hecto-nanoseconds, i.e. 100 ns), and
  775     <span class="d_inlinecode donthyphenate notranslate">"nsecs"</span>.
  776 
  777 </div>
  778 <div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">units</td>
  779 <td class="param_desc">The time units of the <span class="d_inlinecode donthyphenate notranslate">Duration</span> (e.g. <span class="d_inlinecode donthyphenate notranslate">"days"</span>).</td></tr>
  780 <tr class="param"><td class="param_id">long <code class="ddoc_param">length</code></td>
  781 <td class="param_desc">The number of units in the <span class="d_inlinecode donthyphenate notranslate">Duration</span>.</td></tr>
  782 </table></div></div>
  783 <span class="dlang_runnable"></span><div class="keyval Examples"><span class="key keyExamples">Examples:</span> <div class="val valExamples"><pre class="d_code notranslate"><span class="d_comment">// Generic
  784 </span><span class="d_keyword">assert</span>(<span class="d_psymbol">dur</span>!<span class="d_string">"weeks"</span>(142).total!<span class="d_string">"weeks"</span> == 142);
  785 <span class="d_keyword">assert</span>(<span class="d_psymbol">dur</span>!<span class="d_string">"days"</span>(142).total!<span class="d_string">"days"</span> == 142);
  786 <span class="d_keyword">assert</span>(<span class="d_psymbol">dur</span>!<span class="d_string">"hours"</span>(142).total!<span class="d_string">"hours"</span> == 142);
  787 <span class="d_keyword">assert</span>(<span class="d_psymbol">dur</span>!<span class="d_string">"minutes"</span>(142).total!<span class="d_string">"minutes"</span> == 142);
  788 <span class="d_keyword">assert</span>(<span class="d_psymbol">dur</span>!<span class="d_string">"seconds"</span>(142).total!<span class="d_string">"seconds"</span> == 142);
  789 <span class="d_keyword">assert</span>(<span class="d_psymbol">dur</span>!<span class="d_string">"msecs"</span>(142).total!<span class="d_string">"msecs"</span> == 142);
  790 <span class="d_keyword">assert</span>(<span class="d_psymbol">dur</span>!<span class="d_string">"usecs"</span>(142).total!<span class="d_string">"usecs"</span> == 142);
  791 <span class="d_keyword">assert</span>(<span class="d_psymbol">dur</span>!<span class="d_string">"hnsecs"</span>(142).total!<span class="d_string">"hnsecs"</span> == 142);
  792 <span class="d_keyword">assert</span>(<span class="d_psymbol">dur</span>!<span class="d_string">"nsecs"</span>(142).total!<span class="d_string">"nsecs"</span> == 100);
  793 
  794 <span class="d_comment">// Non-generic
  795 </span><span class="d_keyword">assert</span>(<span class="d_psymbol">weeks</span>(142).total!<span class="d_string">"weeks"</span> == 142);
  796 <span class="d_keyword">assert</span>(<span class="d_psymbol">days</span>(142).total!<span class="d_string">"days"</span> == 142);
  797 <span class="d_keyword">assert</span>(<span class="d_psymbol">hours</span>(142).total!<span class="d_string">"hours"</span> == 142);
  798 <span class="d_keyword">assert</span>(<span class="d_psymbol">minutes</span>(142).total!<span class="d_string">"minutes"</span> == 142);
  799 <span class="d_keyword">assert</span>(<span class="d_psymbol">seconds</span>(142).total!<span class="d_string">"seconds"</span> == 142);
  800 <span class="d_keyword">assert</span>(<span class="d_psymbol">msecs</span>(142).total!<span class="d_string">"msecs"</span> == 142);
  801 <span class="d_keyword">assert</span>(<span class="d_psymbol">usecs</span>(142).total!<span class="d_string">"usecs"</span> == 142);
  802 <span class="d_keyword">assert</span>(<span class="d_psymbol">hnsecs</span>(142).total!<span class="d_string">"hnsecs"</span> == 142);
  803 <span class="d_keyword">assert</span>(<span class="d_psymbol">nsecs</span>(142).total!<span class="d_string">"nsecs"</span> == 100);
  804 </pre>
  805 </div></div>
  806 
  807 </dd>
  808 <dt class="d_decl"><div ><span class="def-anchor" id=".MonoTime"></span><div class="quickindex" id="quickindex.MonoTime"></div>alias <span class="def-anchor" id="MonoTime"></span><code class="ddoc_psymbol">MonoTime</code> = MonoTimeImpl!cast(ClockType)0.MonoTimeImpl;
  809 <br></div></dt>
  810 <dd><div class="summary">alias for <span class="d_inlinecode donthyphenate notranslate">MonoTimeImpl</span> instantiated with <span class="d_inlinecode donthyphenate notranslate">ClockType.normal</span>. This is
  811     what most programs should use. It's also what much of <span class="d_inlinecode donthyphenate notranslate">MonoTimeImpl</span> uses
  812     in its documentation (particularly in the examples), because that's what's
  813     going to be used in most code.</div>
  814 </dd>
  815 <dt class="d_decl"><div ><span class="def-anchor" id=".MonoTimeImpl"></span><div class="quickindex" id="quickindex.MonoTimeImpl"></div>struct <span class="def-anchor" id="MonoTimeImpl"></span><code class="ddoc_psymbol">MonoTimeImpl</code>(ClockType clockType);
  816 <br></div></dt>
  817 <dd><div class="summary">Represents a timestamp of the system's monotonic clock.
  818 </div><div class="description">    A monotonic clock is one which always goes forward and never moves
  819     backwards, unlike the system's wall clock time (as represented by
  820     <a href="std_datetime.html#.SysTime"><span class="d_inlinecode donthyphenate notranslate">std.datetime.SysTime</span></a>). The system's wall clock time can be adjusted
  821     by the user or by the system itself via services such as NTP, so it is
  822     unreliable to use the wall clock time for timing. Timers which use the wall
  823     clock time could easily end up never going off due to changes made to the
  824     wall clock time or otherwise waiting for a different period of time than
  825     that specified by the programmer. However, because the monotonic clock
  826     always increases at a fixed rate and is not affected by adjustments to the
  827     wall clock time, it is ideal for use with timers or anything which requires
  828     high precision timing.
  829 <div class="blankline"></div>
  830 
  831     So, MonoTime should be used for anything involving timers and timing,
  832     whereas <a href="std_datetime.html#.SysTime"><span class="d_inlinecode donthyphenate notranslate">std.datetime.SysTime</span></a> should be used when the wall clock time
  833     is required.
  834 <div class="blankline"></div>
  835 
  836     The monotonic clock has no relation to wall clock time. Rather, it holds
  837     its time as the number of ticks of the clock which have occurred since the
  838     clock started (typically when the system booted up). So, to determine how
  839     much time has passed between two points in time, one monotonic time is
  840     subtracted from the other to determine the number of ticks which occurred
  841     between the two points of time, and those ticks are divided by the number of
  842     ticks that occur every second (as represented by MonoTime.ticksPerSecond)
  843     to get a meaningful duration of time. Normally, MonoTime does these
  844     calculations for the programmer, but the <span class="d_inlinecode donthyphenate notranslate">ticks</span> and <span class="d_inlinecode donthyphenate notranslate">ticksPerSecond</span>
  845     properties are provided for those who require direct access to the system
  846     ticks. The normal way that MonoTime would be used is
  847 <div class="blankline"></div>
  848 
  849 <pre class="d_code notranslate">    MonoTime before = MonoTime.currTime;
  850     <span class="d_comment">// do stuff...
  851 </span>    MonoTime after = MonoTime.currTime;
  852     Duration timeElapsed = after - before;
  853 </pre>
  854 <div class="blankline"></div>
  855 
  856     <a href="#MonoTime"><span class="d_inlinecode donthyphenate notranslate">MonoTime</span></a> is an alias to <span class="d_inlinecode donthyphenate notranslate">MonoTimeImpl!(ClockType.normal)</span> and is
  857     what most programs should use for the monotonic clock, so that's what is
  858     used in most of <span class="d_inlinecode donthyphenate notranslate">MonoTimeImpl</span>'s documentation. But <span class="d_inlinecode donthyphenate notranslate">MonoTimeImpl</span>
  859     can be instantiated with other clock types for those rare programs that need
  860     it.
  861 
  862 </div>
  863 <div class="keyval SeeAlso"><span class="key keySeeAlso">See Also:</span> <div class="val valSeeAlso"><a href="#ClockType"><span class="d_inlinecode donthyphenate notranslate">ClockType</span></a></div></div>
  864 
  865 <dl><dt class="d_decl"><div ><span class="def-anchor" id=".MonoTimeImpl.currTime"></span><div class="quickindex" id="quickindex.MonoTimeImpl.currTime"></div>static nothrow @nogc @property @trusted MonoTimeImpl <span class="def-anchor" id="currTime"></span><code class="ddoc_psymbol">currTime</code>();
  866 <br></div></dt>
  867 <dd><div class="summary">The current time of the system's monotonic clock. This has no relation
  868         to the wall clock time, as the wall clock time can be adjusted (e.g.
  869         by NTP), whereas the monotonic clock always moves forward. The source
  870         of the monotonic time is system-specific.
  871 </div><div class="description">On Windows, <span class="d_inlinecode donthyphenate notranslate">QueryPerformanceCounter</span> is used. On Mac OS X,
  872         <span class="d_inlinecode donthyphenate notranslate">mach_absolute_time</span> is used, while on other POSIX systems,
  873         <span class="d_inlinecode donthyphenate notranslate">clock_gettime</span> is used.
  874 <div class="blankline"></div>
  875 
  876         <span class="red">Warning</span>: On some systems, the monotonic clock may stop counting
  877                         when the computer goes to sleep or hibernates. So, the
  878                         monotonic clock may indicate less time than has actually
  879                         passed if that occurs. This is known to happen on
  880                         Mac OS X. It has not been tested whether it occurs on
  881                         either Windows or Linux.</div>
  882 
  883 </dd>
  884 <dt class="d_decl"><div ><span class="def-anchor" id=".MonoTimeImpl.zero"></span><div class="quickindex" id="quickindex.MonoTimeImpl.zero"></div>MonoTimeImpl <span class="def-anchor" id="zero"></span><code class="ddoc_psymbol">zero</code>();
  885 <br></div></dt>
  886 <dd><div class="summary">A <span class="d_inlinecode donthyphenate notranslate">MonoTime</span> of <span class="d_inlinecode donthyphenate notranslate">0</span> ticks. It's provided to be consistent with
  887         <span class="d_inlinecode donthyphenate notranslate">Duration.zero</span>, and it's more explicit than <span class="d_inlinecode donthyphenate notranslate">MonoTime.init</span>.</div>
  888 </dd>
  889 <dt class="d_decl"><div ><span class="def-anchor" id=".MonoTimeImpl.max"></span><div class="quickindex" id="quickindex.MonoTimeImpl.max"></div>MonoTimeImpl <span class="def-anchor" id="max"></span><code class="ddoc_psymbol">max</code>();
  890 <br></div></dt>
  891 <dd><div class="summary">Largest <span class="d_inlinecode donthyphenate notranslate">MonoTime</span> possible.</div>
  892 </dd>
  893 <dt class="d_decl"><div ><span class="def-anchor" id=".MonoTimeImpl.min"></span><div class="quickindex" id="quickindex.MonoTimeImpl.min"></div>MonoTimeImpl <span class="def-anchor" id="min"></span><code class="ddoc_psymbol">min</code>();
  894 <br></div></dt>
  895 <dd><div class="summary">Most negative <span class="d_inlinecode donthyphenate notranslate">MonoTime</span> possible.</div>
  896 </dd>
  897 <dt class="d_decl"><div ><span class="def-anchor" id=".MonoTimeImpl.opCmp"></span><div class="quickindex" id="quickindex.MonoTimeImpl.opCmp"></div>const pure nothrow @nogc int <span class="def-anchor" id="opCmp"></span><code class="ddoc_psymbol">opCmp</code>(MonoTimeImpl <code class="ddoc_param">rhs</code>);
  898 <br></div></dt>
  899 <dd><div class="summary">Compares this MonoTime with the given MonoTime.
  900 </div><div class="keyval Returns"><span class="key keyReturns">Returns:</span> <div class="val valReturns"><table class="book"><caption></caption>                <tr><td>this &lt; rhs</td> <td>&lt; 0</td></tr>
  901                 <tr><td>this == rhs</td> <td>0</td></tr>
  902                 <tr><td>this &gt; rhs</td> <td>&gt; 0</td></tr>
  903             </table></div></div>
  904 
  905 </dd>
  906 <dt class="d_decl"><div ><span class="def-anchor" id=".MonoTimeImpl.opBinary"></span><div class="quickindex" id="quickindex.MonoTimeImpl.opBinary"></div>const pure nothrow @nogc Duration <span class="def-anchor" id="opBinary"></span><code class="ddoc_psymbol">opBinary</code><span class="template_param_list" title="Template parameter list">(string op)</span>(MonoTimeImpl <code class="ddoc_param">rhs</code>)<br><span class="constraint">if (op == "-")</span>;
  907 <br></div></dt>
  908 <dd><div class="summary">Subtracting two MonoTimes results in a <a href="#Duration"><span class="d_inlinecode donthyphenate notranslate">Duration</span></a> representing
  909         the amount of time which elapsed between them.
  910 </div><div class="description">        The primary way that programs should time how long something takes is to
  911         do
  912 <pre class="d_code notranslate">MonoTime before = MonoTime.currTime;
  913 <span class="d_comment">// do stuff
  914 </span>MonoTime after = MonoTime.currTime;
  915 
  916 <span class="d_comment">// How long it took.
  917 </span>Duration timeElapsed = after - before;
  918 </pre>
  919         or to use a wrapper (such as a stop watch type) which does that.
  920 <div class="blankline"></div>
  921 
  922         <span class="red">Warning</span>:
  923             Because <a href="#Duration"><span class="d_inlinecode donthyphenate notranslate">Duration</span></a> is in hnsecs, whereas MonoTime is in system
  924             ticks, it's usually the case that this assertion will fail
  925 <pre class="d_code notranslate"><span class="d_keyword">auto</span> before = MonoTime.currTime;
  926 <span class="d_comment">// do stuff
  927 </span><span class="d_keyword">auto</span> after = MonoTime.currTime;
  928 <span class="d_keyword">auto</span> timeElapsed = after - before;
  929 <span class="d_keyword">assert</span>(before + timeElapsed == after);
  930 </pre>
  931 <div class="blankline"></div>
  932 
  933             This is generally fine, and by its very nature, converting from
  934             system ticks to any type of seconds (hnsecs, nsecs, etc.) will
  935             introduce rounding errors, but if code needs to avoid any of the
  936             small rounding errors introduced by conversion, then it needs to use
  937             MonoTime's <span class="d_inlinecode donthyphenate notranslate">ticks</span> property and keep all calculations in ticks
  938             rather than using <a href="#Duration"><span class="d_inlinecode donthyphenate notranslate">Duration</span></a>.</div>
  939 
  940 </dd>
  941 <dt class="d_decl"><div ><span class="def-anchor" id=".MonoTimeImpl.opBinary.2"></span><div class="quickindex" id="quickindex.MonoTimeImpl.opBinary.2"></div>const pure nothrow @nogc MonoTimeImpl <span class="def-anchor" id="opBinary"></span><code class="ddoc_psymbol">opBinary</code><span class="template_param_list" title="Template parameter list">(string op)</span>(Duration <code class="ddoc_param">rhs</code>)<br><span class="constraint">if (op == "+" || op == "-")</span>;
  942 <br><br><span class="def-anchor" id=".MonoTimeImpl.opOpAssign"></span><div class="quickindex" id="quickindex.MonoTimeImpl.opOpAssign"></div>pure nothrow @nogc ref MonoTimeImpl <span class="def-anchor" id="opOpAssign"></span><code class="ddoc_psymbol">opOpAssign</code><span class="template_param_list" title="Template parameter list">(string op)</span>(Duration <code class="ddoc_param">rhs</code>)<br><span class="constraint">if (op == "+" || op == "-")</span>;
  943 <br></div></dt>
  944 <dd><div class="summary">Adding or subtracting a <a href="#Duration"><span class="d_inlinecode donthyphenate notranslate">Duration</span></a> to/from a MonoTime results in
  945         a MonoTime which is adjusted by that amount.</div>
  946 </dd>
  947 <dt class="d_decl"><div ><span class="def-anchor" id=".MonoTimeImpl.ticks"></span><div class="quickindex" id="quickindex.MonoTimeImpl.ticks"></div>const pure nothrow @nogc @property long <span class="def-anchor" id="ticks"></span><code class="ddoc_psymbol">ticks</code>();
  948 <br></div></dt>
  949 <dd><div class="summary">The number of ticks in the monotonic time.
  950 </div><div class="description">Most programs should not use this directly, but it's exposed for those
  951         few programs that need it.
  952 <div class="blankline"></div>
  953 
  954         The main reasons that a program might need to use ticks directly is if
  955         the system clock has higher precision than hnsecs, and the program needs
  956         that higher precision, or if the program needs to avoid the rounding
  957         errors caused by converting to hnsecs.</div>
  958 
  959 </dd>
  960 <dt class="d_decl"><div ><span class="def-anchor" id=".MonoTimeImpl.ticksPerSecond"></span><div class="quickindex" id="quickindex.MonoTimeImpl.ticksPerSecond"></div>static pure nothrow @nogc @property long <span class="def-anchor" id="ticksPerSecond"></span><code class="ddoc_psymbol">ticksPerSecond</code>();
  961 <br></div></dt>
  962 <dd><div class="summary">The number of ticks that MonoTime has per second - i.e. the resolution
  963         or frequency of the system's monotonic clock.
  964 </div><div class="description">e.g. if the system clock had a resolution of microseconds, then
  965         ticksPerSecond would be <span class="d_inlinecode donthyphenate notranslate">1_000_000</span>.</div>
  966 
  967 </dd>
  968 <dt class="d_decl"><div ><span class="def-anchor" id=".MonoTimeImpl.toString"></span><div class="quickindex" id="quickindex.MonoTimeImpl.toString"></div>const pure nothrow string <span class="def-anchor" id="toString"></span><code class="ddoc_psymbol">toString</code>();
  969 <br></div></dt>
  970 <dd>
  971 </dd>
  972 </dl>
  973 </dd>
  974 <dt class="d_decl"><div ><span class="def-anchor" id=".convClockFreq"></span><div class="quickindex" id="quickindex.convClockFreq"></div>pure nothrow @nogc @safe long <span class="def-anchor" id="convClockFreq"></span><code class="ddoc_psymbol">convClockFreq</code>(long <code class="ddoc_param">ticks</code>, long <code class="ddoc_param">srcTicksPerSecond</code>, long <code class="ddoc_param">dstTicksPerSecond</code>);
  975 <br></div></dt>
  976 <dd><div class="summary">Converts the given time from one clock frequency/resolution to another.
  977 </div><div class="keyval SeeAlso"><span class="key keySeeAlso">See Also:</span> <div class="val valSeeAlso"><a href="#ticksToNSecs"><span class="d_inlinecode donthyphenate notranslate">ticksToNSecs</span></a></div></div>
  978 <span class="dlang_runnable"></span><div class="keyval Examples"><span class="key keyExamples">Examples:</span> <div class="val valExamples"><pre class="d_code notranslate"><span class="d_comment">// one tick is one second -&gt; one tick is a hecto-nanosecond
  979 </span><span class="d_keyword">assert</span>(<span class="d_psymbol">convClockFreq</span>(45, 1, 10_000_000) == 450_000_000);
  980 
  981 <span class="d_comment">// one tick is one microsecond -&gt; one tick is a millisecond
  982 </span><span class="d_keyword">assert</span>(<span class="d_psymbol">convClockFreq</span>(9029, 1_000_000, 1_000) == 9);
  983 
  984 <span class="d_comment">// one tick is 1/3_515_654 of a second -&gt; 1/1_001_010 of a second
  985 </span><span class="d_keyword">assert</span>(<span class="d_psymbol">convClockFreq</span>(912_319, 3_515_654, 1_001_010) == 259_764);
  986 
  987 <span class="d_comment">// one tick is 1/MonoTime.ticksPerSecond -&gt; one tick is a nanosecond
  988 </span><span class="d_comment">// Equivalent to ticksToNSecs
  989 </span><span class="d_keyword">auto</span> nsecs = <span class="d_psymbol">convClockFreq</span>(1982, MonoTime.ticksPerSecond, 1_000_000_000);
  990 </pre>
  991 </div></div>
  992 
  993 </dd>
  994 <dt class="d_decl"><div ><span class="def-anchor" id=".ticksToNSecs"></span><div class="quickindex" id="quickindex.ticksToNSecs"></div>pure nothrow @nogc @safe long <span class="def-anchor" id="ticksToNSecs"></span><code class="ddoc_psymbol">ticksToNSecs</code>(long <code class="ddoc_param">ticks</code>);
  995 <br></div></dt>
  996 <dd><div class="summary">Convenience wrapper around <a href="#convClockFreq"><span class="d_inlinecode donthyphenate notranslate">convClockFreq</span></a> which converts ticks at
  997     a clock frequency of <span class="d_inlinecode donthyphenate notranslate">MonoTime.ticksPerSecond</span> to nanoseconds.
  998 </div><div class="description">It's primarily of use when <span class="d_inlinecode donthyphenate notranslate">MonoTime.ticksPerSecond</span> is greater than
  999     hecto-nanosecond resolution, and an application needs a higher precision
 1000     than hecto-nanoceconds.
 1001 
 1002 </div>
 1003 <div class="keyval SeeAlso"><span class="key keySeeAlso">See Also:</span> <div class="val valSeeAlso"><a href="#convClockFreq"><span class="d_inlinecode donthyphenate notranslate">convClockFreq</span></a></div></div>
 1004 <span class="dlang_runnable"></span><div class="keyval Examples"><span class="key keyExamples">Examples:</span> <div class="val valExamples"><pre class="d_code notranslate"><span class="d_keyword">auto</span> before = MonoTime.currTime;
 1005 <span class="d_comment">// do stuff
 1006 </span><span class="d_keyword">auto</span> after = MonoTime.currTime;
 1007 <span class="d_keyword">auto</span> diffInTicks = after.<span class="d_param">ticks</span> - before.<span class="d_param">ticks</span>;
 1008 <span class="d_keyword">auto</span> diffInNSecs = <span class="d_psymbol">ticksToNSecs</span>(diffInTicks);
 1009 <span class="d_keyword">assert</span>(diffInNSecs == convClockFreq(diffInTicks, MonoTime.ticksPerSecond, 1_000_000_000));
 1010 </pre>
 1011 </div></div>
 1012 
 1013 </dd>
 1014 <dt class="d_decl"><div ><span class="def-anchor" id=".nsecsToTicks"></span><div class="quickindex" id="quickindex.nsecsToTicks"></div>pure nothrow @nogc @safe long <span class="def-anchor" id="nsecsToTicks"></span><code class="ddoc_psymbol">nsecsToTicks</code>(long <code class="ddoc_param">ticks</code>);
 1015 <br></div></dt>
 1016 <dd><div class="summary">The reverse of <a href="#ticksToNSecs"><span class="d_inlinecode donthyphenate notranslate">ticksToNSecs</span></a>.</div>
 1017 </dd>
 1018 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration"></span><div class="quickindex" id="quickindex.TickDuration"></div>struct <span class="def-anchor" id="TickDuration"></span><code class="ddoc_psymbol">TickDuration</code>;
 1019 <br></div></dt>
 1020 <dd><div class="summary"><span class="red">Warning: TickDuration will be deprecated in the near future (once all
 1021           uses of it in Phobos have been deprecated). Please use
 1022           <a href="#MonoTime"><span class="d_inlinecode donthyphenate notranslate">MonoTime</span></a> for the cases where a monotonic timestamp is needed
 1023           and <a href="#Duration"><span class="d_inlinecode donthyphenate notranslate">Duration</span></a> when a duration is needed, rather than using
 1024           TickDuration. It has been decided that TickDuration is too confusing
 1025           (e.g. it conflates a monotonic timestamp and a duration in monotonic
 1026            clock ticks) and that having multiple duration types is too awkward
 1027           and confusing.</span>
 1028 </div><div class="description">Represents a duration of time in system clock ticks.
 1029 <div class="blankline"></div>
 1030 
 1031    The system clock ticks are the ticks of the system clock at the highest
 1032    precision that the system provides.</div>
 1033 
 1034 <dl><dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.ticksPerSec"></span><div class="quickindex" id="quickindex.TickDuration.ticksPerSec"></div>static immutable long <span class="def-anchor" id="ticksPerSec"></span><code class="ddoc_psymbol">ticksPerSec</code>;
 1035 <br></div></dt>
 1036 <dd><div class="summary">The number of ticks that the system clock has in one second.
 1037 </div><div class="description">If <span class="d_inlinecode donthyphenate notranslate">ticksPerSec</span> is <span class="d_inlinecode donthyphenate notranslate">0</span>, then then <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> failed to
 1038        get the value of <span class="d_inlinecode donthyphenate notranslate">ticksPerSec</span> on the current system, and
 1039        <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> is not going to work. That would be highly abnormal
 1040        though.</div>
 1041 
 1042 </dd>
 1043 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.appOrigin"></span><div class="quickindex" id="quickindex.TickDuration.appOrigin"></div>static immutable TickDuration <span class="def-anchor" id="appOrigin"></span><code class="ddoc_psymbol">appOrigin</code>;
 1044 <br></div></dt>
 1045 <dd><div class="summary">The tick of the system clock (as a <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>) when the
 1046         application started.</div>
 1047 </dd>
 1048 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.zero"></span><div class="quickindex" id="quickindex.TickDuration.zero"></div>static pure nothrow @nogc @property @safe TickDuration <span class="def-anchor" id="zero"></span><code class="ddoc_psymbol">zero</code>();
 1049 <br></div></dt>
 1050 <dd><div class="summary">It's the same as <span class="d_inlinecode donthyphenate notranslate">TickDuration(0)</span>, but it's provided to be
 1051         consistent with <span class="d_inlinecode donthyphenate notranslate">Duration</span>, which provides a <span class="d_inlinecode donthyphenate notranslate">zero</span> property.</div>
 1052 </dd>
 1053 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.max"></span><div class="quickindex" id="quickindex.TickDuration.max"></div>static pure nothrow @nogc @property @safe TickDuration <span class="def-anchor" id="max"></span><code class="ddoc_psymbol">max</code>();
 1054 <br></div></dt>
 1055 <dd><div class="summary">Largest <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> possible.</div>
 1056 </dd>
 1057 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.min"></span><div class="quickindex" id="quickindex.TickDuration.min"></div>static pure nothrow @nogc @property @safe TickDuration <span class="def-anchor" id="min"></span><code class="ddoc_psymbol">min</code>();
 1058 <br></div></dt>
 1059 <dd><div class="summary">Most negative <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> possible.</div>
 1060 </dd>
 1061 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.length"></span><div class="quickindex" id="quickindex.TickDuration.length"></div>long <span class="def-anchor" id="length"></span><code class="ddoc_psymbol">length</code>;
 1062 <br></div></dt>
 1063 <dd><div class="summary">The number of system ticks in this <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>.
 1064 </div><div class="description">You can convert this <span class="d_inlinecode donthyphenate notranslate">length</span> into the number of seconds by dividing
 1065        it by <span class="d_inlinecode donthyphenate notranslate">ticksPerSec</span> (or using one the appropriate property function
 1066        to do it).</div>
 1067 
 1068 </dd>
 1069 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.seconds"></span><div class="quickindex" id="quickindex.TickDuration.seconds"></div>const pure nothrow @nogc @property @safe long <span class="def-anchor" id="seconds"></span><code class="ddoc_psymbol">seconds</code>();
 1070 <br></div></dt>
 1071 <dd><div class="summary">Returns the total number of seconds in this <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>.</div>
 1072 </dd>
 1073 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.msecs"></span><div class="quickindex" id="quickindex.TickDuration.msecs"></div>const pure nothrow @nogc @property @safe long <span class="def-anchor" id="msecs"></span><code class="ddoc_psymbol">msecs</code>();
 1074 <br></div></dt>
 1075 <dd><div class="summary">Returns the total number of milliseconds in this <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>.</div>
 1076 </dd>
 1077 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.usecs"></span><div class="quickindex" id="quickindex.TickDuration.usecs"></div>const pure nothrow @nogc @property @safe long <span class="def-anchor" id="usecs"></span><code class="ddoc_psymbol">usecs</code>();
 1078 <br></div></dt>
 1079 <dd><div class="summary">Returns the total number of microseconds in this <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>.</div>
 1080 </dd>
 1081 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.hnsecs"></span><div class="quickindex" id="quickindex.TickDuration.hnsecs"></div>const pure nothrow @nogc @property @safe long <span class="def-anchor" id="hnsecs"></span><code class="ddoc_psymbol">hnsecs</code>();
 1082 <br></div></dt>
 1083 <dd><div class="summary">Returns the total number of hecto-nanoseconds in this <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>.</div>
 1084 </dd>
 1085 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.nsecs"></span><div class="quickindex" id="quickindex.TickDuration.nsecs"></div>const pure nothrow @nogc @property @safe long <span class="def-anchor" id="nsecs"></span><code class="ddoc_psymbol">nsecs</code>();
 1086 <br></div></dt>
 1087 <dd><div class="summary">Returns the total number of nanoseconds in this <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>.</div>
 1088 </dd>
 1089 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.from"></span><div class="quickindex" id="quickindex.TickDuration.from"></div>pure nothrow @nogc @safe TickDuration <span class="def-anchor" id="from"></span><code class="ddoc_psymbol">from</code><span class="template_param_list" title="Template parameter list">(string units)</span>(long <code class="ddoc_param">length</code>)<br><span class="constraint">if (units == "seconds" || units == "msecs" || units == "usecs" || units == "hnsecs" || units == "nsecs")</span>;
 1090 <br></div></dt>
 1091 <dd><div class="summary">This allows you to construct a <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> from the given time
 1092         units with the given length.
 1093 </div><div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">units</td>
 1094 <td class="param_desc">The time units of the <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> (e.g. <span class="d_inlinecode donthyphenate notranslate">"msecs"</span>).</td></tr>
 1095 <tr class="param"><td class="param_id">long <code class="ddoc_param">length</code></td>
 1096 <td class="param_desc">The number of units in the <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>.</td></tr>
 1097 </table></div></div>
 1098 
 1099 </dd>
 1100 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.opCast"></span><div class="quickindex" id="quickindex.TickDuration.opCast"></div>const pure nothrow @nogc @safe Duration <span class="def-anchor" id="opCast"></span><code class="ddoc_psymbol">opCast</code><span class="template_param_list" title="Template parameter list">(T)</span>()<br><span class="constraint">if (is(immutable(T) == immutable(Duration)))</span>;
 1101 <br></div></dt>
 1102 <dd><div class="summary">Returns a <a href="#Duration"><span class="d_inlinecode donthyphenate notranslate">Duration</span></a> with the same number of hnsecs as this
 1103         <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>.
 1104         Note that the conventional way to convert between <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>
 1105         and <span class="d_inlinecode donthyphenate notranslate">Duration</span> is using <a href="std_conv.html#.to"><span class="d_inlinecode donthyphenate notranslate">std.conv.to</span></a>, e.g.:
 1106         <span class="d_inlinecode donthyphenate notranslate">tickDuration.to!Duration()</span></div>
 1107 </dd>
 1108 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.opOpAssign"></span><div class="quickindex" id="quickindex.TickDuration.opOpAssign"></div>pure nothrow @nogc ref @safe TickDuration <span class="def-anchor" id="opOpAssign"></span><code class="ddoc_psymbol">opOpAssign</code><span class="template_param_list" title="Template parameter list">(string op)</span>(TickDuration <code class="ddoc_param">rhs</code>)<br><span class="constraint">if (op == "+" || op == "-")</span>;
 1109 <br></div></dt>
 1110 <dd><div class="summary">Adds or subtracts two <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>s as well as assigning the result
 1111         to this <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>.
 1112 </div><div class="description">The legal types of arithmetic for <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> using this operator
 1113         are
 1114 <div class="blankline"></div>
 1115 
 1116         <table cellspacing="0" cellpadding="5"><caption>        <tr><td>TickDuration</td> <td>+=</td> <td>TickDuration</td> <td>--&gt;</td> <td>TickDuration</td></tr>
 1117         <tr><td>TickDuration</td> <td>-=</td> <td>TickDuration</td> <td>--&gt;</td> <td>TickDuration</td></tr>
 1118         </caption></table>
 1119 
 1120 </div>
 1121 <div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">TickDuration <code class="ddoc_param">rhs</code></td>
 1122 <td class="param_desc">The <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> to add to or subtract from this
 1123                   <span class="d_inlinecode donthyphenate notranslate"><span class="d_inlinecode donthyphenate notranslate">TickDuration</span></span>.</td></tr>
 1124 </table></div></div>
 1125 
 1126 </dd>
 1127 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.opBinary"></span><div class="quickindex" id="quickindex.TickDuration.opBinary"></div>const pure nothrow @nogc @safe TickDuration <span class="def-anchor" id="opBinary"></span><code class="ddoc_psymbol">opBinary</code><span class="template_param_list" title="Template parameter list">(string op)</span>(TickDuration <code class="ddoc_param">rhs</code>)<br><span class="constraint">if (op == "+" || op == "-")</span>;
 1128 <br></div></dt>
 1129 <dd><div class="summary">Adds or subtracts two <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>s.
 1130 </div><div class="description">The legal types of arithmetic for <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> using this operator
 1131         are
 1132 <div class="blankline"></div>
 1133 
 1134         <table cellspacing="0" cellpadding="5"><caption>        <tr><td>TickDuration</td> <td>+</td> <td>TickDuration</td> <td>--&gt;</td> <td>TickDuration</td></tr>
 1135         <tr><td>TickDuration</td> <td>-</td> <td>TickDuration</td> <td>--&gt;</td> <td>TickDuration</td></tr>
 1136         </caption></table>
 1137 
 1138 </div>
 1139 <div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">TickDuration <code class="ddoc_param">rhs</code></td>
 1140 <td class="param_desc">The <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> to add to or subtract from this
 1141                   <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>.</td></tr>
 1142 </table></div></div>
 1143 
 1144 </dd>
 1145 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.opUnary"></span><div class="quickindex" id="quickindex.TickDuration.opUnary"></div>const pure nothrow @nogc @safe TickDuration <span class="def-anchor" id="opUnary"></span><code class="ddoc_psymbol">opUnary</code><span class="template_param_list" title="Template parameter list">(string op)</span>()<br><span class="constraint">if (op == "-")</span>;
 1146 <br></div></dt>
 1147 <dd><div class="summary">Returns the negation of this <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>.</div>
 1148 </dd>
 1149 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.opCmp"></span><div class="quickindex" id="quickindex.TickDuration.opCmp"></div>const pure nothrow @nogc @safe int <span class="def-anchor" id="opCmp"></span><code class="ddoc_psymbol">opCmp</code>(TickDuration <code class="ddoc_param">rhs</code>);
 1150 <br></div></dt>
 1151 <dd><div class="summary">operator overloading "&lt;, &gt;, &lt;=, &gt;="</div>
 1152 </dd>
 1153 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.opOpAssign.2"></span><div class="quickindex" id="quickindex.TickDuration.opOpAssign.2"></div>pure nothrow @nogc @safe void <span class="def-anchor" id="opOpAssign"></span><code class="ddoc_psymbol">opOpAssign</code><span class="template_param_list" title="Template parameter list">(string op, T)</span>(T <code class="ddoc_param">value</code>)<br><span class="constraint">if (op == "*" &amp;&amp; (__traits(isIntegral, T) || __traits(isFloating, T)))</span>;
 1154 <br></div></dt>
 1155 <dd><div class="summary">The legal types of arithmetic for <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> using this operator
 1156         overload are
 1157 </div><div class="description"><table cellspacing="0" cellpadding="5"><caption>        <tr><td>TickDuration</td> <td>*</td> <td>long</td> <td>--&gt;</td> <td>TickDuration</td></tr>
 1158         <tr><td>TickDuration</td> <td>*</td> <td>floating point</td> <td>--&gt;</td> <td>TickDuration</td></tr>
 1159         </caption></table>
 1160 
 1161 </div>
 1162 <div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">T <code class="ddoc_param">value</code></td>
 1163 <td class="param_desc">The value to divide from this duration.</td></tr>
 1164 </table></div></div>
 1165 
 1166 </dd>
 1167 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.opOpAssign.3"></span><div class="quickindex" id="quickindex.TickDuration.opOpAssign.3"></div>pure @safe void <span class="def-anchor" id="opOpAssign"></span><code class="ddoc_psymbol">opOpAssign</code><span class="template_param_list" title="Template parameter list">(string op, T)</span>(T <code class="ddoc_param">value</code>)<br><span class="constraint">if (op == "/" &amp;&amp; (__traits(isIntegral, T) || __traits(isFloating, T)))</span>;
 1168 <br></div></dt>
 1169 <dd><div class="summary">The legal types of arithmetic for <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> using this operator
 1170         overload are
 1171 </div><div class="description"><table cellspacing="0" cellpadding="5"><caption>        <tr><td>TickDuration</td> <td>/</td> <td>long</td> <td>--&gt;</td> <td>TickDuration</td></tr>
 1172         <tr><td>TickDuration</td> <td>/</td> <td>floating point</td> <td>--&gt;</td> <td>TickDuration</td></tr>
 1173         </caption></table>
 1174 
 1175 </div>
 1176 <div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">T <code class="ddoc_param">value</code></td>
 1177 <td class="param_desc">The value to divide from this <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>.</td></tr>
 1178 </table></div></div>
 1179 <div class="keyval Throws"><span class="key keyThrows">Throws:</span> <div class="val valThrows"><span class="d_inlinecode donthyphenate notranslate">TimeException</span> if an attempt to divide by <span class="d_inlinecode donthyphenate notranslate">0</span> is made.</div></div>
 1180 
 1181 </dd>
 1182 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.opBinary.2"></span><div class="quickindex" id="quickindex.TickDuration.opBinary.2"></div>const pure nothrow @nogc @safe TickDuration <span class="def-anchor" id="opBinary"></span><code class="ddoc_psymbol">opBinary</code><span class="template_param_list" title="Template parameter list">(string op, T)</span>(T <code class="ddoc_param">value</code>)<br><span class="constraint">if (op == "*" &amp;&amp; (__traits(isIntegral, T) || __traits(isFloating, T)))</span>;
 1183 <br></div></dt>
 1184 <dd><div class="summary">The legal types of arithmetic for <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> using this operator
 1185         overload are
 1186 </div><div class="description"><table cellspacing="0" cellpadding="5"><caption>        <tr><td>TickDuration</td> <td>*</td> <td>long</td> <td>--&gt;</td> <td>TickDuration</td></tr>
 1187         <tr><td>TickDuration</td> <td>*</td> <td>floating point</td> <td>--&gt;</td> <td>TickDuration</td></tr>
 1188         </caption></table>
 1189 
 1190 </div>
 1191 <div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">T <code class="ddoc_param">value</code></td>
 1192 <td class="param_desc">The value to divide from this <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>.</td></tr>
 1193 </table></div></div>
 1194 
 1195 </dd>
 1196 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.opBinary.3"></span><div class="quickindex" id="quickindex.TickDuration.opBinary.3"></div>const pure @safe TickDuration <span class="def-anchor" id="opBinary"></span><code class="ddoc_psymbol">opBinary</code><span class="template_param_list" title="Template parameter list">(string op, T)</span>(T <code class="ddoc_param">value</code>)<br><span class="constraint">if (op == "/" &amp;&amp; (__traits(isIntegral, T) || __traits(isFloating, T)))</span>;
 1197 <br></div></dt>
 1198 <dd><div class="summary">The legal types of arithmetic for <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> using this operator
 1199         overload are
 1200 </div><div class="description"><table cellspacing="0" cellpadding="5"><caption>        <tr><td>TickDuration</td> <td>/</td> <td>long</td> <td>--&gt;</td> <td>TickDuration</td></tr>
 1201         <tr><td>TickDuration</td> <td>/</td> <td>floating point</td> <td>--&gt;</td> <td>TickDuration</td></tr>
 1202         </caption></table>
 1203 
 1204 </div>
 1205 <div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">T <code class="ddoc_param">value</code></td>
 1206 <td class="param_desc">The value to divide from this <span class="d_inlinecode donthyphenate notranslate">TickDuration</span>.</td></tr>
 1207 </table></div></div>
 1208 <div class="keyval Throws"><span class="key keyThrows">Throws:</span> <div class="val valThrows"><span class="d_inlinecode donthyphenate notranslate">TimeException</span> if an attempt to divide by <span class="d_inlinecode donthyphenate notranslate">0</span> is made.</div></div>
 1209 
 1210 </dd>
 1211 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.this"></span><div class="quickindex" id="quickindex.TickDuration.this"></div>pure nothrow @nogc @safe this(long <code class="ddoc_param">ticks</code>);
 1212 <br></div></dt>
 1213 <dd><div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">long <code class="ddoc_param">ticks</code></td>
 1214 <td class="param_desc">The number of ticks in the TickDuration.</td></tr>
 1215 </table></div></div>
 1216 
 1217 </dd>
 1218 <dt class="d_decl"><div ><span class="def-anchor" id=".TickDuration.currSystemTick"></span><div class="quickindex" id="quickindex.TickDuration.currSystemTick"></div>static nothrow @nogc @property @trusted TickDuration <span class="def-anchor" id="currSystemTick"></span><code class="ddoc_psymbol">currSystemTick</code>();
 1219 <br></div></dt>
 1220 <dd><div class="summary">The current system tick. The number of ticks per second varies from
 1221         system to system. <span class="d_inlinecode donthyphenate notranslate">currSystemTick</span> uses a monotonic clock, so it's
 1222         intended for precision timing by comparing relative time values, not for
 1223         getting the current system time.
 1224 </div><div class="description">On Windows, <span class="d_inlinecode donthyphenate notranslate">QueryPerformanceCounter</span> is used. On Mac OS X,
 1225         <span class="d_inlinecode donthyphenate notranslate">mach_absolute_time</span> is used, while on other Posix systems,
 1226         <span class="d_inlinecode donthyphenate notranslate">clock_gettime</span> is used. If <span class="d_inlinecode donthyphenate notranslate">mach_absolute_time</span> or
 1227         <span class="d_inlinecode donthyphenate notranslate">clock_gettime</span> is unavailable, then Posix systems use
 1228         <span class="d_inlinecode donthyphenate notranslate">gettimeofday</span> (the decision is made when <span class="d_inlinecode donthyphenate notranslate">TickDuration</span> is
 1229         compiled), which unfortunately, is not monotonic, but if
 1230         <span class="d_inlinecode donthyphenate notranslate">mach_absolute_time</span> and <span class="d_inlinecode donthyphenate notranslate">clock_gettime</span> aren't available, then
 1231         <span class="d_inlinecode donthyphenate notranslate">gettimeofday</span> is the the best that there is.
 1232 <div class="blankline"></div>
 1233 
 1234         <span class="red">Warning</span>:
 1235             On some systems, the monotonic clock may stop counting when
 1236             the computer goes to sleep or hibernates. So, the monotonic
 1237             clock could be off if that occurs. This is known to happen
 1238             on Mac OS X. It has not been tested whether it occurs on
 1239             either Windows or on Linux.
 1240 
 1241 </div>
 1242 <div class="keyval Throws"><span class="key keyThrows">Throws:</span> <div class="val valThrows"><span class="d_inlinecode donthyphenate notranslate">TimeException</span> if it fails to get the time.</div></div>
 1243 
 1244 </dd>
 1245 </dl>
 1246 </dd>
 1247 <dt class="d_decl"><div ><span class="def-anchor" id=".convert"></span><div class="quickindex" id="quickindex.convert"></div>pure nothrow @nogc @safe long <span class="def-anchor" id="convert"></span><code class="ddoc_psymbol">convert</code><span class="template_param_list" title="Template parameter list">(string from, string to)</span>(long <code class="ddoc_param">value</code>)<br><span class="constraint">if ((from == "weeks" || from == "days" || from == "hours" || from == "minutes" || from == "seconds" || from == "msecs" || from == "usecs" || from == "hnsecs" || from == "nsecs") &amp;&amp; (to == "weeks" || to == "days" || to == "hours" || to == "minutes" || to == "seconds" || to == "msecs" || to == "usecs" || to == "hnsecs" || to == "nsecs") || (from == "years" || from == "months") &amp;&amp; (to == "years" || to == "months"))</span>;
 1248 <br></div></dt>
 1249 <dd><div class="summary">Generic way of converting between two time units. Conversions to smaller
 1250     units use truncating division. Years and months can be converted to each
 1251     other, small units can be converted to each other, but years and months
 1252     cannot be converted to or from smaller units (due to the varying number
 1253     of days in a month or year).
 1254 </div><div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">from</td>
 1255 <td class="param_desc">The units of time to convert from.</td></tr>
 1256 <tr class="param"><td class="param_id">to</td>
 1257 <td class="param_desc">The units of time to convert to.</td></tr>
 1258 <tr class="param"><td class="param_id">long <code class="ddoc_param">value</code></td>
 1259 <td class="param_desc">The value to convert.</td></tr>
 1260 </table></div></div>
 1261 <span class="dlang_runnable"></span><div class="keyval Examples"><span class="key keyExamples">Examples:</span> <div class="val valExamples"><pre class="d_code notranslate"><span class="d_keyword">assert</span>(<span class="d_psymbol">convert</span>!(<span class="d_string">"years"</span>, <span class="d_string">"months"</span>)(1) == 12);
 1262 <span class="d_keyword">assert</span>(<span class="d_psymbol">convert</span>!(<span class="d_string">"months"</span>, <span class="d_string">"years"</span>)(12) == 1);
 1263 
 1264 <span class="d_keyword">assert</span>(<span class="d_psymbol">convert</span>!(<span class="d_string">"weeks"</span>, <span class="d_string">"days"</span>)(1) == 7);
 1265 <span class="d_keyword">assert</span>(<span class="d_psymbol">convert</span>!(<span class="d_string">"hours"</span>, <span class="d_string">"seconds"</span>)(1) == 3600);
 1266 <span class="d_keyword">assert</span>(<span class="d_psymbol">convert</span>!(<span class="d_string">"seconds"</span>, <span class="d_string">"days"</span>)(1) == 0);
 1267 <span class="d_keyword">assert</span>(<span class="d_psymbol">convert</span>!(<span class="d_string">"seconds"</span>, <span class="d_string">"days"</span>)(86_400) == 1);
 1268 
 1269 <span class="d_keyword">assert</span>(<span class="d_psymbol">convert</span>!(<span class="d_string">"nsecs"</span>, <span class="d_string">"nsecs"</span>)(1) == 1);
 1270 <span class="d_keyword">assert</span>(<span class="d_psymbol">convert</span>!(<span class="d_string">"nsecs"</span>, <span class="d_string">"hnsecs"</span>)(1) == 0);
 1271 <span class="d_keyword">assert</span>(<span class="d_psymbol">convert</span>!(<span class="d_string">"hnsecs"</span>, <span class="d_string">"nsecs"</span>)(1) == 100);
 1272 <span class="d_keyword">assert</span>(<span class="d_psymbol">convert</span>!(<span class="d_string">"nsecs"</span>, <span class="d_string">"seconds"</span>)(1) == 0);
 1273 <span class="d_keyword">assert</span>(<span class="d_psymbol">convert</span>!(<span class="d_string">"seconds"</span>, <span class="d_string">"nsecs"</span>)(1) == 1_000_000_000);
 1274 </pre>
 1275 </div></div>
 1276 
 1277 </dd>
 1278 <dt class="d_decl"><div ><span class="def-anchor" id=".TimeException"></span><div class="quickindex" id="quickindex.TimeException"></div>class <span class="def-anchor" id="TimeException"></span><code class="ddoc_psymbol">TimeException</code>: <span class="ddoc_psuper_symbol">object.Exception</span>;
 1279 <br></div></dt>
 1280 <dd><div class="summary">Exception type used by core.time.</div>
 1281 <dl><dt class="d_decl"><div ><span class="def-anchor" id=".TimeException.this"></span><div class="quickindex" id="quickindex.TimeException.this"></div>pure nothrow @safe this(string <code class="ddoc_param">msg</code>, string <code class="ddoc_param">file</code> = __FILE__, size_t <code class="ddoc_param">line</code> = __LINE__, Throwable <code class="ddoc_param">next</code> = null);
 1282 <br></div></dt>
 1283 <dd><div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">string <code class="ddoc_param">msg</code></td>
 1284 <td class="param_desc">The message for the exception.</td></tr>
 1285 <tr class="param"><td class="param_id">string <code class="ddoc_param">file</code></td>
 1286 <td class="param_desc">The file where the exception occurred.</td></tr>
 1287 <tr class="param"><td class="param_id">size_t <code class="ddoc_param">line</code></td>
 1288 <td class="param_desc">The line number where the exception occurred.</td></tr>
 1289 <tr class="param"><td class="param_id">Throwable <code class="ddoc_param">next</code></td>
 1290 <td class="param_desc">The previous exception in the chain of exceptions, if any.</td></tr>
 1291 </table></div></div>
 1292 
 1293 </dd>
 1294 <dt class="d_decl"><div ><span class="def-anchor" id=".TimeException.this.2"></span><div class="quickindex" id="quickindex.TimeException.this.2"></div>pure nothrow @safe this(string <code class="ddoc_param">msg</code>, Throwable <code class="ddoc_param">next</code>, string <code class="ddoc_param">file</code> = __FILE__, size_t <code class="ddoc_param">line</code> = __LINE__);
 1295 <br></div></dt>
 1296 <dd><div class="keyval Parameters"><span class="key keyParameters">Parameters:</span> <div class="val valParameters"><table class="params"><tr class="param"><td class="param_id">string <code class="ddoc_param">msg</code></td>
 1297 <td class="param_desc">The message for the exception.</td></tr>
 1298 <tr class="param"><td class="param_id">Throwable <code class="ddoc_param">next</code></td>
 1299 <td class="param_desc">The previous exception in the chain of exceptions.</td></tr>
 1300 <tr class="param"><td class="param_id">string <code class="ddoc_param">file</code></td>
 1301 <td class="param_desc">The file where the exception occurred.</td></tr>
 1302 <tr class="param"><td class="param_id">size_t <code class="ddoc_param">line</code></td>
 1303 <td class="param_desc">The line number where the exception occurred.</td></tr>
 1304 </table></div></div>
 1305 
 1306 </dd>
 1307 </dl>
 1308 </dd>
 1309 <dt class="d_decl"><div ><span class="def-anchor" id=".abs"></span><div class="quickindex" id="quickindex.abs"></div>pure nothrow @nogc @safe Duration <span class="def-anchor" id="abs"></span><code class="ddoc_psymbol">abs</code>(Duration <code class="ddoc_param">duration</code>);
 1310 <br><br>pure nothrow @nogc @safe TickDuration <span class="def-anchor" id="abs"></span><code class="ddoc_psymbol">abs</code>(TickDuration <code class="ddoc_param">duration</code>);
 1311 <br></div></dt>
 1312 <dd><div class="summary">Returns the absolute value of a duration.</div>
 1313 </dd>
 1314 </dl>
 1315 
 1316         <div class="smallprint" id="copyright">Copyright &copy; 1999-2020 by the <a href="../foundation_overview.html">D Language Foundation</a> | Page generated by
 1317 <a href="../spec/ddoc.html">Ddoc</a> on Fri Nov 20 21:57:44 2020
 1318 </div>
 1319     </div>
 1320 </div>
 1321 
 1322     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
 1323     <script type="text/javascript">window.jQuery || document.write('\x3Cscript src="../js/jquery-1.7.2.min.js">\x3C/script>');</script>
 1324     <script type="text/javascript" src="../js/dlang.js"></script>
 1325     
 1326     <script type="text/javascript" src="../js/codemirror-compressed.js"></script>
 1327     <script type="text/javascript" src="../js/run.js"></script>
 1328 <script type="text/javascript" src="../js/run_examples.js"></script>
 1329 
 1330 <script type="text/javascript" src="../js/listanchors.js"></script>
 1331 <script type="text/javascript" src="../js/show_contributors.js"></script>
 1332 <script type="text/javascript">jQuery(document).ready(listanchors);</script>
 1333 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
 1334 </body>
 1335 </html>