<!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 NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.5.0.final/cppdoc/binary__type_8h.html" />
<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.9.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>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</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 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.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </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_b9616f69844fe348a04dee69144f4c5b.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 specialisation 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 &quot;<a class="el" href="ignite__error_8h_source.html">ignite/ignite_error.h</a>&quot;</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_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">Templated binary type specification 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="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 class="anchor" 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:ac2480eb52c4fa57e059723c14e962d4f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="binary__type_8h.html#ac2480eb52c4fa57e059723c14e962d4f">IGNITE_BINARY_GET_HASH_CODE_ZERO</a>(T)</td></tr>
<tr class="memdesc:ac2480eb52c4fa57e059723c14e962d4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of GetHashCode() function which always returns 0.  <a href="#ac2480eb52c4fa57e059723c14e962d4f">More...</a><br /></td></tr>
<tr class="separator:ac2480eb52c4fa57e059723c14e962d4f"><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 defult 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="#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 specialisation for user types. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="acf83eb25907f65b729ec0a1b24208bec"></a>
<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">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 class="anchor" id="ac2480eb52c4fa57e059723c14e962d4f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IGNITE_BINARY_GET_HASH_CODE_ZERO</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">int32_t GetHashCode(<span class="keyword">const</span> T&amp; obj) \</div>
<div class="line">{ \</div>
<div class="line">    return 0; \</div>
<div class="line">}</div>
</div><!-- fragment -->
<p>Implementation of GetHashCode() function which always returns 0. </p>

</div>
</div>
<a class="anchor" id="a5cf312bee01a8adbff52c1272a0f1240"></a>
<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">T GetNull() \</div>
<div class="line">{ \</div>
<div class="line">    return T(); \</div>
<div class="line">}</div>
</div><!-- fragment -->
<p>Implementation of GetNull() function which returns an instance created with defult constructor. </p>

</div>
</div>
<a class="anchor" id="a194a06e90389998d69b87e675473da78"></a>
<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">T GetNull() \</div>
<div class="line">{ \</div>
<div class="line">    return NULL; \</div>
<div class="line">}</div>
</div><!-- fragment -->
<p>Implementation of GetNull() function which returns NULL pointer. </p>

</div>
</div>
<a class="anchor" id="ab3365b656beaf4609a3f1475180da95c"></a>
<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">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 class="anchor" id="a7991ce3e024e835e03bfe9b504103fec"></a>
<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">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 class="anchor" id="a68d1c799cef1088bf1e670a44f0827c4"></a>
<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">std::string GetTypeName() \</div>
<div class="line">{ \</div>
<div class="line">    return #typeName; \</div>
<div class="line">}</div>
</div><!-- fragment -->
<p>Implementation of GetTypeName() which returns type name as is. </p>

</div>
</div>
<a class="anchor" id="a53931f11f339e64ac02c6d6acf60956a"></a>
<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="keywordtype">bool</span> IsNull(<span class="keyword">const</span> T&amp; obj) \</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 class="anchor" id="a2e9baf94400149fcc246e9f1e5bdd72d"></a>
<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="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 class="anchor" id="a8101324f081e18e688069efcaf87ba4c"></a>
<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 Tue Dec 29 2015 13:22:07 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.9.1
</small></address>
</body>
</html>
