<!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>
<link rel="canonical" href="https://ignite.apache.org/releases/2.9.0/cppdoc/binary__type_8h.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>&nbsp; Apache Ignite C++: binary_type.h File 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" />

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></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="projectlogo"><img alt="Logo" src="ignite_logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">&nbsp; Apache Ignite C++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_88bd599177f4cc5007b9f053025b0bc5.html">binary</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">binary_type.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Declares <a class="el" href="structignite_1_1binary_1_1BinaryType.html" title="Binary type structure. ">ignite::binary::BinaryType</a> class template and helping macros to declare binary type specialization for user types.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br />
<code>#include &lt;ignite/common/common.h&gt;</code><br />
<code>#include &lt;ignite/impl/binary/binary_type_impl.h&gt;</code><br />
</div>
<p><a href="binary__type_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structignite_1_1binary_1_1BinaryType.html">ignite::binary::BinaryType&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binary type structure.  <a href="structignite_1_1binary_1_1BinaryType.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structignite_1_1binary_1_1BinaryTypeDefaultHashing.html">ignite::binary::BinaryTypeDefaultHashing&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default implementations of <a class="el" href="structignite_1_1binary_1_1BinaryType.html" title="Binary type structure. ">BinaryType</a> hashing functions.  <a href="structignite_1_1binary_1_1BinaryTypeDefaultHashing.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structignite_1_1binary_1_1BinaryTypeNonNullableType.html">ignite::binary::BinaryTypeNonNullableType&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default implementations of <a class="el" href="structignite_1_1binary_1_1BinaryType.html" title="Binary type structure. ">BinaryType</a> methods for non-null type.  <a href="structignite_1_1binary_1_1BinaryTypeNonNullableType.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structignite_1_1binary_1_1BinaryTypeDefaultAll.html">ignite::binary::BinaryTypeDefaultAll&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default implementations of <a class="el" href="structignite_1_1binary_1_1BinaryType.html" title="Binary type structure. ">BinaryType</a> hashing functions and non-null type behaviour.  <a href="structignite_1_1binary_1_1BinaryTypeDefaultAll.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structignite_1_1binary_1_1BinaryType_3_01T_01_5_4.html">ignite::binary::BinaryType&lt; T *&gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structignite_1_1binary_1_1BinaryType.html" title="Binary type structure. ">BinaryType</a> template specialization for pointers.  <a href="structignite_1_1binary_1_1BinaryType_3_01T_01_5_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceignite"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceignite.html">ignite</a></td></tr>
<tr class="memdesc:namespaceignite"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apache Ignite API. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespaceignite_1_1binary"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceignite_1_1binary.html">ignite::binary</a></td></tr>
<tr class="memdesc:namespaceignite_1_1binary"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ignite Binary Objects API. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a8101324f081e18e688069efcaf87ba4c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="binary__type_8h.html#a8101324f081e18e688069efcaf87ba4c">IGNITE_BINARY_TYPE_START</a>(T)</td></tr>
<tr class="memdesc:a8101324f081e18e688069efcaf87ba4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start binary type definition.  <a href="#a8101324f081e18e688069efcaf87ba4c">More...</a><br /></td></tr>
<tr class="separator:a8101324f081e18e688069efcaf87ba4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ef31d9795632c1ea5d32f7d31167fc2"><td class="memItemLeft" align="right" valign="top"><a id="a4ef31d9795632c1ea5d32f7d31167fc2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="binary__type_8h.html#a4ef31d9795632c1ea5d32f7d31167fc2">IGNITE_BINARY_TYPE_END</a>&#160;&#160;&#160;};</td></tr>
<tr class="memdesc:a4ef31d9795632c1ea5d32f7d31167fc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">End binary type definition. <br /></td></tr>
<tr class="separator:a4ef31d9795632c1ea5d32f7d31167fc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3365b656beaf4609a3f1475180da95c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="binary__type_8h.html#ab3365b656beaf4609a3f1475180da95c">IGNITE_BINARY_GET_TYPE_ID_AS_CONST</a>(id)</td></tr>
<tr class="memdesc:ab3365b656beaf4609a3f1475180da95c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of GetTypeId() which returns predefined constant.  <a href="#ab3365b656beaf4609a3f1475180da95c">More...</a><br /></td></tr>
<tr class="separator:ab3365b656beaf4609a3f1475180da95c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7991ce3e024e835e03bfe9b504103fec"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="binary__type_8h.html#a7991ce3e024e835e03bfe9b504103fec">IGNITE_BINARY_GET_TYPE_ID_AS_HASH</a>(typeName)</td></tr>
<tr class="memdesc:a7991ce3e024e835e03bfe9b504103fec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of GetTypeId() which returns hash of passed type name.  <a href="#a7991ce3e024e835e03bfe9b504103fec">More...</a><br /></td></tr>
<tr class="separator:a7991ce3e024e835e03bfe9b504103fec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68d1c799cef1088bf1e670a44f0827c4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="binary__type_8h.html#a68d1c799cef1088bf1e670a44f0827c4">IGNITE_BINARY_GET_TYPE_NAME_AS_IS</a>(typeName)</td></tr>
<tr class="memdesc:a68d1c799cef1088bf1e670a44f0827c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of GetTypeName() which returns type name as is.  <a href="#a68d1c799cef1088bf1e670a44f0827c4">More...</a><br /></td></tr>
<tr class="separator:a68d1c799cef1088bf1e670a44f0827c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf83eb25907f65b729ec0a1b24208bec"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="binary__type_8h.html#acf83eb25907f65b729ec0a1b24208bec">IGNITE_BINARY_GET_FIELD_ID_AS_HASH</a></td></tr>
<tr class="memdesc:acf83eb25907f65b729ec0a1b24208bec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default implementation of GetFieldId() function which returns Java-way hash code of the string.  <a href="#acf83eb25907f65b729ec0a1b24208bec">More...</a><br /></td></tr>
<tr class="separator:acf83eb25907f65b729ec0a1b24208bec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53931f11f339e64ac02c6d6acf60956a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="binary__type_8h.html#a53931f11f339e64ac02c6d6acf60956a">IGNITE_BINARY_IS_NULL_FALSE</a>(T)</td></tr>
<tr class="memdesc:a53931f11f339e64ac02c6d6acf60956a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of IsNull() function which always returns false.  <a href="#a53931f11f339e64ac02c6d6acf60956a">More...</a><br /></td></tr>
<tr class="separator:a53931f11f339e64ac02c6d6acf60956a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e9baf94400149fcc246e9f1e5bdd72d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="binary__type_8h.html#a2e9baf94400149fcc246e9f1e5bdd72d">IGNITE_BINARY_IS_NULL_IF_NULLPTR</a>(T)</td></tr>
<tr class="memdesc:a2e9baf94400149fcc246e9f1e5bdd72d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of IsNull() function which return true if passed object is null pointer.  <a href="#a2e9baf94400149fcc246e9f1e5bdd72d">More...</a><br /></td></tr>
<tr class="separator:a2e9baf94400149fcc246e9f1e5bdd72d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cf312bee01a8adbff52c1272a0f1240"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="binary__type_8h.html#a5cf312bee01a8adbff52c1272a0f1240">IGNITE_BINARY_GET_NULL_DEFAULT_CTOR</a>(T)</td></tr>
<tr class="memdesc:a5cf312bee01a8adbff52c1272a0f1240"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of GetNull() function which returns an instance created with default constructor.  <a href="#a5cf312bee01a8adbff52c1272a0f1240">More...</a><br /></td></tr>
<tr class="separator:a5cf312bee01a8adbff52c1272a0f1240"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a194a06e90389998d69b87e675473da78"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="binary__type_8h.html#a194a06e90389998d69b87e675473da78">IGNITE_BINARY_GET_NULL_NULLPTR</a>(T)</td></tr>
<tr class="memdesc:a194a06e90389998d69b87e675473da78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of GetNull() function which returns NULL pointer.  <a href="#a194a06e90389998d69b87e675473da78">More...</a><br /></td></tr>
<tr class="separator:a194a06e90389998d69b87e675473da78"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ac93fb79680cc0baff9d1d6bd6e44139a"><td class="memItemLeft" align="right" valign="top">IGNITE_IMPORT_EXPORT int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceignite_1_1binary.html#ac93fb79680cc0baff9d1d6bd6e44139a">ignite::binary::GetBinaryStringHashCode</a> (const char *val)</td></tr>
<tr class="memdesc:ac93fb79680cc0baff9d1d6bd6e44139a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get binary string hash code.  <a href="namespaceignite_1_1binary.html#ac93fb79680cc0baff9d1d6bd6e44139a">More...</a><br /></td></tr>
<tr class="separator:ac93fb79680cc0baff9d1d6bd6e44139a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Declares <a class="el" href="structignite_1_1binary_1_1BinaryType.html" title="Binary type structure. ">ignite::binary::BinaryType</a> class template and helping macros to declare binary type specialization for user types. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="acf83eb25907f65b729ec0a1b24208bec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf83eb25907f65b729ec0a1b24208bec">&#9670;&nbsp;</a></span>IGNITE_BINARY_GET_FIELD_ID_AS_HASH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IGNITE_BINARY_GET_FIELD_ID_AS_HASH</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">static</span> int32_t GetFieldId(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) \</div><div class="line">{ \</div><div class="line">    return <a class="code" href="namespaceignite_1_1binary.html#ac93fb79680cc0baff9d1d6bd6e44139a">GetBinaryStringHashCode</a>(name); \</div><div class="line">}</div><div class="ttc" id="namespaceignite_1_1binary_html_ac93fb79680cc0baff9d1d6bd6e44139a"><div class="ttname"><a href="namespaceignite_1_1binary.html#ac93fb79680cc0baff9d1d6bd6e44139a">ignite::binary::GetBinaryStringHashCode</a></div><div class="ttdeci">IGNITE_IMPORT_EXPORT int32_t GetBinaryStringHashCode(const char *val)</div><div class="ttdoc">Get binary string hash code. </div><div class="ttdef"><b>Definition:</b> binary_type.cpp:24</div></div>
</div><!-- fragment -->
<p>Default implementation of GetFieldId() function which returns Java-way hash code of the string. </p>

