> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# gpudb::Type

> gpudb::Type — Kinetica C++ API

<div className="kinetica-doxygen">
  <div className="contents">
    <p><code>#include \<<a className="el" href="/content/api/cpp/Type_8hpp_source">gpudb/Type.hpp</a>></code></p>

    <table className="memberdecls">
      <tr className="heading">
        <td colSpan="2">
          <h2 className="groupheader"> Classes</h2>
        </td>
      </tr>

      <tr className="memitem:">
        <td className="memItemLeft" align="right" valign="top">class  </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="/content/api/cpp/classgpudb_1_1Type_1_1Column">Column</a></td>
      </tr>

      <tr className="separator:">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>
    </table>

    <table className="memberdecls">
      <tr className="heading">
        <td colSpan="2">
          <h2 className="groupheader"> Public Member Functions</h2>
        </td>
      </tr>

      <tr className="memitem:af265f2fe954fcb8e1771f13e198282e2" id="r_af265f2fe954fcb8e1771f13e198282e2">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#af265f2fe954fcb8e1771f13e198282e2">Type</a> (const std::vector\< <a className="el" href="/content/api/cpp/classgpudb_1_1Type_1_1Column">Column</a> > \&columns)</td>
      </tr>

      <tr className="separator:af265f2fe954fcb8e1771f13e198282e2">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a81158f833de5ee7df115de6d7e2f5d78" id="r_a81158f833de5ee7df115de6d7e2f5d78">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a81158f833de5ee7df115de6d7e2f5d78">Type</a> (const std::string \&label, const std::vector\< <a className="el" href="/content/api/cpp/classgpudb_1_1Type_1_1Column">Column</a> > \&columns)</td>
      </tr>

      <tr className="separator:a81158f833de5ee7df115de6d7e2f5d78">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a374ff88ac904b2a286f990608287a9f6" id="r_a374ff88ac904b2a286f990608287a9f6">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a374ff88ac904b2a286f990608287a9f6">Type</a> (const std::string \&typeSchema)</td>
      </tr>

      <tr className="separator:a374ff88ac904b2a286f990608287a9f6">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a6def99ddb77f4e62dd98b3ae73eb78ba" id="r_a6def99ddb77f4e62dd98b3ae73eb78ba">
        <td className="memItemLeft" align="right" valign="top"> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a6def99ddb77f4e62dd98b3ae73eb78ba">Type</a> (const std::string \&label, const std::string \&typeSchema, const std::map\< std::string, std::vector\< std::string > > \&properties)</td>
      </tr>

      <tr className="separator:a6def99ddb77f4e62dd98b3ae73eb78ba">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:afcab21a4b240350f08d16e9b7ccf692a" id="r_afcab21a4b240350f08d16e9b7ccf692a">
        <td className="memItemLeft" align="right" valign="top">const std::string & </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#afcab21a4b240350f08d16e9b7ccf692a">getLabel</a> () const</td>
      </tr>

      <tr className="separator:afcab21a4b240350f08d16e9b7ccf692a">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a9b8fac8d67e2a30e8e5681e9b3816f7c" id="r_a9b8fac8d67e2a30e8e5681e9b3816f7c">
        <td className="memItemLeft" align="right" valign="top">const std::vector\< <a className="el" href="/content/api/cpp/classgpudb_1_1Type_1_1Column">Column</a> > & </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a9b8fac8d67e2a30e8e5681e9b3816f7c">getColumns</a> () const</td>
      </tr>

      <tr className="separator:a9b8fac8d67e2a30e8e5681e9b3816f7c">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a31378916760c8bc2d88d318a2dbe761f" id="r_a31378916760c8bc2d88d318a2dbe761f">
        <td className="memItemLeft" align="right" valign="top">const <a className="el" href="/content/api/cpp/classgpudb_1_1Type_1_1Column">Column</a> & </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a31378916760c8bc2d88d318a2dbe761f">getColumn</a> (const size\_t index) const</td>
      </tr>

      <tr className="separator:a31378916760c8bc2d88d318a2dbe761f">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a6d7f980e4c5ac28c3d5a9116754a33a1" id="r_a6d7f980e4c5ac28c3d5a9116754a33a1">
        <td className="memItemLeft" align="right" valign="top">const <a className="el" href="/content/api/cpp/classgpudb_1_1Type_1_1Column">Column</a> & </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a6d7f980e4c5ac28c3d5a9116754a33a1">getColumn</a> (const std::string \&name) const</td>
      </tr>

      <tr className="separator:a6d7f980e4c5ac28c3d5a9116754a33a1">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a197b97a3e6b320b7b6e0f4b511e56ee7" id="r_a197b97a3e6b320b7b6e0f4b511e56ee7">
        <td className="memItemLeft" align="right" valign="top">size\_t </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a197b97a3e6b320b7b6e0f4b511e56ee7">getColumnCount</a> () const</td>
      </tr>

      <tr className="separator:a197b97a3e6b320b7b6e0f4b511e56ee7">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a8876e5da68541b75d023fea98be89d71" id="r_a8876e5da68541b75d023fea98be89d71">
        <td className="memItemLeft" align="right" valign="top">size\_t </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a8876e5da68541b75d023fea98be89d71">getColumnIndex</a> (const std::string \&name) const</td>
      </tr>

      <tr className="separator:a8876e5da68541b75d023fea98be89d71">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:ae15263b769e368a12aa29af4beba107c" id="r_ae15263b769e368a12aa29af4beba107c">
        <td className="memItemLeft" align="right" valign="top">bool </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#ae15263b769e368a12aa29af4beba107c">hasColumn</a> (const std::string \&name) const</td>
      </tr>

      <tr className="separator:ae15263b769e368a12aa29af4beba107c">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:ac9f70f01e74d0ea3154b3dd8e0569229" id="r_ac9f70f01e74d0ea3154b3dd8e0569229">
        <td className="memItemLeft" align="right" valign="top">const ::avro::ValidSchema & </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#ac9f70f01e74d0ea3154b3dd8e0569229">getSchema</a> () const</td>
      </tr>

      <tr className="separator:ac9f70f01e74d0ea3154b3dd8e0569229">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a4cbda1e45ae0dbf32314ada5e588b12f" id="r_a4cbda1e45ae0dbf32314ada5e588b12f">
        <td className="memItemLeft" align="right" valign="top">std::string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a4cbda1e45ae0dbf32314ada5e588b12f">create</a> (const <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb">GPUdb</a> \&gpudb) const</td>
      </tr>

      <tr className="separator:a4cbda1e45ae0dbf32314ada5e588b12f">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:adb75fc8c90cb4974b63a6cc1ce34597d" id="r_adb75fc8c90cb4974b63a6cc1ce34597d">
        <td className="memItemLeft" align="right" valign="top">bool </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#adb75fc8c90cb4974b63a6cc1ce34597d">isTypeCompatible</a> (const <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> \&other, bool check\_query\_compatibility=false) const</td>
      </tr>

      <tr className="memdesc:adb75fc8c90cb4974b63a6cc1ce34597d">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Check if the given type's columns' data types are compatible (checks primitive types and type-related properties, including nullability). <br /></td>
      </tr>

      <tr className="separator:adb75fc8c90cb4974b63a6cc1ce34597d">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>
    </table>

    <table className="memberdecls">
      <tr className="heading">
        <td colSpan="2">
          <h2 className="groupheader"> Static Public Member Functions</h2>
        </td>
      </tr>

      <tr className="memitem:a22ab847182a0c2708e4021635e780894" id="r_a22ab847182a0c2708e4021635e780894">
        <td className="memItemLeft" align="right" valign="top">static <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a22ab847182a0c2708e4021635e780894">fromTable</a> (const <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb">GPUdb</a> \&gpudb, const std::string \&tableName)</td>
      </tr>

      <tr className="memdesc:a22ab847182a0c2708e4021635e780894">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Create a <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> object from a <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb">GPUdb</a> table. <br /></td>
      </tr>

      <tr className="separator:a22ab847182a0c2708e4021635e780894">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a44ff0a7e909d647ea4bf7948937f5516" id="r_a44ff0a7e909d647ea4bf7948937f5516">
        <td className="memItemLeft" align="right" valign="top">static <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a44ff0a7e909d647ea4bf7948937f5516">fromType</a> (const <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb">GPUdb</a> \&gpudb, const std::string \&typeId)</td>
      </tr>

      <tr className="memdesc:a44ff0a7e909d647ea4bf7948937f5516">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Create a <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> object from a <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb">GPUdb</a> type. <br /></td>
      </tr>

      <tr className="separator:a44ff0a7e909d647ea4bf7948937f5516">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>
    </table>

    <table className="memberdecls">
      <tr className="heading">
        <td colSpan="2">
          <h2 className="groupheader"> Friends</h2>
        </td>
      </tr>

      <tr className="memitem:a4d52201915e187e9bb741a4b3b881943" id="r_a4d52201915e187e9bb741a4b3b881943">
        <td className="memItemLeft" align="right" valign="top">class </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a4d52201915e187e9bb741a4b3b881943">GenericRecord</a></td>
      </tr>

      <tr className="separator:a4d52201915e187e9bb741a4b3b881943">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a0d5ce97f8b33ca8afe43d7eadf173460" id="r_a0d5ce97f8b33ca8afe43d7eadf173460">
        <td className="memItemLeft" align="right" valign="top">std::ostream & </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a0d5ce97f8b33ca8afe43d7eadf173460">operator\<\<</a> (std::ostream \&os, <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> \&type)</td>
      </tr>

      <tr className="separator:a0d5ce97f8b33ca8afe43d7eadf173460">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a71de5dfd496c39d5e379c855c70bbeb3" id="r_a71de5dfd496c39d5e379c855c70bbeb3">
        <td className="memItemLeft" align="right" valign="top">std::ostream & </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a71de5dfd496c39d5e379c855c70bbeb3">operator\<\<</a> (std::ostream \&os, const <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> \&type)</td>
      </tr>

      <tr className="separator:a71de5dfd496c39d5e379c855c70bbeb3">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>
    </table>

    <h2 className="groupheader">Detailed Description</h2>

    <div className="textblock">
      <p className="definition">Definition at line <a className="el" href="/content/api/cpp/Type_8hpp_source#l00017">17</a> of file <a className="el" href="/content/api/cpp/Type_8hpp_source">Type.hpp</a>.</p>
    </div>

    <h2 className="groupheader">Constructor & Destructor Documentation</h2>
    <h2 className="memtitle"><span className="permalink"><a href="#af265f2fe954fcb8e1771f13e198282e2">◆ </a></span>Type() <span className="overload">\[1/4]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">gpudb::Type::Type </td>
            <td>(</td>
            <td className="paramtype">const std::vector\< <a className="el" href="/content/api/cpp/classgpudb_1_1Type_1_1Column">Column</a> > &</td>
            <td className="paramname"><span className="paramname"><span className="em">columns</span></span></td>
            <td>)</td>

            <td />
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a81158f833de5ee7df115de6d7e2f5d78">◆ </a></span>Type() <span className="overload">\[2/4]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">gpudb::Type::Type </td>
            <td>(</td>
            <td className="paramtype">const std::string &</td>
            <td className="paramname"><span className="paramname"><span className="em">label</span></span>, </td>
          </tr>

          <tr>
            <td className="paramkey" />

            <td />

            <td className="paramtype">const std::vector\< <a className="el" href="/content/api/cpp/classgpudb_1_1Type_1_1Column">Column</a> > &</td>
            <td className="paramname"><span className="paramname"><span className="em">columns</span></span> )</td>
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a374ff88ac904b2a286f990608287a9f6">◆ </a></span>Type() <span className="overload">\[3/4]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">gpudb::Type::Type </td>
            <td>(</td>
            <td className="paramtype">const std::string &</td>
            <td className="paramname"><span className="paramname"><span className="em">typeSchema</span></span></td>
            <td>)</td>

            <td />
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a6def99ddb77f4e62dd98b3ae73eb78ba">◆ </a></span>Type() <span className="overload">\[4/4]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">gpudb::Type::Type </td>
            <td>(</td>
            <td className="paramtype">const std::string &</td>
            <td className="paramname"><span className="paramname"><span className="em">label</span></span>, </td>
          </tr>

          <tr>
            <td className="paramkey" />

            <td />

            <td className="paramtype">const std::string &</td>
            <td className="paramname"><span className="paramname"><span className="em">typeSchema</span></span>, </td>
          </tr>

          <tr>
            <td className="paramkey" />

            <td />

            <td className="paramtype">const std::map\< std::string, std::vector\< std::string > > &</td>
            <td className="paramname"><span className="paramname"><span className="em">properties</span></span> )</td>
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <h2 className="groupheader">Member Function Documentation</h2>
    <h2 className="memtitle"><span className="permalink"><a href="#a4cbda1e45ae0dbf32314ada5e588b12f">◆ </a></span>create()</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">std::string gpudb::Type::create </td>
            <td>(</td>
            <td className="paramtype">const <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb">GPUdb</a> &</td>
            <td className="paramname"><span className="paramname"><span className="em">gpudb</span></span></td>
            <td>)</td>
            <td> const</td>
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a22ab847182a0c2708e4021635e780894">◆ </a></span>fromTable()</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">static <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> gpudb::Type::fromTable </td>
                  <td>(</td>
                  <td className="paramtype">const <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb">GPUdb</a> &</td>
                  <td className="paramname"><span className="paramname"><span className="em">gpudb</span></span>, </td>
                </tr>

                <tr>
                  <td className="paramkey" />

                  <td />

                  <td className="paramtype">const std::string &</td>
                  <td className="paramname"><span className="paramname"><span className="em">tableName</span></span> )</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel static">static</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Create a <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> object from a <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb">GPUdb</a> table. </p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a44ff0a7e909d647ea4bf7948937f5516">◆ </a></span>fromType()</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">static <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> gpudb::Type::fromType </td>
                  <td>(</td>
                  <td className="paramtype">const <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb">GPUdb</a> &</td>
                  <td className="paramname"><span className="paramname"><span className="em">gpudb</span></span>, </td>
                </tr>

                <tr>
                  <td className="paramkey" />

                  <td />

                  <td className="paramtype">const std::string &</td>
                  <td className="paramname"><span className="paramname"><span className="em">typeId</span></span> )</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel static">static</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Create a <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> object from a <a className="el" href="/content/api/cpp/classgpudb_1_1GPUdb">GPUdb</a> type. </p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a31378916760c8bc2d88d318a2dbe761f">◆ </a></span>getColumn() <span className="overload">\[1/2]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">const <a className="el" href="/content/api/cpp/classgpudb_1_1Type_1_1Column">Column</a> & gpudb::Type::getColumn </td>
            <td>(</td>
            <td className="paramtype">const size\_t</td>
            <td className="paramname"><span className="paramname"><span className="em">index</span></span></td>
            <td>)</td>
            <td> const</td>
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a6d7f980e4c5ac28c3d5a9116754a33a1">◆ </a></span>getColumn() <span className="overload">\[2/2]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">const <a className="el" href="/content/api/cpp/classgpudb_1_1Type_1_1Column">Column</a> & gpudb::Type::getColumn </td>
            <td>(</td>
            <td className="paramtype">const std::string &</td>
            <td className="paramname"><span className="paramname"><span className="em">name</span></span></td>
            <td>)</td>
            <td> const</td>
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a197b97a3e6b320b7b6e0f4b511e56ee7">◆ </a></span>getColumnCount()</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">size\_t gpudb::Type::getColumnCount </td>
            <td>(</td>

            <td className="paramname">
              <span className="paramname">
                <span className="em" />
              </span>
            </td>

            <td>)</td>
            <td> const</td>
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a8876e5da68541b75d023fea98be89d71">◆ </a></span>getColumnIndex()</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">size\_t gpudb::Type::getColumnIndex </td>
            <td>(</td>
            <td className="paramtype">const std::string &</td>
            <td className="paramname"><span className="paramname"><span className="em">name</span></span></td>
            <td>)</td>
            <td> const</td>
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a9b8fac8d67e2a30e8e5681e9b3816f7c">◆ </a></span>getColumns()</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">const std::vector\< <a className="el" href="/content/api/cpp/classgpudb_1_1Type_1_1Column">Column</a> > & gpudb::Type::getColumns </td>
            <td>(</td>

            <td className="paramname">
              <span className="paramname">
                <span className="em" />
              </span>
            </td>

            <td>)</td>
            <td> const</td>
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#afcab21a4b240350f08d16e9b7ccf692a">◆ </a></span>getLabel()</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">const std::string & gpudb::Type::getLabel </td>
            <td>(</td>

            <td className="paramname">
              <span className="paramname">
                <span className="em" />
              </span>
            </td>

            <td>)</td>
            <td> const</td>
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#ac9f70f01e74d0ea3154b3dd8e0569229">◆ </a></span>getSchema()</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">const ::avro::ValidSchema & gpudb::Type::getSchema </td>
            <td>(</td>

            <td className="paramname">
              <span className="paramname">
                <span className="em" />
              </span>
            </td>

            <td>)</td>
            <td> const</td>
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#ae15263b769e368a12aa29af4beba107c">◆ </a></span>hasColumn()</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">bool gpudb::Type::hasColumn </td>
            <td>(</td>
            <td className="paramtype">const std::string &</td>
            <td className="paramname"><span className="paramname"><span className="em">name</span></span></td>
            <td>)</td>
            <td> const</td>
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#adb75fc8c90cb4974b63a6cc1ce34597d">◆ </a></span>isTypeCompatible()</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">bool gpudb::Type::isTypeCompatible </td>
            <td>(</td>
            <td className="paramtype">const <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> &</td>
            <td className="paramname"><span className="paramname"><span className="em">other</span></span>, </td>
          </tr>

          <tr>
            <td className="paramkey" />

            <td />

            <td className="paramtype">bool</td>
            <td className="paramname"><span className="paramname"><span className="em">check\_query\_compatibility</span></span><span className="paramdefsep"> = </span><span className="paramdefval">false</span> ) const</td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Check if the given type's columns' data types are compatible (checks primitive types and type-related properties, including nullability). </p>
        <p>By default, does not check query compatibility (e.g. 'data', 'disk\_optimized', 'store\_only', and 'text\_search'.), but will if specified. </p>
      </div>
    </div>

    <h2 className="groupheader">Friends And Related Symbol Documentation</h2>
    <h2 className="memtitle"><span className="permalink"><a href="#a4d52201915e187e9bb741a4b3b881943">◆ </a></span>GenericRecord</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">friend class <a className="el" href="/content/api/cpp/classgpudb_1_1GenericRecord">GenericRecord</a></td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel friend">friend</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p className="definition">Definition at line <a className="el" href="/content/api/cpp/Type_8hpp_source#l00019">19</a> of file <a className="el" href="/content/api/cpp/Type_8hpp_source">Type.hpp</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a71de5dfd496c39d5e379c855c70bbeb3">◆ </a></span>operator\<\< <span className="overload">\[1/2]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">std::ostream & operator\<\< </td>
                  <td>(</td>
                  <td className="paramtype">std::ostream &</td>
                  <td className="paramname"><span className="paramname"><span className="em">os</span></span>, </td>
                </tr>

                <tr>
                  <td className="paramkey" />

                  <td />

                  <td className="paramtype">const <a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> &</td>
                  <td className="paramname"><span className="paramname"><span className="em">type</span></span> )</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel friend">friend</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a0d5ce97f8b33ca8afe43d7eadf173460">◆ </a></span>operator\<\< <span className="overload">\[2/2]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">std::ostream & operator\<\< </td>
                  <td>(</td>
                  <td className="paramtype">std::ostream &</td>
                  <td className="paramname"><span className="paramname"><span className="em">os</span></span>, </td>
                </tr>

                <tr>
                  <td className="paramkey" />

                  <td />

                  <td className="paramtype"><a className="el" href="/content/api/cpp/classgpudb_1_1Type">Type</a> &</td>
                  <td className="paramname"><span className="paramname"><span className="em">type</span></span> )</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel friend">friend</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc" />
    </div>

    <hr />

    The documentation for this class was generated from the following file:

    <ul>
      <li>gpudb/<a className="el" href="/content/api/cpp/Type_8hpp_source">Type.hpp</a></li>
    </ul>
  </div>
</div>
