Files
openpose/html/classcl_1_1_program.html

1136 lines
65 KiB
HTML

<!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 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.6"/>
<title>OpenPose: cl::Program Class 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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">OpenPose
&#160;<span id="projectnumber">1.0.0rc2</span>
</div>
<div id="projectbrief">OpenPose: A Real-Time Multi-Person Key-Point Detection And Multi-Threading C++ Library</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<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 class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><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="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classcl_1_1_program.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></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 class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcl_1_1_program-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">cl::Program Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a class="el" href="classcl_1_1_program.html" title="Program interface that implements cl_program. ">Program</a> interface that implements cl_program.
<a href="classcl_1_1_program.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="cl2_8hpp_source.html">cl2.hpp</a>&gt;</code></p>
<p>Inherits <a class="el" href="classcl_1_1detail_1_1_wrapper.html">cl::detail::Wrapper&lt; cl_program &gt;</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a012a70fc915a06671e1d6c05ba7804df"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a><br class="typebreak"/>
&lt; unsigned char &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a012a70fc915a06671e1d6c05ba7804df">Binaries</a></td></tr>
<tr class="separator:a012a70fc915a06671e1d6c05ba7804df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad260abbeb288ec0cc18d5184bf07b14a"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; <a class="el" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">string</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#ad260abbeb288ec0cc18d5184bf07b14a">Sources</a></td></tr>
<tr class="separator:ad260abbeb288ec0cc18d5184bf07b14a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classcl_1_1detail_1_1_wrapper"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classcl_1_1detail_1_1_wrapper')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classcl_1_1detail_1_1_wrapper.html">cl::detail::Wrapper&lt; cl_program &gt;</a></td></tr>
<tr class="memitem:a83841267bac5ad4411ec8935f78315d8 inherit pub_types_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top">typedef cl_program&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a></td></tr>
<tr class="separator:a83841267bac5ad4411ec8935f78315d8 inherit pub_types_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:afc8d71b6035a8084636c9b9f3ed568b2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#afc8d71b6035a8084636c9b9f3ed568b2">Program</a> (const <a class="el" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">string</a> &amp;source, bool <a class="el" href="classcl_1_1_program.html#a1c68f6aa0244c99c8e70f4c971c9049a">build</a>=false, cl_int *err=NULL)</td></tr>
<tr class="separator:afc8d71b6035a8084636c9b9f3ed568b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22c68c40400ddb75c0e8013629e632be"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a22c68c40400ddb75c0e8013629e632be">Program</a> (const <a class="el" href="classcl_1_1_context.html">Context</a> &amp;context, const <a class="el" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">string</a> &amp;source, bool <a class="el" href="classcl_1_1_program.html#a1c68f6aa0244c99c8e70f4c971c9049a">build</a>=false, cl_int *err=NULL)</td></tr>
<tr class="separator:a22c68c40400ddb75c0e8013629e632be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a367cf581b43d8ad021806a4714753437"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a367cf581b43d8ad021806a4714753437">Program</a> (const <a class="el" href="classcl_1_1_program.html#ad260abbeb288ec0cc18d5184bf07b14a">Sources</a> &amp;sources, cl_int *err=NULL)</td></tr>
<tr class="separator:a367cf581b43d8ad021806a4714753437"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a400d1a7de104d98f1d3c2aa7dccc21ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a400d1a7de104d98f1d3c2aa7dccc21ba">Program</a> (const <a class="el" href="classcl_1_1_context.html">Context</a> &amp;context, const <a class="el" href="classcl_1_1_program.html#ad260abbeb288ec0cc18d5184bf07b14a">Sources</a> &amp;sources, cl_int *err=NULL)</td></tr>
<tr class="separator:a400d1a7de104d98f1d3c2aa7dccc21ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af804a4cb0e2dc844c0be0b0b76dbd25a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#af804a4cb0e2dc844c0be0b0b76dbd25a">Program</a> (const <a class="el" href="classcl_1_1_context.html">Context</a> &amp;context, const <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; <a class="el" href="classcl_1_1_device.html">Device</a> &gt; &amp;devices, const <a class="el" href="classcl_1_1_program.html#a012a70fc915a06671e1d6c05ba7804df">Binaries</a> &amp;binaries, <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; cl_int &gt; *binaryStatus=NULL, cl_int *err=NULL)</td></tr>
<tr class="separator:af804a4cb0e2dc844c0be0b0b76dbd25a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9223820e8ac1901a84e1a1a02a97954b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a9223820e8ac1901a84e1a1a02a97954b">Program</a> (const <a class="el" href="classcl_1_1_context.html">Context</a> &amp;context, const <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; <a class="el" href="classcl_1_1_device.html">Device</a> &gt; &amp;devices, const <a class="el" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">string</a> &amp;kernelNames, cl_int *err=NULL)</td></tr>
<tr class="separator:a9223820e8ac1901a84e1a1a02a97954b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a204c904c9fa5d0b2a65de6fc87396d30"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a204c904c9fa5d0b2a65de6fc87396d30">Program</a> ()</td></tr>
<tr class="separator:a204c904c9fa5d0b2a65de6fc87396d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaac370eec783f85a00945d701d6a7e19"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#aaac370eec783f85a00945d701d6a7e19">Program</a> (const cl_program &amp;program, bool retainObject=false)</td></tr>
<tr class="memdesc:aaac370eec783f85a00945d701d6a7e19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor from cl_mem - takes ownership. <a href="#aaac370eec783f85a00945d701d6a7e19">More...</a><br/></td></tr>
<tr class="separator:aaac370eec783f85a00945d701d6a7e19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc23b6c31e74af370da1b5766a7a0c7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcl_1_1_program.html">Program</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#afc23b6c31e74af370da1b5766a7a0c7b">operator=</a> (const cl_program &amp;rhs)</td></tr>
<tr class="separator:afc23b6c31e74af370da1b5766a7a0c7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ec5552449e9fefc46e7bcd399d15f51"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a0ec5552449e9fefc46e7bcd399d15f51">Program</a> (const <a class="el" href="classcl_1_1_program.html">Program</a> &amp;program)</td></tr>
<tr class="memdesc:a0ec5552449e9fefc46e7bcd399d15f51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor to forward copy to the superclass correctly. Required for MSVC. <a href="#a0ec5552449e9fefc46e7bcd399d15f51">More...</a><br/></td></tr>
<tr class="separator:a0ec5552449e9fefc46e7bcd399d15f51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab28c814ce62db2051041c4bf1c9b5561"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcl_1_1_program.html">Program</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#ab28c814ce62db2051041c4bf1c9b5561">operator=</a> (const <a class="el" href="classcl_1_1_program.html">Program</a> &amp;program)</td></tr>
<tr class="memdesc:ab28c814ce62db2051041c4bf1c9b5561"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy assignment to forward copy to the superclass correctly. Required for MSVC. <a href="#ab28c814ce62db2051041c4bf1c9b5561">More...</a><br/></td></tr>
<tr class="separator:ab28c814ce62db2051041c4bf1c9b5561"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1666a02c393b46730b24a76f79302b15"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a1666a02c393b46730b24a76f79302b15">Program</a> (<a class="el" href="classcl_1_1_program.html">Program</a> &amp;&amp;program) <a class="el" href="cl2_8hpp.html#a7fcfde26c9e031daf0c6fbb637ed7ac0">CL_HPP_NOEXCEPT_</a></td></tr>
<tr class="memdesc:a1666a02c393b46730b24a76f79302b15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor to forward move to the superclass correctly. Required for MSVC. <a href="#a1666a02c393b46730b24a76f79302b15">More...</a><br/></td></tr>
<tr class="separator:a1666a02c393b46730b24a76f79302b15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca2f3a6bb7028fa2021d274cb5664725"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcl_1_1_program.html">Program</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#aca2f3a6bb7028fa2021d274cb5664725">operator=</a> (<a class="el" href="classcl_1_1_program.html">Program</a> &amp;&amp;program)</td></tr>
<tr class="memdesc:aca2f3a6bb7028fa2021d274cb5664725"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment to forward move to the superclass correctly. Required for MSVC. <a href="#aca2f3a6bb7028fa2021d274cb5664725">More...</a><br/></td></tr>
<tr class="separator:aca2f3a6bb7028fa2021d274cb5664725"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c68f6aa0244c99c8e70f4c971c9049a"><td class="memItemLeft" align="right" valign="top">cl_int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a1c68f6aa0244c99c8e70f4c971c9049a">build</a> (const <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; <a class="el" href="classcl_1_1_device.html">Device</a> &gt; &amp;devices, const char *options=NULL, void(<a class="el" href="cl2_8hpp.html#a193b43da2ce23c54788f9b4d4f0f4740">CL_CALLBACK</a> *notifyFptr)(cl_program, void *)=NULL, void *data=NULL) const </td></tr>
<tr class="separator:a1c68f6aa0244c99c8e70f4c971c9049a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6f097f1e1f14eb6f15651dcb6529b7a"><td class="memItemLeft" align="right" valign="top">cl_int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#ab6f097f1e1f14eb6f15651dcb6529b7a">build</a> (const char *options=NULL, void(<a class="el" href="cl2_8hpp.html#a193b43da2ce23c54788f9b4d4f0f4740">CL_CALLBACK</a> *notifyFptr)(cl_program, void *)=NULL, void *data=NULL) const </td></tr>
<tr class="separator:ab6f097f1e1f14eb6f15651dcb6529b7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8da346ecc73cf9df257690815039ddb5"><td class="memItemLeft" align="right" valign="top">cl_int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a8da346ecc73cf9df257690815039ddb5">compile</a> (const char *options=NULL, void(<a class="el" href="cl2_8hpp.html#a193b43da2ce23c54788f9b4d4f0f4740">CL_CALLBACK</a> *notifyFptr)(cl_program, void *)=NULL, void *data=NULL) const </td></tr>
<tr class="separator:a8da346ecc73cf9df257690815039ddb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56f6f1b9905ee241c1483a76a9862b67"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a56f6f1b9905ee241c1483a76a9862b67"><td class="memTemplItemLeft" align="right" valign="top">cl_int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a56f6f1b9905ee241c1483a76a9862b67">getInfo</a> (cl_program_info name, T *param) const </td></tr>
<tr class="separator:a56f6f1b9905ee241c1483a76a9862b67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80f619f4a81ff91a6317bb343ea5b146"><td class="memTemplParams" colspan="2">template&lt;cl_int name&gt; </td></tr>
<tr class="memitem:a80f619f4a81ff91a6317bb343ea5b146"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structcl_1_1detail_1_1param__traits.html">detail::param_traits</a><br class="typebreak"/>
&lt; detail::cl_program_info, <br class="typebreak"/>
name &gt;::param_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a80f619f4a81ff91a6317bb343ea5b146">getInfo</a> (cl_int *err=NULL) const </td></tr>
<tr class="separator:a80f619f4a81ff91a6317bb343ea5b146"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51c723551c01ef55f6222c84d58578fc"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a51c723551c01ef55f6222c84d58578fc"><td class="memTemplItemLeft" align="right" valign="top">cl_int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a51c723551c01ef55f6222c84d58578fc">getBuildInfo</a> (const <a class="el" href="classcl_1_1_device.html">Device</a> &amp;device, cl_program_build_info name, T *param) const </td></tr>
<tr class="separator:a51c723551c01ef55f6222c84d58578fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06f673e6c88aac6c5e9f754e830028b6"><td class="memTemplParams" colspan="2">template&lt;cl_int name&gt; </td></tr>
<tr class="memitem:a06f673e6c88aac6c5e9f754e830028b6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structcl_1_1detail_1_1param__traits.html">detail::param_traits</a><br class="typebreak"/>
&lt; detail::cl_program_build_info, <br class="typebreak"/>
name &gt;::param_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a06f673e6c88aac6c5e9f754e830028b6">getBuildInfo</a> (const <a class="el" href="classcl_1_1_device.html">Device</a> &amp;device, cl_int *err=NULL) const </td></tr>
<tr class="separator:a06f673e6c88aac6c5e9f754e830028b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea803c4bba50b6a01d76537d946e211f"><td class="memTemplParams" colspan="2">template&lt;cl_int name&gt; </td></tr>
<tr class="memitem:aea803c4bba50b6a01d76537d946e211f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; std::pair&lt; <a class="el" href="classcl_1_1_device.html">cl::Device</a>, <br class="typebreak"/>
typename <a class="el" href="structcl_1_1detail_1_1param__traits.html">detail::param_traits</a><br class="typebreak"/>
&lt; detail::cl_program_build_info, <br class="typebreak"/>
name &gt;::param_type &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#aea803c4bba50b6a01d76537d946e211f">getBuildInfo</a> (cl_int *err=NULL) const </td></tr>
<tr class="separator:aea803c4bba50b6a01d76537d946e211f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8251f8a862bdfd82caf10a949b2bd884"><td class="memItemLeft" align="right" valign="top">cl_int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a8251f8a862bdfd82caf10a949b2bd884">createKernels</a> (<a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; <a class="el" href="classcl_1_1_kernel.html">Kernel</a> &gt; *kernels)</td></tr>
<tr class="separator:a8251f8a862bdfd82caf10a949b2bd884"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7179aa9922da49df619171f65e0d7661"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a7179aa9922da49df619171f65e0d7661"><td class="memTemplItemLeft" align="right" valign="top">cl_int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a7179aa9922da49df619171f65e0d7661">getInfo</a> (cl_program_info name, <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; unsigned char &gt;&gt; *param) const </td></tr>
<tr class="separator:a7179aa9922da49df619171f65e0d7661"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9172fe2516fb318582c7e3e50ec9eea0"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a9172fe2516fb318582c7e3e50ec9eea0"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; unsigned char &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcl_1_1_program.html#a9172fe2516fb318582c7e3e50ec9eea0">getInfo</a> (cl_int *err) const </td></tr>
<tr class="separator:a9172fe2516fb318582c7e3e50ec9eea0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classcl_1_1detail_1_1_wrapper"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcl_1_1detail_1_1_wrapper')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classcl_1_1detail_1_1_wrapper.html">cl::detail::Wrapper&lt; cl_program &gt;</a></td></tr>
<tr class="memitem:aa1b916a75114fe3217018378d5f1eb71 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#aa1b916a75114fe3217018378d5f1eb71">Wrapper</a> ()</td></tr>
<tr class="separator:aa1b916a75114fe3217018378d5f1eb71 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98dce667e0f400f2ba15a8a8d65fdea0 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#a98dce667e0f400f2ba15a8a8d65fdea0">Wrapper</a> (const <a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a> &amp;obj, bool retainObject)</td></tr>
<tr class="separator:a98dce667e0f400f2ba15a8a8d65fdea0 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af91bafdf8593c34e0d0722cdd93010be inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#af91bafdf8593c34e0d0722cdd93010be">Wrapper</a> (const <a class="el" href="classcl_1_1detail_1_1_wrapper.html">Wrapper</a>&lt; <a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a> &gt; &amp;rhs)</td></tr>
<tr class="separator:af91bafdf8593c34e0d0722cdd93010be inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a115618e2baf10ec5c09513394d985ea6 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#a115618e2baf10ec5c09513394d985ea6">Wrapper</a> (<a class="el" href="classcl_1_1detail_1_1_wrapper.html">Wrapper</a>&lt; <a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a> &gt; &amp;&amp;rhs) <a class="el" href="cl2_8hpp.html#a7fcfde26c9e031daf0c6fbb637ed7ac0">CL_HPP_NOEXCEPT_</a></td></tr>
<tr class="separator:a115618e2baf10ec5c09513394d985ea6 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa254b6401dc19abcc7c21d2a664cadf9 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#aa254b6401dc19abcc7c21d2a664cadf9">~Wrapper</a> ()</td></tr>
<tr class="separator:aa254b6401dc19abcc7c21d2a664cadf9 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a044bc05bb3eb90345cb9cf574b95a98f inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcl_1_1detail_1_1_wrapper.html">Wrapper</a>&lt; <a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#a044bc05bb3eb90345cb9cf574b95a98f">operator=</a> (const <a class="el" href="classcl_1_1detail_1_1_wrapper.html">Wrapper</a>&lt; <a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a> &gt; &amp;rhs)</td></tr>
<tr class="separator:a044bc05bb3eb90345cb9cf574b95a98f inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d10265f9935f18fed55abe2560cd199 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcl_1_1detail_1_1_wrapper.html">Wrapper</a>&lt; <a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#a2d10265f9935f18fed55abe2560cd199">operator=</a> (<a class="el" href="classcl_1_1detail_1_1_wrapper.html">Wrapper</a>&lt; <a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a> &gt; &amp;&amp;rhs)</td></tr>
<tr class="separator:a2d10265f9935f18fed55abe2560cd199 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47164ab536bdd1bdc4b9766354b5a982 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcl_1_1detail_1_1_wrapper.html">Wrapper</a>&lt; <a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#a47164ab536bdd1bdc4b9766354b5a982">operator=</a> (const <a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a> &amp;rhs)</td></tr>
<tr class="separator:a47164ab536bdd1bdc4b9766354b5a982 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4369771a821f9cd01008069187bb8ce inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#ab4369771a821f9cd01008069187bb8ce">operator()</a> () const</td></tr>
<tr class="separator:ab4369771a821f9cd01008069187bb8ce inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5aa32c6d3304d4ee9fb63491a72b0d58 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#a5aa32c6d3304d4ee9fb63491a72b0d58">operator()</a> ()</td></tr>
<tr class="separator:a5aa32c6d3304d4ee9fb63491a72b0d58 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad247cdf1da7fa5b9b6d9a8267036a984 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#ad247cdf1da7fa5b9b6d9a8267036a984">get</a> () const</td></tr>
<tr class="separator:ad247cdf1da7fa5b9b6d9a8267036a984 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e9571071a0b51bb2fada511a1ebc964 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#a4e9571071a0b51bb2fada511a1ebc964">get</a> ()</td></tr>
<tr class="separator:a4e9571071a0b51bb2fada511a1ebc964 inherit pub_methods_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_methods_classcl_1_1detail_1_1_wrapper"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classcl_1_1detail_1_1_wrapper')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classcl_1_1detail_1_1_wrapper.html">cl::detail::Wrapper&lt; cl_program &gt;</a></td></tr>
<tr class="memitem:a6d902b42c615eb8843671e35605c1cd0 inherit pro_methods_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top">cl_int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#a6d902b42c615eb8843671e35605c1cd0">retain</a> () const</td></tr>
<tr class="separator:a6d902b42c615eb8843671e35605c1cd0 inherit pro_methods_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a750d40a07ec6ece6025be03f267f5ca4 inherit pro_methods_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top">cl_int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#a750d40a07ec6ece6025be03f267f5ca4">release</a> () const</td></tr>
<tr class="separator:a750d40a07ec6ece6025be03f267f5ca4 inherit pro_methods_classcl_1_1detail_1_1_wrapper"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classcl_1_1detail_1_1_wrapper"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classcl_1_1detail_1_1_wrapper')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classcl_1_1detail_1_1_wrapper.html">cl::detail::Wrapper&lt; cl_program &gt;</a></td></tr>
<tr class="memitem:a1292547dd0c591aa972e25b793481583 inherit pro_attribs_classcl_1_1detail_1_1_wrapper"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#a83841267bac5ad4411ec8935f78315d8">cl_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcl_1_1detail_1_1_wrapper.html#a1292547dd0c591aa972e25b793481583">object_</a></td></tr>
<tr class="separator:a1292547dd0c591aa972e25b793481583 inherit pro_attribs_classcl_1_1detail_1_1_wrapper"><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><a class="el" href="classcl_1_1_program.html" title="Program interface that implements cl_program. ">Program</a> interface that implements cl_program. </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a012a70fc915a06671e1d6c05ba7804df"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt;<a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt;unsigned char&gt; &gt; <a class="el" href="classcl_1_1_program.html#a012a70fc915a06671e1d6c05ba7804df">cl::Program::Binaries</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad260abbeb288ec0cc18d5184bf07b14a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt;<a class="el" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">string</a>&gt; <a class="el" href="classcl_1_1_program.html#ad260abbeb288ec0cc18d5184bf07b14a">cl::Program::Sources</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="afc8d71b6035a8084636c9b9f3ed568b2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl::Program::Program </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">string</a> &amp;&#160;</td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>build</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cl_int *&#160;</td>
<td class="paramname"><em>err</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a22c68c40400ddb75c0e8013629e632be"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl::Program::Program </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcl_1_1_context.html">Context</a> &amp;&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">string</a> &amp;&#160;</td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>build</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cl_int *&#160;</td>
<td class="paramname"><em>err</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a367cf581b43d8ad021806a4714753437"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl::Program::Program </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcl_1_1_program.html#ad260abbeb288ec0cc18d5184bf07b14a">Sources</a> &amp;&#160;</td>
<td class="paramname"><em>sources</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cl_int *&#160;</td>
<td class="paramname"><em>err</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a program from a vector of source strings and the default context. Does not compile or link the program. </p>
</div>
</div>
<a class="anchor" id="a400d1a7de104d98f1d3c2aa7dccc21ba"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl::Program::Program </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcl_1_1_context.html">Context</a> &amp;&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classcl_1_1_program.html#ad260abbeb288ec0cc18d5184bf07b14a">Sources</a> &amp;&#160;</td>
<td class="paramname"><em>sources</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cl_int *&#160;</td>
<td class="paramname"><em>err</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a program from a vector of source strings and a provided context. Does not compile or link the program. </p>
</div>
</div>
<a class="anchor" id="af804a4cb0e2dc844c0be0b0b76dbd25a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl::Program::Program </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcl_1_1_context.html">Context</a> &amp;&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; <a class="el" href="classcl_1_1_device.html">Device</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>devices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classcl_1_1_program.html#a012a70fc915a06671e1d6c05ba7804df">Binaries</a> &amp;&#160;</td>
<td class="paramname"><em>binaries</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; cl_int &gt; *&#160;</td>
<td class="paramname"><em>binaryStatus</em> = <code>NULL</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cl_int *&#160;</td>
<td class="paramname"><em>err</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct a program object from a list of devices and a per-device list of binaries. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>A valid OpenCL context in which to construct the program. </td></tr>
<tr><td class="paramname">devices</td><td>A vector of OpenCL device objects for which the program will be created. </td></tr>
<tr><td class="paramname">binaries</td><td>A vector of pairs of a pointer to a binary object and its length. </td></tr>
<tr><td class="paramname">binaryStatus</td><td>An optional vector that on completion will be resized to match the size of binaries and filled with values to specify if each binary was successfully loaded. Set to CL_SUCCESS if the binary was successfully loaded. Set to CL_INVALID_VALUE if the length is 0 or the binary pointer is NULL. Set to CL_INVALID_BINARY if the binary provided is not valid for the matching device. </td></tr>
<tr><td class="paramname">err</td><td>if non-NULL will be set to CL_SUCCESS on successful operation or one of the following errors: CL_INVALID_CONTEXT if context is not a valid context. CL_INVALID_VALUE if the length of devices is zero; or if the length of binaries does not match the length of devices; or if any entry in binaries is NULL or has length 0. CL_INVALID_DEVICE if OpenCL devices listed in devices are not in the list of devices associated with context. CL_INVALID_BINARY if an invalid program binary was encountered for any device. binaryStatus will return specific status for each device. CL_OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a9223820e8ac1901a84e1a1a02a97954b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl::Program::Program </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcl_1_1_context.html">Context</a> &amp;&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; <a class="el" href="classcl_1_1_device.html">Device</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>devices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">string</a> &amp;&#160;</td>
<td class="paramname"><em>kernelNames</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cl_int *&#160;</td>
<td class="paramname"><em>err</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create program using builtin kernels. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">kernelNames</td><td>Semi-colon separated list of builtin kernel names </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a204c904c9fa5d0b2a65de6fc87396d30"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl::Program::Program </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aaac370eec783f85a00945d701d6a7e19"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl::Program::Program </td>
<td>(</td>
<td class="paramtype">const cl_program &amp;&#160;</td>
<td class="paramname"><em>program</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>retainObject</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor from cl_mem - takes ownership. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">retainObject</td><td>will cause the constructor to retain its cl object. Defaults to false to maintain compatibility with earlier versions. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a0ec5552449e9fefc46e7bcd399d15f51"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl::Program::Program </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcl_1_1_program.html">Program</a> &amp;&#160;</td>
<td class="paramname"><em>program</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy constructor to forward copy to the superclass correctly. Required for MSVC. </p>
</div>
</div>
<a class="anchor" id="a1666a02c393b46730b24a76f79302b15"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl::Program::Program </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcl_1_1_program.html">Program</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>program</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Move constructor to forward move to the superclass correctly. Required for MSVC. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a1c68f6aa0244c99c8e70f4c971c9049a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl_int cl::Program::build </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; <a class="el" href="classcl_1_1_device.html">Device</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>devices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>options</em> = <code>NULL</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void(<a class="el" href="cl2_8hpp.html#a193b43da2ce23c54788f9b4d4f0f4740">CL_CALLBACK</a> *notifyFptr)(cl_program, void *)&#160;</td>
<td class="paramname"> = <code>NULL</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>data</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab6f097f1e1f14eb6f15651dcb6529b7a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl_int cl::Program::build </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>options</em> = <code>NULL</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void(<a class="el" href="cl2_8hpp.html#a193b43da2ce23c54788f9b4d4f0f4740">CL_CALLBACK</a> *notifyFptr)(cl_program, void *)&#160;</td>
<td class="paramname"> = <code>NULL</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>data</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8da346ecc73cf9df257690815039ddb5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl_int cl::Program::compile </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>options</em> = <code>NULL</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void(<a class="el" href="cl2_8hpp.html#a193b43da2ce23c54788f9b4d4f0f4740">CL_CALLBACK</a> *notifyFptr)(cl_program, void *)&#160;</td>
<td class="paramname"> = <code>NULL</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>data</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8251f8a862bdfd82caf10a949b2bd884"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl_int cl::Program::createKernels </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; <a class="el" href="classcl_1_1_kernel.html">Kernel</a> &gt; *&#160;</td>
<td class="paramname"><em>kernels</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a51c723551c01ef55f6222c84d58578fc"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl_int cl::Program::getBuildInfo </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcl_1_1_device.html">Device</a> &amp;&#160;</td>
<td class="paramname"><em>device</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cl_program_build_info&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T *&#160;</td>
<td class="paramname"><em>param</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a06f673e6c88aac6c5e9f754e830028b6"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;cl_int name&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structcl_1_1detail_1_1param__traits.html">detail::param_traits</a>&lt;detail::cl_program_build_info, name&gt;::param_type cl::Program::getBuildInfo </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcl_1_1_device.html">Device</a> &amp;&#160;</td>
<td class="paramname"><em>device</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cl_int *&#160;</td>
<td class="paramname"><em>err</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aea803c4bba50b6a01d76537d946e211f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;cl_int name&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt;std::pair&lt;<a class="el" href="classcl_1_1_device.html">cl::Device</a>, typename <a class="el" href="structcl_1_1detail_1_1param__traits.html">detail::param_traits</a>&lt;detail::cl_program_build_info, name&gt;::param_type&gt; &gt; cl::Program::getBuildInfo </td>
<td>(</td>
<td class="paramtype">cl_int *&#160;</td>
<td class="paramname"><em>err</em> = <code>NULL</code></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Build info function that returns a vector of device/info pairs for the specified info type and for all devices in the program. On an error reading the info for any device, an empty vector of info will be returned. </p>
</div>
</div>
<a class="anchor" id="a56f6f1b9905ee241c1483a76a9862b67"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl_int cl::Program::getInfo </td>
<td>(</td>
<td class="paramtype">cl_program_info&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T *&#160;</td>
<td class="paramname"><em>param</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a80f619f4a81ff91a6317bb343ea5b146"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;cl_int name&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structcl_1_1detail_1_1param__traits.html">detail::param_traits</a>&lt;detail::cl_program_info, name&gt;::param_type cl::Program::getInfo </td>
<td>(</td>
<td class="paramtype">cl_int *&#160;</td>
<td class="paramname"><em>err</em> = <code>NULL</code></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9172fe2516fb318582c7e3e50ec9eea0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt;<a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt;unsigned char&gt; &gt; cl::Program::getInfo </td>
<td>(</td>
<td class="paramtype">cl_int *&#160;</td>
<td class="paramname"><em>err</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7179aa9922da49df619171f65e0d7661"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">cl_int cl::Program::getInfo </td>
<td>(</td>
<td class="paramtype">cl_program_info&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; <a class="el" href="namespacecl.html#a01a0973ddf4c1799772079a09d7156cb">vector</a>&lt; unsigned char &gt;&gt; *&#160;</td>
<td class="paramname"><em>param</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="afc23b6c31e74af370da1b5766a7a0c7b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcl_1_1_program.html">Program</a>&amp; cl::Program::operator= </td>
<td>(</td>
<td class="paramtype">const cl_program &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab28c814ce62db2051041c4bf1c9b5561"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcl_1_1_program.html">Program</a>&amp; cl::Program::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcl_1_1_program.html">Program</a> &amp;&#160;</td>
<td class="paramname"><em>program</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy assignment to forward copy to the superclass correctly. Required for MSVC. </p>
</div>
</div>
<a class="anchor" id="aca2f3a6bb7028fa2021d274cb5664725"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcl_1_1_program.html">Program</a>&amp; cl::Program::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcl_1_1_program.html">Program</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>program</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Move assignment to forward move to the superclass correctly. Required for MSVC. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/gpu/<a class="el" href="cl2_8hpp_source.html">cl2.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacecl.html">cl</a></li><li class="navelem"><a class="el" href="classcl_1_1_program.html">Program</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
</ul>
</div>
</body>
</html>