</div>
</div>
<a id="a5cf312bee01a8adbff52c1272a0f1240"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5cf312bee01a8adbff52c1272a0f1240">&#9670;&nbsp;</a></span>IGNITE_BINARY_GET_NULL_DEFAULT_CTOR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IGNITE_BINARY_GET_NULL_DEFAULT_CTOR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">T</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> GetNull(T&amp; dst) \</div><div class="line">{ \</div><div class="line">    dst = T(); \</div><div class="line">}</div></div><!-- fragment -->
<p>Implementation of GetNull() function which returns an instance created with default constructor. </p>

</div>
</div>
<a id="a194a06e90389998d69b87e675473da78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a194a06e90389998d69b87e675473da78">&#9670;&nbsp;</a></span>IGNITE_BINARY_GET_NULL_NULLPTR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IGNITE_BINARY_GET_NULL_NULLPTR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">T</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> GetNull(T&amp; dst) \</div><div class="line">{ \</div><div class="line">    dst = 0; \</div><div class="line">}</div></div><!-- fragment -->
<p>Implementation of GetNull() function which returns NULL pointer. </p>

</div>
</div>
<a id="ab3365b656beaf4609a3f1475180da95c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3365b656beaf4609a3f1475180da95c">&#9670;&nbsp;</a></span>IGNITE_BINARY_GET_TYPE_ID_AS_CONST</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IGNITE_BINARY_GET_TYPE_ID_AS_CONST</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">id</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">static</span> int32_t GetTypeId() \</div><div class="line">{ \</div><div class="line">    return id; \</div><div class="line">}</div></div><!-- fragment -->
<p>Implementation of GetTypeId() which returns predefined constant. </p>

