<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
              "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">

<refentry>
    <refentryinfo>
        <keywordset>
            <keyword>Abstract Data Types</keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>
        <refentrytitle>Abstract Built-in Data Types</refentrytitle>

        <refmiscinfo>
            <copyright>
                <year>2007-2013</year>
                <holder>The Khronos Group Inc.
 Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials.</holder>
            </copyright>
        </refmiscinfo>
        <manvolnum>3</manvolnum>
    </refmeta>

<!-- ================================ SYNOPSIS -->

    <refnamediv id="AbstractDataTypes">
        <refname>Abstract Data Types</refname>

        <refpurpose>
             Abstract Built-in Data Types
        </refpurpose>
    </refnamediv>

<!-- ================================ DESCRIPTION  -->

  <refsect1 id="description" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Description</title>
    <para>
      The following table describes abstract data types supported by OpenCL:
    </para>

    <para>
      <informaltable frame="all">
        <tgroup cols="3" align="left" colsep="1" rowsep="1">
          <colspec colname="col1" colnum="1" /> <colspec colname="col2" colnum="2" />
          <colspec colname="col3" colnum="3" />

          <thead>
            <row>
              <entry>Type</entry>
              <entry>Description</entry>
              <entry>API Type</entry>
            </row>
          </thead>

          <tbody>
            <row>
              <entry> <type>_cl_platform_id</type></entry>
              <entry> The ID for a platform.</entry>
              <entry> cl_platform_id</entry>
            </row>

            <row>
              <entry> <type>_cl_device_id</type></entry>
              <entry> The ID for a device.</entry>
              <entry> cl_device_id</entry>
            </row>

            <row>
              <entry><type>_cl_context</type></entry>
              <entry>A context.</entry>
              <entry>cl_context</entry>
            </row>

            <row>
              <entry><type>_cl_command_queue</type></entry>
              <entry>A command queue.</entry>
              <entry>cl_command_queue</entry>
            </row>

            <row>
              <entry><type>_cl_mem</type></entry>
              <entry>A memory object.</entry>
              <entry>cl_mem</entry>
            </row>

            <row>
              <entry><type>_cl_program</type></entry>
              <entry>A program.</entry>
              <entry>cl_program</entry>
            </row>

            <row>
              <entry><type>_cl_kernel</type></entry>
              <entry>A kernel.</entry>
              <entry>cl_kernel</entry>
            </row>

            <row>
              <entry><type>_cl_event</type></entry>
              <entry>An event. Also see <link xlink:href="otherDataTypes.html">event_t</link>.</entry>
              <entry>cl_event</entry>
            </row>

            <row>
              <entry><type>_cl_sampler</type></entry>
              <entry>A sampler. Also see <link xlink:href="sampler_t.html">sampler_t</link>.</entry>
              <entry>cl_sampler</entry>
            </row>

          </tbody>
        </tgroup>
      </informaltable>
    </para>
  </refsect1>

<!-- ================================ SPECIFICATION  -->
<!-- Set the "uri" attribute in the <olink /> element to the "named destination" for the PDF page

    <refsect1 id="specification"><title>Specification</title>
        <para>
            <imageobject>
                <imagedata fileref="pdficon_small1.gif" format="gif" />
            </imageobject>

            <olink uri="otherDataTypes">OpenCL Specification</olink>
        </para>
    </refsect1>
-->

<!-- ================================ ALSO SEE  -->

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry href="dataTypes"><refentrytitle>Data Types</refentrytitle></citerefentry>,
            <citerefentry href="macroLimits"><refentrytitle>Macros and Limits</refentrytitle></citerefentry>,
            <citerefentry href="scalarDataTypes"><refentrytitle>Scalar Data Types</refentrytitle></citerefentry>,
            <citerefentry href="vectorDataTypes"><refentrytitle>Vector Data Types</refentrytitle></citerefentry>,
            <citerefentry href="otherDataTypes"><refentrytitle>Other Data Types</refentrytitle></citerefentry>,
            <citerefentry href="reservedDataTypes"><refentrytitle>Reserved Data Types</refentrytitle></citerefentry>
        </para>
    </refsect1>

<!-- ============================== COPYRIGHT -->
<!-- Content included from copyright.inc.xsl -->

    <refsect3 id="Copyright"><title></title>
        <imageobject>
                <imagedata fileref="KhronosLogo.jpg" format="jpg" />
        </imageobject>
        <para />
    </refsect3>

<!-- 4-Jun-2013 -->
</refentry>

