Files
opennurbs/6/db/d13/class_o_n___content_hash.html
Bozo 2ea16cc86c Publish!
Generated from TESTING
2018-01-26 12:40:11 +00:00

1042 lines
60 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>openNURBS SDK Help: ON_ContentHash Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">openNURBS SDK Help
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="../../d8/dcc/class_o_n___content_hash-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ON_ContentHash Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d6/da3/opennurbs__file__utilities_8h_source.html">opennurbs_file_utilities.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a5a6e077d6893727a93e91d3f1c9e847d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847d">CompareResult</a> : unsigned char { <br />
&#160;&#160;<a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847dac9f88e098f6fe4e4e112eeb05ccb9671">CompareResult::Unset</a> = 0,
<a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847dab5294ef36dd9b816f7293624759fa0a9">CompareResult::EqualContent</a> = 1,
<a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847da9c6b349504605b60c2709bd46525764d">CompareResult::DifferentContent</a> = 2,
<a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847da1960e05afce81d6a258b850d82611a09">CompareResult::DifferentContentFileIsOlder</a> = 3,
<br />
&#160;&#160;<a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847da0a64794cb339dc5c7ef05da3c63c60df">CompareResult::ContentDifferentFileIsNewer</a> = 4,
<a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847daab7e9f2fa8b2404bc25061dd572e9797">CompareResult::FileDoesNotExist</a> = 5,
<a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847daf6c4270bbdfbbf35aa42b5fd44edf750">CompareResult::FileSystemFailure</a> = 6
<br />
}</td></tr>
<tr class="memdesc:a5a6e077d6893727a93e91d3f1c9e847d"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="../../db/d13/class_o_n___content_hash.html#af0a7f308fe41d1ffbc67f3ccc644ab29">ON_ContentHash::Compare</a> are the possible results of calling ON_ContentHash::CompareFile(). <a href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847d">More...</a><br /></td></tr>
<tr class="separator:a5a6e077d6893727a93e91d3f1c9e847d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a4eda351919e955f7dfd8a3699750bb03"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a4eda351919e955f7dfd8a3699750bb03">ON_ContentHash</a> ()=default</td></tr>
<tr class="separator:a4eda351919e955f7dfd8a3699750bb03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36ceb39cd5b7969edc91cfc748c73791"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a36ceb39cd5b7969edc91cfc748c73791">ON_ContentHash</a> (const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;)=default</td></tr>
<tr class="separator:a36ceb39cd5b7969edc91cfc748c73791"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cac60bf6da07ee8f72cba9d729e3b9f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a0cac60bf6da07ee8f72cba9d729e3b9f">~ON_ContentHash</a> ()=default</td></tr>
<tr class="separator:a0cac60bf6da07ee8f72cba9d729e3b9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d5536333ff8bbebf6b341355cca1172"><td class="memItemLeft" align="right" valign="top">ON__UINT64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a3d5536333ff8bbebf6b341355cca1172">ByteCount</a> () const</td></tr>
<tr class="separator:a3d5536333ff8bbebf6b341355cca1172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0a7f308fe41d1ffbc67f3ccc644ab29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847d">ON_ContentHash::CompareResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#af0a7f308fe41d1ffbc67f3ccc644ab29">Compare</a> (const wchar_t *file_path, bool bFastTest) const</td></tr>
<tr class="separator:af0a7f308fe41d1ffbc67f3ccc644ab29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fdda90f92f7cd5e935091cb4a403df0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847d">ON_ContentHash::CompareResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a6fdda90f92f7cd5e935091cb4a403df0">Compare</a> (<a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> file_content_hash) const</td></tr>
<tr class="separator:a6fdda90f92f7cd5e935091cb4a403df0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6dcfec1c56e53f3576a628997483003"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#ad6dcfec1c56e53f3576a628997483003">ContentHash</a> () const</td></tr>
<tr class="separator:ad6dcfec1c56e53f3576a628997483003"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a999cdca34407c6727c8a4ad7cc9196ca"><td class="memItemLeft" align="right" valign="top">ON__UINT64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a999cdca34407c6727c8a4ad7cc9196ca">ContentLastModifiedTime</a> () const</td></tr>
<tr class="separator:a999cdca34407c6727c8a4ad7cc9196ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c9f4a8d99838ea4415042a0eab78dd2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a6c9f4a8d99838ea4415042a0eab78dd2">Dump</a> (class <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> &amp;text_log) const</td></tr>
<tr class="separator:a6c9f4a8d99838ea4415042a0eab78dd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7564b2790c10576e51ede8bcd412287"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#ae7564b2790c10576e51ede8bcd412287">EqualFileNameSizeAndTime</a> (const wchar_t *filename) const</td></tr>
<tr class="separator:ae7564b2790c10576e51ede8bcd412287"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9432a268551b74ccfcf6809590ef756"><td class="memItemLeft" align="right" valign="top">ON__UINT64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#ab9432a268551b74ccfcf6809590ef756">HashCalculationTime</a> () const</td></tr>
<tr class="separator:ab9432a268551b74ccfcf6809590ef756"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac810581378d560ecd1122d4f08f75627"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#ac810581378d560ecd1122d4f08f75627">IsNotSet</a> () const</td></tr>
<tr class="separator:ac810581378d560ecd1122d4f08f75627"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ba2d45e64ea148145997d3e002c8cd8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a8ba2d45e64ea148145997d3e002c8cd8">IsSameBufferContent</a> (const void *buffer, size_t byte_count) const</td></tr>
<tr class="separator:a8ba2d45e64ea148145997d3e002c8cd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6e3086aca27c2cd0253a810891c29f4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#af6e3086aca27c2cd0253a810891c29f4">IsSameFileContent</a> (FILE *fp) const</td></tr>
<tr class="separator:af6e3086aca27c2cd0253a810891c29f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5ca405dc369311f5bffd22d7862e455"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#ad5ca405dc369311f5bffd22d7862e455">IsSameFileContent</a> (const wchar_t *filename) const</td></tr>
<tr class="separator:ad5ca405dc369311f5bffd22d7862e455"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52e7f03e75d056b67069c012e08010d8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a52e7f03e75d056b67069c012e08010d8">IsSameFileContent</a> (const char *filename) const</td></tr>
<tr class="separator:a52e7f03e75d056b67069c012e08010d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a439d720a7f338e9209e3baea2e45c5a1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a439d720a7f338e9209e3baea2e45c5a1">IsSet</a> () const</td></tr>
<tr class="separator:a439d720a7f338e9209e3baea2e45c5a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5366df28bef7eb59b473adba60a0918e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a5366df28bef7eb59b473adba60a0918e">NameHash</a> () const</td></tr>
<tr class="separator:a5366df28bef7eb59b473adba60a0918e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d3dc7bbb26283d252d221b77773dba9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a8d3dc7bbb26283d252d221b77773dba9">operator=</a> (const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;)=default</td></tr>
<tr class="separator:a8d3dc7bbb26283d252d221b77773dba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3129e28b29b296a62b38484f960d4b7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#ad3129e28b29b296a62b38484f960d4b7">Read</a> (class <a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;archive)</td></tr>
<tr class="separator:ad3129e28b29b296a62b38484f960d4b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c2840fc2b86e10e2f7cfdf1aa9f3505"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a4c2840fc2b86e10e2f7cfdf1aa9f3505">Write</a> (class <a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;archive) const</td></tr>
<tr class="separator:a4c2840fc2b86e10e2f7cfdf1aa9f3505"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a480080e26dcb714010b5530dc46893c9"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a480080e26dcb714010b5530dc46893c9">Compare</a> (const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;a, const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;b)</td></tr>
<tr class="separator:a480080e26dcb714010b5530dc46893c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af605df4c83d4a65433799cee60af2e8a"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#af605df4c83d4a65433799cee60af2e8a">CompareContent</a> (const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;a, const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;b)</td></tr>
<tr class="separator:af605df4c83d4a65433799cee60af2e8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd47df95f4fb24a81e6ac811e77defba"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847d">ON_ContentHash::CompareResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#afd47df95f4fb24a81e6ac811e77defba">CompareResultFromUnsigned</a> (unsigned int compare_result_as_unsigned)</td></tr>
<tr class="separator:afd47df95f4fb24a81e6ac811e77defba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e5a9cfe8a318b1ff4e971cd0477726e"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a3e5a9cfe8a318b1ff4e971cd0477726e">Create</a> (<a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a> sha1_name_hash, ON__UINT64 byte_count, <a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a> sha1_content_hash, ON__UINT64 hash_time, ON__UINT64 content_last_modified_time)</td></tr>
<tr class="separator:a3e5a9cfe8a318b1ff4e971cd0477726e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9141290fec1fa9b07ff16f281443932"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#aa9141290fec1fa9b07ff16f281443932">CreateFromBuffer</a> (<a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a> sha1_name_hash, const void *buffer, size_t byte_count)</td></tr>
<tr class="separator:aa9141290fec1fa9b07ff16f281443932"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2202fe28fa7d9e14cc93be710019f72f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a2202fe28fa7d9e14cc93be710019f72f">CreateFromFile</a> (<a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a> sha1_file_name_hash, FILE *fp)</td></tr>
<tr class="separator:a2202fe28fa7d9e14cc93be710019f72f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad417b2a7f72f85f678d6bb5ef5644997"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#ad417b2a7f72f85f678d6bb5ef5644997">CreateFromFile</a> (const wchar_t *filename)</td></tr>
<tr class="separator:ad417b2a7f72f85f678d6bb5ef5644997"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba712f1993d5b41b03ffd2f15ea62f03"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#aba712f1993d5b41b03ffd2f15ea62f03">CreateFromFile</a> (const char *filename)</td></tr>
<tr class="separator:aba712f1993d5b41b03ffd2f15ea62f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a141c0fe606c239c1c024914d6dab896e"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a141c0fe606c239c1c024914d6dab896e">DifferentContent</a> (const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;a, const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;b)</td></tr>
<tr class="separator:a141c0fe606c239c1c024914d6dab896e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa495c50d35d777aeb70226bac13e5401"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#aa495c50d35d777aeb70226bac13e5401">EqualContent</a> (const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;a, const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;b)</td></tr>
<tr class="separator:aa495c50d35d777aeb70226bac13e5401"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:ab9616094ebaee5e3d8e0b68aa8e459be"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d13/class_o_n___content_hash.html#ab9616094ebaee5e3d8e0b68aa8e459be">Unset</a></td></tr>
<tr class="separator:ab9616094ebaee5e3d8e0b68aa8e459be"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a5a6e077d6893727a93e91d3f1c9e847d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a6e077d6893727a93e91d3f1c9e847d">&#9670;&nbsp;</a></span>CompareResult</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847d">ON_ContentHash::CompareResult</a> : unsigned char</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="../../db/d13/class_o_n___content_hash.html#af0a7f308fe41d1ffbc67f3ccc644ab29">ON_ContentHash::Compare</a> are the possible results of calling ON_ContentHash::CompareFile(). </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5a6e077d6893727a93e91d3f1c9e847dac9f88e098f6fe4e4e112eeb05ccb9671"></a>Unset&#160;</td><td class="fielddoc"><p>Not set. This value is never returned by ON_ContentHash::CheckFile(). </p>
</td></tr>
<tr><td class="fieldname"><a id="a5a6e077d6893727a93e91d3f1c9e847dab5294ef36dd9b816f7293624759fa0a9"></a>EqualContent&#160;</td><td class="fielddoc"><p>File exists and its size and content matches the information used to set the content hash. </p>
</td></tr>
<tr><td class="fieldname"><a id="a5a6e077d6893727a93e91d3f1c9e847da9c6b349504605b60c2709bd46525764d"></a>DifferentContent&#160;</td><td class="fielddoc"><p>File exists and its size or content differs from the information used to set the content hash. Unable to reliably determine which is newer. </p>
</td></tr>
<tr><td class="fieldname"><a id="a5a6e077d6893727a93e91d3f1c9e847da1960e05afce81d6a258b850d82611a09"></a>DifferentContentFileIsOlder&#160;</td><td class="fielddoc"><p>File exists and its size or content differs from the information used to set the content hash. The file's laste modified time is older than <a class="el" href="../../db/d13/class_o_n___content_hash.html#a999cdca34407c6727c8a4ad7cc9196ca">ContentLastModifiedTime()</a>. </p>
</td></tr>
<tr><td class="fieldname"><a id="a5a6e077d6893727a93e91d3f1c9e847da0a64794cb339dc5c7ef05da3c63c60df"></a>ContentDifferentFileIsNewer&#160;</td><td class="fielddoc"><p>File exists and its size or content differs from the information used to set the content hash. The file's last modified time is newer than <a class="el" href="../../db/d13/class_o_n___content_hash.html#a999cdca34407c6727c8a4ad7cc9196ca">ContentLastModifiedTime()</a>. </p>
</td></tr>
<tr><td class="fieldname"><a id="a5a6e077d6893727a93e91d3f1c9e847daab7e9f2fa8b2404bc25061dd572e9797"></a>FileDoesNotExist&#160;</td><td class="fielddoc"><p>File does not exist. </p>
</td></tr>
<tr><td class="fieldname"><a id="a5a6e077d6893727a93e91d3f1c9e847daf6c4270bbdfbbf35aa42b5fd44edf750"></a>FileSystemFailure&#160;</td><td class="fielddoc"><p>File cannot be opened, read, or some other file system issue prevents checking. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a4eda351919e955f7dfd8a3699750bb03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4eda351919e955f7dfd8a3699750bb03">&#9670;&nbsp;</a></span>ON_ContentHash() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_ContentHash::ON_ContentHash </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0cac60bf6da07ee8f72cba9d729e3b9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cac60bf6da07ee8f72cba9d729e3b9f">&#9670;&nbsp;</a></span>~ON_ContentHash()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_ContentHash::~ON_ContentHash </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a36ceb39cd5b7969edc91cfc748c73791"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36ceb39cd5b7969edc91cfc748c73791">&#9670;&nbsp;</a></span>ON_ContentHash() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_ContentHash::ON_ContentHash </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a3d5536333ff8bbebf6b341355cca1172"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d5536333ff8bbebf6b341355cca1172">&#9670;&nbsp;</a></span>ByteCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON__UINT64 ON_ContentHash::ByteCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: Number of bytes in the content (typically a file or buffer). </p>
</div>
</div>
<a id="af0a7f308fe41d1ffbc67f3ccc644ab29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0a7f308fe41d1ffbc67f3ccc644ab29">&#9670;&nbsp;</a></span>Compare() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847d">ON_ContentHash::CompareResult</a> ON_ContentHash::Compare </td>
<td>(</td>
<td class="paramtype">const wchar_t *&#160;</td>
<td class="paramname"><em>file_path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bFastTest</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Compare the information used to set this content hash with the contents of the file. Parameters: file_path - [in] bFastCompare - [in] If bFastCompare is true and the file_path, create time, last modified time, and size exactly match the values in <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a>, then <a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847dab5294ef36dd9b816f7293624759fa0a9" title="File exists and its size and content matches the information used to set the content hash...">ON_ContentHash::CompareResult::EqualContent</a> is returned without performing the expensive SHA1 test on the file's content. If bFastCompare is false, the SHA-1 hash of the file's content will be calculated and compared before <a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847dab5294ef36dd9b816f7293624759fa0a9" title="File exists and its size and content matches the information used to set the content hash...">ON_ContentHash::CompareResult::EqualContent</a> is returned. Returns: Result of compare test as a <a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847d" title="ON_ContentHash::Compare are the possible results of calling ON_ContentHash::CompareFile(). ">ON_ContentHash::CompareResult</a> enum. <a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847da1960e05afce81d6a258b850d82611a09" title="File exists and its size or content differs from the information used to set the content hash...">ON_ContentHash::CompareResult::DifferentContentFileIsOlder</a> means file_path content is different and older than "this". ON_ContentHash::CompareResult::DifferentContentFileIsNewer means file_path content is different and newer than "this". </p>
</div>
</div>
<a id="a6fdda90f92f7cd5e935091cb4a403df0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fdda90f92f7cd5e935091cb4a403df0">&#9670;&nbsp;</a></span>Compare() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847d">ON_ContentHash::CompareResult</a> ON_ContentHash::Compare </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a>&#160;</td>
<td class="paramname"><em>file_content_hash</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Compare the byte count and SHA-1 content hash. Parameters: file_content_hash - [in] <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> to compare against this one. Returns: Result of compare test as a <a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847d" title="ON_ContentHash::Compare are the possible results of calling ON_ContentHash::CompareFile(). ">ON_ContentHash::CompareResult</a> enum. <a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847da1960e05afce81d6a258b850d82611a09" title="File exists and its size or content differs from the information used to set the content hash...">ON_ContentHash::CompareResult::DifferentContentFileIsOlder</a> means file_content_hash is different and older than "this". ON_ContentHash::CompareResult::DifferentContentFileIsNewer means file_content_hash is different and newer than "this". </p>
</div>
</div>
<a id="a480080e26dcb714010b5530dc46893c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a480080e26dcb714010b5530dc46893c9">&#9670;&nbsp;</a></span>Compare() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int ON_ContentHash::Compare </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Compares all fields </p>
</div>
</div>
<a id="af605df4c83d4a65433799cee60af2e8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af605df4c83d4a65433799cee60af2e8a">&#9670;&nbsp;</a></span>CompareContent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int ON_ContentHash::CompareContent </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Compares content byte count and content SHA-1 </p>
</div>
</div>
<a id="afd47df95f4fb24a81e6ac811e77defba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd47df95f4fb24a81e6ac811e77defba">&#9670;&nbsp;</a></span>CompareResultFromUnsigned()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="../../db/d13/class_o_n___content_hash.html#a5a6e077d6893727a93e91d3f1c9e847d">ON_ContentHash::CompareResult</a> ON_ContentHash::CompareResultFromUnsigned </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>compare_result_as_unsigned</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad6dcfec1c56e53f3576a628997483003"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6dcfec1c56e53f3576a628997483003">&#9670;&nbsp;</a></span>ContentHash()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a> ON_ContentHash::ContentHash </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: SHA-1 hash of the content (typically a buffer or file). </p>
</div>
</div>
<a id="a999cdca34407c6727c8a4ad7cc9196ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a999cdca34407c6727c8a4ad7cc9196ca">&#9670;&nbsp;</a></span>ContentLastModifiedTime()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON__UINT64 ON_ContentHash::ContentLastModifiedTime </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: Time the hashed content was last modifed in seconds since January 1, 1970 UCT. 0 is returned if this time is not known.</p>
<p>This time should be used for important decisions as a last resort.</p>
<p>When hash values differ, this time may be considered to which content is newer (or most recently copied). <br />
Unfortunately, in many cases this time is often unknown and incorrectly set. For example, some file systems set the last modified time of a copy of an "old" file to the time the copy was created. Thus a copy of "old" content may appear to be newer than "new" content that has not been copied. </p>
</div>
</div>
<a id="a3e5a9cfe8a318b1ff4e971cd0477726e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e5a9cfe8a318b1ff4e971cd0477726e">&#9670;&nbsp;</a></span>Create()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> ON_ContentHash::Create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a>&#160;</td>
<td class="paramname"><em>sha1_name_hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ON__UINT64&#160;</td>
<td class="paramname"><em>byte_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a>&#160;</td>
<td class="paramname"><em>sha1_content_hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ON__UINT64&#160;</td>
<td class="paramname"><em>hash_time</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ON__UINT64&#160;</td>
<td class="paramname"><em>content_last_modified_time</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Descripton: Create an <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> class with the specified size, hash and times. Parameters: sha1_name_hash - [in] The SHA-1 hash of the name (typically a full path file name). When the content is identified by a file name in a file system, use <a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html#a9cb83e4e627ac917404722990efa2f0c">ON_SHA1_Hash::FileSystemPathHash()</a> to calculate this value. byte_count - [in] number of bytes in the content. sha1_content_hash - [in] The SHA-1 hash of the content (typically a buffer or file). You may use ON_SHA1_Has::FileContentHash() or <a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html#aed137337f874a15956aaa4f2d0ebe912">ON_SHA1_Hash::BufferContentHash()</a> to calculate this value. hash_time - [in] The time the sha1_hash was calculated in seconds since January 1, 1970 UCT. If 0 is passed in, the current time is used. content_last_modified_time - [in] Pass 0 if not known. The time the hashed information that was last modifed in seconds since January 1, 1970 UCT. If content_last_modified_time &gt; hash_time, then 0 is used. Returns: An <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> with size and SHA-1 hash and times set from the parameters, </p>
</div>
</div>
<a id="aa9141290fec1fa9b07ff16f281443932"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9141290fec1fa9b07ff16f281443932">&#9670;&nbsp;</a></span>CreateFromBuffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> ON_ContentHash::CreateFromBuffer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a>&#160;</td>
<td class="paramname"><em>sha1_name_hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>byte_count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Descripton: Create an <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> from a memory buffer. Parameters: sha1_name_hash - [in] A SHA-1 hash of the name associated with this content. If the buffer has no name, pass <a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html#a50683fde45600ba340667429fd8fd686" title="all digest bytes are zero ">ON_SHA1_Hash::ZeroDigest</a>. If the buffer has an empty name, pass <a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html#a5fbd8257f1b9c3fdfc929d3869113924" title="SHA-1 hash of zero bytes. ">ON_SHA1_Hash::EmptyContentHash</a>. buffer - [in] <br />
byte_count - [in] number of bytes in buffer[] Returns: An <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> with size and SHA-1 hash calculated from the parameters, hash time = now, and content last modified time = 0. </p>
</div>
</div>
<a id="a2202fe28fa7d9e14cc93be710019f72f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2202fe28fa7d9e14cc93be710019f72f">&#9670;&nbsp;</a></span>CreateFromFile() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> ON_ContentHash::CreateFromFile </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a>&#160;</td>
<td class="paramname"><em>sha1_file_name_hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Descripton: Create an <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> from a file stream. Parameters: sha1_file_name_hash - [in] A SHA-1 hash of the file name associated with fp. Use ON_SHA1_Has::FileSystemPathHash() to create the value. If the name is not known, pass <a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html#a50683fde45600ba340667429fd8fd686" title="all digest bytes are zero ">ON_SHA1_Hash::ZeroDigest</a>. fp - [in] pointer to a file opened with ON:FileOpen(...,"rb") Returns: An <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> with size and SHA-1 hash and times set from the file, hash time = now, and content last modifed time set from the file system information returned by <a class="el" href="../../dd/da7/class_o_n___file_stream.html#ac344f0e78881d31fe07aa99f63955700">ON_FileStream::GetFileInformation()</a>. </p>
</div>
</div>
<a id="ad417b2a7f72f85f678d6bb5ef5644997"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad417b2a7f72f85f678d6bb5ef5644997">&#9670;&nbsp;</a></span>CreateFromFile() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> ON_ContentHash::CreateFromFile </td>
<td>(</td>
<td class="paramtype">const wchar_t *&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Descripton: Create an <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> from a file stream. Parameters: filename - [in] name of file. Returns: An <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> with size and SHA-1 hash and times set from the file, hash time = now, and content last modifed time set from the file system information returned by <a class="el" href="../../dd/da7/class_o_n___file_stream.html#ac344f0e78881d31fe07aa99f63955700">ON_FileStream::GetFileInformation()</a>. </p>
</div>
</div>
<a id="aba712f1993d5b41b03ffd2f15ea62f03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba712f1993d5b41b03ffd2f15ea62f03">&#9670;&nbsp;</a></span>CreateFromFile() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> ON_ContentHash::CreateFromFile </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a141c0fe606c239c1c024914d6dab896e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a141c0fe606c239c1c024914d6dab896e">&#9670;&nbsp;</a></span>DifferentContent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool ON_ContentHash::DifferentContent </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: true if a and b have differnt <a class="el" href="../../db/d13/class_o_n___content_hash.html#a3d5536333ff8bbebf6b341355cca1172">ByteCount()</a> or SHA-1 content hash values. </p>
</div>
</div>
<a id="a6c9f4a8d99838ea4415042a0eab78dd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c9f4a8d99838ea4415042a0eab78dd2">&#9670;&nbsp;</a></span>Dump()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_ContentHash::Dump </td>
<td>(</td>
<td class="paramtype">class <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> &amp;&#160;</td>
<td class="paramname"><em>text_log</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa495c50d35d777aeb70226bac13e5401"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa495c50d35d777aeb70226bac13e5401">&#9670;&nbsp;</a></span>EqualContent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool ON_ContentHash::EqualContent </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: true if a and b have identical <a class="el" href="../../db/d13/class_o_n___content_hash.html#a3d5536333ff8bbebf6b341355cca1172">ByteCount()</a> and SHA-1 content hash values. </p>
</div>
</div>
<a id="ae7564b2790c10576e51ede8bcd412287"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7564b2790c10576e51ede8bcd412287">&#9670;&nbsp;</a></span>EqualFileNameSizeAndTime()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ContentHash::EqualFileNameSizeAndTime </td>
<td>(</td>
<td class="paramtype">const wchar_t *&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Parameters: filename - [in] Returns: True if the file exists, has size &gt; 0, has the same name, same size, and same last modified time than this content hash. False otherwise. Remarks: Faster than the <a class="el" href="../../db/d13/class_o_n___content_hash.html#aa495c50d35d777aeb70226bac13e5401">ON_ContentHash::EqualContent()</a> and reliable if this content hash was set on the same file system. Unreliable if the file system does not correctly set last modified times or the file was modified less than 2 seconds before the call. </p>
</div>
</div>
<a id="ab9432a268551b74ccfcf6809590ef756"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9432a268551b74ccfcf6809590ef756">&#9670;&nbsp;</a></span>HashCalculationTime()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON__UINT64 ON_ContentHash::HashCalculationTime </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: Time the hash SHA-1 hash was cacluated in seconds since January 1, 1970 UCT. </p>
</div>
</div>
<a id="ac810581378d560ecd1122d4f08f75627"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac810581378d560ecd1122d4f08f75627">&#9670;&nbsp;</a></span>IsNotSet()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ContentHash::IsNotSet </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: True if the SHA-1 hash is not set. </p>
</div>
</div>
<a id="a8ba2d45e64ea148145997d3e002c8cd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ba2d45e64ea148145997d3e002c8cd8">&#9670;&nbsp;</a></span>IsSameBufferContent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ContentHash::IsSameBufferContent </td>
<td>(</td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>byte_count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Test a buffer to see if it has a matching size and SHA-1 hash. Parameters: buffer - [in] <br />
byte_count - [in] number of bytes in buffer[] Returns: True if the buffer has a matching byte_count and SHA-1 hash. </p>
</div>
</div>
<a id="af6e3086aca27c2cd0253a810891c29f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6e3086aca27c2cd0253a810891c29f4">&#9670;&nbsp;</a></span>IsSameFileContent() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ContentHash::IsSameFileContent </td>
<td>(</td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Test a file to see if it has a matching size and SHA-1 hash. Paramters: fp - [in] pointer to file opened with ON::OpenFile(...,"rb") bSkipTimeCheck - [in] if true, the time of last modification is not checked. Returns: True if the file existes, can be read, and has a matching byte_count and SHA-1 hash. </p>
</div>
</div>
<a id="ad5ca405dc369311f5bffd22d7862e455"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5ca405dc369311f5bffd22d7862e455">&#9670;&nbsp;</a></span>IsSameFileContent() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ContentHash::IsSameFileContent </td>
<td>(</td>
<td class="paramtype">const wchar_t *&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Test a file to see if it has a matching size and SHA-1 content hash. Paramters: filename - [in] Returns: True if the file exists, can be read, and has a matching byte_count and SHA-1 content hash. </p>
</div>
</div>
<a id="a52e7f03e75d056b67069c012e08010d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52e7f03e75d056b67069c012e08010d8">&#9670;&nbsp;</a></span>IsSameFileContent() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ContentHash::IsSameFileContent </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a439d720a7f338e9209e3baea2e45c5a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a439d720a7f338e9209e3baea2e45c5a1">&#9670;&nbsp;</a></span>IsSet()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ContentHash::IsSet </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: True if the SHA-1 hash has been set. </p>
</div>
</div>
<a id="a5366df28bef7eb59b473adba60a0918e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5366df28bef7eb59b473adba60a0918e">&#9670;&nbsp;</a></span>NameHash()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/ddf/class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a> ON_ContentHash::NameHash </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: SHA-1 hash of the name (typically a full path file name). </p>
</div>
</div>
<a id="a8d3dc7bbb26283d252d221b77773dba9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d3dc7bbb26283d252d221b77773dba9">&#9670;&nbsp;</a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a>&amp; ON_ContentHash::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad3129e28b29b296a62b38484f960d4b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3129e28b29b296a62b38484f960d4b7">&#9670;&nbsp;</a></span>Read()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ContentHash::Read </td>
<td>(</td>
<td class="paramtype">class <a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"><em>archive</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4c2840fc2b86e10e2f7cfdf1aa9f3505"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c2840fc2b86e10e2f7cfdf1aa9f3505">&#9670;&nbsp;</a></span>Write()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ContentHash::Write </td>
<td>(</td>
<td class="paramtype">class <a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"><em>archive</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ab9616094ebaee5e3d8e0b68aa8e459be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9616094ebaee5e3d8e0b68aa8e459be">&#9670;&nbsp;</a></span>Unset</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="../../db/d13/class_o_n___content_hash.html">ON_ContentHash</a> ON_ContentHash::Unset</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Jan 26 2018 12:38:21 for openNURBS SDK Help by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>