</div>
</div>
<a id="a7991ce3e024e835e03bfe9b504103fec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7991ce3e024e835e03bfe9b504103fec">&#9670;&nbsp;</a></span>IGNITE_BINARY_GET_TYPE_ID_AS_HASH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IGNITE_BINARY_GET_TYPE_ID_AS_HASH</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">typeName</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">static</span> int32_t GetTypeId() \</div><div class="line">{ \</div><div class="line">    return <a class="code" href="namespaceignite_1_1binary.html#ac93fb79680cc0baff9d1d6bd6e44139a">GetBinaryStringHashCode</a>(#typeName); \</div><div class="line">}</div><div class="ttc" id="namespaceignite_1_1binary_html_ac93fb79680cc0baff9d1d6bd6e44139a"><div class="ttname"><a href="namespaceignite_1_1binary.html#ac93fb79680cc0baff9d1d6bd6e44139a">ignite::binary::GetBinaryStringHashCode</a></div><div class="ttdeci">IGNITE_IMPORT_EXPORT int32_t GetBinaryStringHashCode(const char *val)</div><div class="ttdoc">Get binary string hash code. </div><div class="ttdef"><b>Definition:</b> binary_type.cpp:24</div></div>
</div><!-- fragment -->
<p>Implementation of GetTypeId() which returns hash of passed type name. </p>

