<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
<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" />
</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.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><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">
<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_01_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_01_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="separator:a8101324f081e18e688069efcaf87ba4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ef31d9795632c1ea5d32f7d31167fc2"><td class="memItemLeft" align="right" valign="top">#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="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="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="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="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="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="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="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="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="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><!-- 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><!-- 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="a4ef31d9795632c1ea5d32f7d31167fc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ef31d9795632c1ea5d32f7d31167fc2">&#9670;&nbsp;</a></span>IGNITE_BINARY_TYPE_END</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IGNITE_BINARY_TYPE_END&#160;&#160;&#160;};</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>End binary type definition. </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 -->
<div class="ttc" id="anamespaceignite_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>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jan 10 2022 11:02:04 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.17
</small></address>
</body>
</html>