</div>
</div>
<a id="a68d1c799cef1088bf1e670a44f0827c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68d1c799cef1088bf1e670a44f0827c4">&#9670;&nbsp;</a></span>IGNITE_BINARY_GET_TYPE_NAME_AS_IS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IGNITE_BINARY_GET_TYPE_NAME_AS_IS</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">typeName</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> GetTypeName(std::string&amp; dst) \</div><div class="line">{ \</div><div class="line">    dst = #typeName; \</div><div class="line">}</div></div><!-- fragment -->
<p>Implementation of GetTypeName() which returns type name as is. </p>

</div>
</div>
<a id="a53931f11f339e64ac02c6d6acf60956a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53931f11f339e64ac02c6d6acf60956a">&#9670;&nbsp;</a></span>IGNITE_BINARY_IS_NULL_FALSE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IGNITE_BINARY_IS_NULL_FALSE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">T</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">static</span> <span class="keywordtype">bool</span> IsNull(<span class="keyword">const</span> T&amp;) \</div><div class="line">{ \</div><div class="line">    return <span class="keyword">false</span>; \</div><div class="line">}</div></div><!-- fragment -->
<p>Implementation of IsNull() function which always returns false. </p>

</div>
</div>
<a id="a2e9baf94400149fcc246e9f1e5bdd72d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e9baf94400149fcc246e9f1e5bdd72d">&#9670;&nbsp;</a></span>IGNITE_BINARY_IS_NULL_IF_NULLPTR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IGNITE_BINARY_IS_NULL_IF_NULLPTR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">T</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">static</span> <span class="keywordtype">bool</span> IsNull(<span class="keyword">const</span> T&amp; obj) \</div><div class="line">{ \</div><div class="line">    return obj; \</div><div class="line">}</div></div><!-- fragment -->
<p>Implementation of IsNull() function which return true if passed object is null pointer. </p>

</div>
</div>
<a id="a8101324f081e18e688069efcaf87ba4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8101324f081e18e688069efcaf87ba4c">&#9670;&nbsp;</a></span>IGNITE_BINARY_TYPE_START</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IGNITE_BINARY_TYPE_START</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">T</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">template</span>&lt;&gt; \</div><div class="line">struct BinaryType&lt;T&gt; \</div><div class="line">{</div></div><!-- fragment -->
<p>Start binary type definition. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2020 12:17:17 for &nbsp; Apache Ignite C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
