644 lines
64 KiB
HTML
644 lines
64 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.11"/>
|
|
<title>CUTLASS: platform.h File Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(function() { init_search(); });
|
|
</script>
|
|
<script type="text/x-mathjax-config">
|
|
MathJax.Hub.Config({
|
|
extensions: ["tex2jax.js"],
|
|
jax: ["input/TeX","output/HTML-CSS"],
|
|
});
|
|
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectlogo"><img alt="Logo" src="cutlass-logo-small.png"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">CUTLASS
|
|
</div>
|
|
<div id="projectbrief">CUDA Templates for Linear Algebra Subroutines and Solvers</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.11 -->
|
|
<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 Page</span></a></li>
|
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
|
<li>
|
|
<div id="MSearchBox" class="MSearchBoxInactive">
|
|
<span class="left">
|
|
<img id="MSearchSelect" src="search/mag_sel.png"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
alt=""/>
|
|
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
|
onfocus="searchBox.OnSearchFieldFocus(true)"
|
|
onblur="searchBox.OnSearchFieldFocus(false)"
|
|
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
|
</span><span class="right">
|
|
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
|
</span>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="navrow2" class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
|
<li><a href="globals.html"><span>File Members</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_6baf2bb612a2f0daa69af3101ede80a1.html">cutlass</a></li><li class="navelem"><a class="el" href="dir_df998829b150afe92f54393d2430470d.html">platform</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="#namespaces">Namespaces</a> |
|
|
<a href="#define-members">Macros</a> |
|
|
<a href="#typedef-members">Typedefs</a> |
|
|
<a href="#func-members">Functions</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">platform.h File Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>C++ features that may be otherwise unimplemented for CUDA device functions.
|
|
<a href="#details">More...</a></p>
|
|
<div class="textblock"><code>#include <stdint.h></code><br />
|
|
<code>#include <algorithm></code><br />
|
|
<code>#include <cstddef></code><br />
|
|
<code>#include <functional></code><br />
|
|
<code>#include <utility></code><br />
|
|
<code>#include "<a class="el" href="cutlass_8h_source.html">cutlass/cutlass.h</a>"</code><br />
|
|
</div><div class="textblock"><div class="dynheader">
|
|
Include dependency graph for platform.h:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="platform_8h__incl.png" border="0" usemap="#platform_8h" alt=""/></div>
|
|
<map name="platform_8h" id="platform_8h">
|
|
</map>
|
|
</div>
|
|
</div><div class="textblock"><div class="dynheader">
|
|
This graph shows which files directly or indirectly include this file:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="platform_8h__dep__incl.png" border="0" usemap="#platform_8hdep" alt=""/></div>
|
|
<map name="platform_8hdep" id="platform_8hdep">
|
|
</map>
|
|
</div>
|
|
</div>
|
|
<p><a href="platform_8h_source.html">Go to the source code of this file.</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1integral__constant.html">cutlass::platform::integral_constant< value_t, V ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::integral_constant <a href="structcutlass_1_1platform_1_1integral__constant.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1integral__constant.html">cutlass::platform::integral_constant< value_t, V ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::integral_constant <a href="structcutlass_1_1platform_1_1integral__constant.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1bool__constant.html">cutlass::platform::bool_constant< V ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::bool_constant <a href="structcutlass_1_1platform_1_1bool__constant.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1nullptr__t.html">cutlass::platform::nullptr_t</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::nullptr_t <a href="structcutlass_1_1platform_1_1nullptr__t.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1enable__if.html">cutlass::platform::enable_if< C, T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::enable_if (true specialization) <a href="structcutlass_1_1platform_1_1enable__if.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1enable__if_3_01false_00_01T_01_4.html">cutlass::platform::enable_if< false, T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::enable_if (false specialization) <a href="structcutlass_1_1platform_1_1enable__if_3_01false_00_01T_01_4.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1conditional.html">cutlass::platform::conditional< B, T, F ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::conditional (true specialization) <a href="structcutlass_1_1platform_1_1conditional.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1conditional_3_01false_00_01T_00_01F_01_4.html">cutlass::platform::conditional< false, T, F ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::conditional (false specialization) <a href="structcutlass_1_1platform_1_1conditional_3_01false_00_01T_00_01F_01_4.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1remove__const.html">cutlass::platform::remove_const< T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::remove_const (non-const specialization) <a href="structcutlass_1_1platform_1_1remove__const.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1remove__const_3_01const_01T_01_4.html">cutlass::platform::remove_const< const T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::remove_const (const specialization) <a href="structcutlass_1_1platform_1_1remove__const_3_01const_01T_01_4.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1remove__volatile.html">cutlass::platform::remove_volatile< T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::remove_volatile (non-volatile specialization) <a href="structcutlass_1_1platform_1_1remove__volatile.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1remove__volatile_3_01volatile_01T_01_4.html">cutlass::platform::remove_volatile< volatile T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::remove_volatile (volatile specialization) <a href="structcutlass_1_1platform_1_1remove__volatile_3_01volatile_01T_01_4.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1remove__cv.html">cutlass::platform::remove_cv< T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::remove_cv <a href="structcutlass_1_1platform_1_1remove__cv.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__same.html">cutlass::platform::is_same< A, B ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::is_same (false specialization) <a href="structcutlass_1_1platform_1_1is__same.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__same_3_01A_00_01A_01_4.html">cutlass::platform::is_same< A, A ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::is_same (true specialization) <a href="structcutlass_1_1platform_1_1is__same_3_01A_00_01A_01_4.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__base__of__helper.html">cutlass::platform::is_base_of_helper< BaseT, DerivedT ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper for std::is_base_of. <a href="structcutlass_1_1platform_1_1is__base__of__helper.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__base__of__helper_1_1dummy.html">cutlass::platform::is_base_of_helper< BaseT, DerivedT >::dummy< B, D ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__base__of.html">cutlass::platform::is_base_of< BaseT, DerivedT ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::is_base_of <a href="structcutlass_1_1platform_1_1is__base__of.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__volatile.html">cutlass::platform::is_volatile< T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::is_volatile <a href="structcutlass_1_1platform_1_1is__volatile.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__volatile_3_01volatile_01T_01_4.html">cutlass::platform::is_volatile< volatile T ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__pointer__helper.html">cutlass::platform::is_pointer_helper< T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper for std::is_pointer (false specialization) <a href="structcutlass_1_1platform_1_1is__pointer__helper.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__pointer__helper_3_01T_01_5_01_4.html">cutlass::platform::is_pointer_helper< T * ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper for std::is_pointer (true specialization) <a href="structcutlass_1_1platform_1_1is__pointer__helper_3_01T_01_5_01_4.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__pointer.html">cutlass::platform::is_pointer< T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::is_pointer <a href="structcutlass_1_1platform_1_1is__pointer.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__void.html">cutlass::platform::is_void< T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::is_void <a href="structcutlass_1_1platform_1_1is__void.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral.html">cutlass::platform::is_integral< T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::is_integral <a href="structcutlass_1_1platform_1_1is__integral.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral_3_01char_01_4.html">cutlass::platform::is_integral< char ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral_3_01signed_01char_01_4.html">cutlass::platform::is_integral< signed char ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral_3_01unsigned_01char_01_4.html">cutlass::platform::is_integral< unsigned char ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral_3_01short_01_4.html">cutlass::platform::is_integral< short ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral_3_01unsigned_01short_01_4.html">cutlass::platform::is_integral< unsigned short ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral_3_01int_01_4.html">cutlass::platform::is_integral< int ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral_3_01unsigned_01int_01_4.html">cutlass::platform::is_integral< unsigned int ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral_3_01long_01_4.html">cutlass::platform::is_integral< long ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral_3_01unsigned_01long_01_4.html">cutlass::platform::is_integral< unsigned long ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral_3_01long_01long_01_4.html">cutlass::platform::is_integral< long long ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral_3_01unsigned_01long_01long_01_4.html">cutlass::platform::is_integral< unsigned long long ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral_3_01volatile_01T_01_4.html">cutlass::platform::is_integral< volatile T ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral_3_01const_01T_01_4.html">cutlass::platform::is_integral< const T ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__integral_3_01const_01volatile_01T_01_4.html">cutlass::platform::is_integral< const volatile T ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__floating__point.html">cutlass::platform::is_floating_point< T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::is_floating_point <a href="structcutlass_1_1platform_1_1is__floating__point.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__arithmetic.html">cutlass::platform::is_arithmetic< T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::is_arithmetic <a href="structcutlass_1_1platform_1_1is__arithmetic.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__fundamental.html">cutlass::platform::is_fundamental< T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::is_fundamental <a href="structcutlass_1_1platform_1_1is__fundamental.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1is__trivially__copyable.html">cutlass::platform::is_trivially_copyable< T ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of.html">cutlass::platform::alignment_of< value_t ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::alignment_of <a href="structcutlass_1_1platform_1_1alignment__of.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_1_1pad.html">cutlass::platform::alignment_of< value_t >::pad</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_3_01int4_01_4.html">cutlass::platform::alignment_of< int4 ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_3_01uint4_01_4.html">cutlass::platform::alignment_of< uint4 ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_3_01float4_01_4.html">cutlass::platform::alignment_of< float4 ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_3_01long4_01_4.html">cutlass::platform::alignment_of< long4 ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_3_01ulong4_01_4.html">cutlass::platform::alignment_of< ulong4 ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_3_01longlong2_01_4.html">cutlass::platform::alignment_of< longlong2 ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_3_01ulonglong2_01_4.html">cutlass::platform::alignment_of< ulonglong2 ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_3_01double2_01_4.html">cutlass::platform::alignment_of< double2 ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_3_01longlong4_01_4.html">cutlass::platform::alignment_of< longlong4 ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_3_01ulonglong4_01_4.html">cutlass::platform::alignment_of< ulonglong4 ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_3_01double4_01_4.html">cutlass::platform::alignment_of< double4 ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_3_01volatile_01value__t_01_4.html">cutlass::platform::alignment_of< volatile value_t ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_3_01const_01value__t_01_4.html">cutlass::platform::alignment_of< const value_t ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1alignment__of_3_01const_01volatile_01value__t_01_4.html">cutlass::platform::alignment_of< const volatile value_t ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1aligned__chunk.html">cutlass::platform::aligned_chunk< Align ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1aligned__storage.html">cutlass::platform::aligned_storage< Len, Align ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::aligned_storage <a href="structcutlass_1_1platform_1_1aligned__storage.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1default__delete.html">cutlass::platform::default_delete< T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Default deleter. <a href="structcutlass_1_1platform_1_1default__delete.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1platform_1_1default__delete_3_01T[]_4.html">cutlass::platform::default_delete< T[]></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Partial specialization for deleting array types. <a href="structcutlass_1_1platform_1_1default__delete_3_01T[]_4.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1platform_1_1unique__ptr.html">cutlass::platform::unique_ptr< T, Deleter ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">std::unique_ptr <a href="classcutlass_1_1platform_1_1unique__ptr.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
|
|
Namespaces</h2></td></tr>
|
|
<tr class="memitem:namespacecutlass"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass.html">cutlass</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:namespacecutlass_1_1platform"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html">cutlass::platform</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
|
|
Macros</h2></td></tr>
|
|
<tr class="memitem:a189faadd7f99f6c354db09acbb2aafcd"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="platform_8h.html#a189faadd7f99f6c354db09acbb2aafcd">noexcept</a></td></tr>
|
|
<tr class="memdesc:a189faadd7f99f6c354db09acbb2aafcd"><td class="mdescLeft"> </td><td class="mdescRight">noexcept, constexpr <a href="#a189faadd7f99f6c354db09acbb2aafcd">More...</a><br /></td></tr>
|
|
<tr class="separator:a189faadd7f99f6c354db09acbb2aafcd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a72f0657181cca64b44eb186b707eb380"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="platform_8h.html#a72f0657181cca64b44eb186b707eb380">constexpr</a></td></tr>
|
|
<tr class="separator:a72f0657181cca64b44eb186b707eb380"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab979d9d4b4923f7c54d6caa6e1a61936"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="platform_8h.html#ab979d9d4b4923f7c54d6caa6e1a61936">nullptr</a>   0</td></tr>
|
|
<tr class="memdesc:ab979d9d4b4923f7c54d6caa6e1a61936"><td class="mdescLeft"> </td><td class="mdescRight">nullptr <a href="#ab979d9d4b4923f7c54d6caa6e1a61936">More...</a><br /></td></tr>
|
|
<tr class="separator:ab979d9d4b4923f7c54d6caa6e1a61936"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acd148999a5caeba8f6fd52e7e288e659"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="platform_8h.html#acd148999a5caeba8f6fd52e7e288e659">__platform_cat_</a>(a, b)   a##b</td></tr>
|
|
<tr class="memdesc:acd148999a5caeba8f6fd52e7e288e659"><td class="mdescLeft"> </td><td class="mdescRight">static_assert <a href="#acd148999a5caeba8f6fd52e7e288e659">More...</a><br /></td></tr>
|
|
<tr class="separator:acd148999a5caeba8f6fd52e7e288e659"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aece7fe71be5aaf8d12dc9e2372f97de4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="platform_8h.html#aece7fe71be5aaf8d12dc9e2372f97de4">__platform_cat</a>(a, b)   <a class="el" href="platform_8h.html#acd148999a5caeba8f6fd52e7e288e659">__platform_cat_</a>(a, b)</td></tr>
|
|
<tr class="separator:aece7fe71be5aaf8d12dc9e2372f97de4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adde4c9ea91b753491851361a4198c009"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="platform_8h.html#adde4c9ea91b753491851361a4198c009">static_assert</a>(__e, __m)   typedef int <a class="el" href="platform_8h.html#aece7fe71be5aaf8d12dc9e2372f97de4">__platform_cat</a>(AsSeRt, __LINE__)[(__e) ? 1 : -1]</td></tr>
|
|
<tr class="separator:adde4c9ea91b753491851361a4198c009"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abd31f291635329bc15292954f1f01d38"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="platform_8h.html#abd31f291635329bc15292954f1f01d38">__NV_STD_MAX</a>(a, b)   (((b) > (a)) ? (b) : (a))</td></tr>
|
|
<tr class="memdesc:abd31f291635329bc15292954f1f01d38"><td class="mdescLeft"> </td><td class="mdescRight">Select maximum(a, b) <a href="#abd31f291635329bc15292954f1f01d38">More...</a><br /></td></tr>
|
|
<tr class="separator:abd31f291635329bc15292954f1f01d38"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a39e234a3e3b0018b58df720bcb143420"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="platform_8h.html#a39e234a3e3b0018b58df720bcb143420">__NV_STD_MIN</a>(a, b)   (((b) < (a)) ? (b) : (a))</td></tr>
|
|
<tr class="memdesc:a39e234a3e3b0018b58df720bcb143420"><td class="mdescLeft"> </td><td class="mdescRight">Select minimum(a, b) <a href="#a39e234a3e3b0018b58df720bcb143420">More...</a><br /></td></tr>
|
|
<tr class="separator:a39e234a3e3b0018b58df720bcb143420"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
|
|
Typedefs</h2></td></tr>
|
|
<tr class="memitem:a0eddc4a3921e137f31fd8014be96e807"><td class="memItemLeft" align="right" valign="top">typedef integral_constant< bool, true > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a0eddc4a3921e137f31fd8014be96e807">cutlass::platform::true_type</a></td></tr>
|
|
<tr class="memdesc:a0eddc4a3921e137f31fd8014be96e807"><td class="mdescLeft"> </td><td class="mdescRight">The type used as a compile-time boolean with true value. <a href="namespacecutlass_1_1platform.html#a0eddc4a3921e137f31fd8014be96e807">More...</a><br /></td></tr>
|
|
<tr class="separator:a0eddc4a3921e137f31fd8014be96e807"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad8c95b2109070847b13d355120344380"><td class="memItemLeft" align="right" valign="top">typedef integral_constant< bool, false > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#ad8c95b2109070847b13d355120344380">cutlass::platform::false_type</a></td></tr>
|
|
<tr class="memdesc:ad8c95b2109070847b13d355120344380"><td class="mdescLeft"> </td><td class="mdescRight">The type used as a compile-time boolean with false value. <a href="namespacecutlass_1_1platform.html#ad8c95b2109070847b13d355120344380">More...</a><br /></td></tr>
|
|
<tr class="separator:ad8c95b2109070847b13d355120344380"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:a57c071d2a7305dd4ec60542e66b0c81c"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
|
<tr class="memitem:a57c071d2a7305dd4ec60542e66b0c81c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="platform_8h.html#a72f0657181cca64b44eb186b707eb380">constexpr</a> const T & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a57c071d2a7305dd4ec60542e66b0c81c">cutlass::platform::min</a> (const T &a, const T &b)</td></tr>
|
|
<tr class="memdesc:a57c071d2a7305dd4ec60542e66b0c81c"><td class="mdescLeft"> </td><td class="mdescRight">std::min <a href="namespacecutlass_1_1platform.html#a57c071d2a7305dd4ec60542e66b0c81c">More...</a><br /></td></tr>
|
|
<tr class="separator:a57c071d2a7305dd4ec60542e66b0c81c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af6a9a165e53d7e85ae121d5789aa03e0"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
|
<tr class="memitem:af6a9a165e53d7e85ae121d5789aa03e0"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="platform_8h.html#a72f0657181cca64b44eb186b707eb380">constexpr</a> const T & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#af6a9a165e53d7e85ae121d5789aa03e0">cutlass::platform::max</a> (const T &a, const T &b)</td></tr>
|
|
<tr class="memdesc:af6a9a165e53d7e85ae121d5789aa03e0"><td class="mdescLeft"> </td><td class="mdescRight">std::max <a href="namespacecutlass_1_1platform.html#af6a9a165e53d7e85ae121d5789aa03e0">More...</a><br /></td></tr>
|
|
<tr class="separator:af6a9a165e53d7e85ae121d5789aa03e0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab9b8306ae9dc21fa646c49b68fa8e197"><td class="memTemplParams" colspan="2">template<class T1 , class T2 > </td></tr>
|
|
<tr class="memitem:ab9b8306ae9dc21fa646c49b68fa8e197"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="platform_8h.html#a72f0657181cca64b44eb186b707eb380">constexpr</a> bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#ab9b8306ae9dc21fa646c49b68fa8e197">cutlass::platform::operator==</a> (const pair< T1, T2 > &lhs, const pair< T1, T2 > &rhs)</td></tr>
|
|
<tr class="separator:ab9b8306ae9dc21fa646c49b68fa8e197"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a248f49adf09654d2cd04bd2760ab2566"><td class="memTemplParams" colspan="2">template<class T1 , class T2 > </td></tr>
|
|
<tr class="memitem:a248f49adf09654d2cd04bd2760ab2566"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="platform_8h.html#a72f0657181cca64b44eb186b707eb380">constexpr</a> bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a248f49adf09654d2cd04bd2760ab2566">cutlass::platform::operator!=</a> (const pair< T1, T2 > &lhs, const pair< T1, T2 > &rhs)</td></tr>
|
|
<tr class="separator:a248f49adf09654d2cd04bd2760ab2566"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a412dbdbc678ecd12b55fcad4ef4155bd"><td class="memTemplParams" colspan="2">template<class T1 , class T2 > </td></tr>
|
|
<tr class="memitem:a412dbdbc678ecd12b55fcad4ef4155bd"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="platform_8h.html#a72f0657181cca64b44eb186b707eb380">constexpr</a> bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a412dbdbc678ecd12b55fcad4ef4155bd">cutlass::platform::operator<</a> (const pair< T1, T2 > &lhs, const pair< T1, T2 > &rhs)</td></tr>
|
|
<tr class="separator:a412dbdbc678ecd12b55fcad4ef4155bd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a41d573133357bd555f78d33afc1152d3"><td class="memTemplParams" colspan="2">template<class T1 , class T2 > </td></tr>
|
|
<tr class="memitem:a41d573133357bd555f78d33afc1152d3"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="platform_8h.html#a72f0657181cca64b44eb186b707eb380">constexpr</a> bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a41d573133357bd555f78d33afc1152d3">cutlass::platform::operator<=</a> (const pair< T1, T2 > &lhs, const pair< T1, T2 > &rhs)</td></tr>
|
|
<tr class="separator:a41d573133357bd555f78d33afc1152d3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9e8e698d40b8df881991fde9ba2a1b12"><td class="memTemplParams" colspan="2">template<class T1 , class T2 > </td></tr>
|
|
<tr class="memitem:a9e8e698d40b8df881991fde9ba2a1b12"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="platform_8h.html#a72f0657181cca64b44eb186b707eb380">constexpr</a> bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a9e8e698d40b8df881991fde9ba2a1b12">cutlass::platform::operator></a> (const pair< T1, T2 > &lhs, const pair< T1, T2 > &rhs)</td></tr>
|
|
<tr class="separator:a9e8e698d40b8df881991fde9ba2a1b12"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab0f21e67c0a4b5c6952042b502c6816f"><td class="memTemplParams" colspan="2">template<class T1 , class T2 > </td></tr>
|
|
<tr class="memitem:ab0f21e67c0a4b5c6952042b502c6816f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="platform_8h.html#a72f0657181cca64b44eb186b707eb380">constexpr</a> bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#ab0f21e67c0a4b5c6952042b502c6816f">cutlass::platform::operator>=</a> (const pair< T1, T2 > &lhs, const pair< T1, T2 > &rhs)</td></tr>
|
|
<tr class="separator:ab0f21e67c0a4b5c6952042b502c6816f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a90ce74c7faa4e27c888ce56e957b73d5"><td class="memTemplParams" colspan="2">template<class T1 , class T2 > </td></tr>
|
|
<tr class="memitem:a90ce74c7faa4e27c888ce56e957b73d5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> std::pair< T1, T2 > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a90ce74c7faa4e27c888ce56e957b73d5">cutlass::platform::make_pair</a> (T1 t, T2 u)</td></tr>
|
|
<tr class="separator:a90ce74c7faa4e27c888ce56e957b73d5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac9068e2d027ffdf5cd564deecc2cb9e8"><td class="memTemplParams" colspan="2">template<> </td></tr>
|
|
<tr class="memitem:ac9068e2d027ffdf5cd564deecc2cb9e8"><td class="memTemplItemLeft" align="right" valign="top">struct </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#ac9068e2d027ffdf5cd564deecc2cb9e8">cutlass::platform::__align__</a> (1) aligned_chunk< 1 ></td></tr>
|
|
<tr class="separator:ac9068e2d027ffdf5cd564deecc2cb9e8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0bcb016704ec57f9499e662ba6156f98"><td class="memTemplParams" colspan="2">template<> </td></tr>
|
|
<tr class="memitem:a0bcb016704ec57f9499e662ba6156f98"><td class="memTemplItemLeft" align="right" valign="top">struct </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a0bcb016704ec57f9499e662ba6156f98">cutlass::platform::__align__</a> (2) aligned_chunk< 2 ></td></tr>
|
|
<tr class="separator:a0bcb016704ec57f9499e662ba6156f98"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a71be5af25eeffa4077777f919e67d8da"><td class="memTemplParams" colspan="2">template<> </td></tr>
|
|
<tr class="memitem:a71be5af25eeffa4077777f919e67d8da"><td class="memTemplItemLeft" align="right" valign="top">struct </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a71be5af25eeffa4077777f919e67d8da">cutlass::platform::__align__</a> (4) aligned_chunk< 4 ></td></tr>
|
|
<tr class="separator:a71be5af25eeffa4077777f919e67d8da"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a42440254a16d4b6b95b95cc3360ee372"><td class="memTemplParams" colspan="2">template<> </td></tr>
|
|
<tr class="memitem:a42440254a16d4b6b95b95cc3360ee372"><td class="memTemplItemLeft" align="right" valign="top">struct </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a42440254a16d4b6b95b95cc3360ee372">cutlass::platform::__align__</a> (8) aligned_chunk< 8 ></td></tr>
|
|
<tr class="separator:a42440254a16d4b6b95b95cc3360ee372"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a91d5e970d6ebe619914f40a9510bdb1e"><td class="memTemplParams" colspan="2">template<> </td></tr>
|
|
<tr class="memitem:a91d5e970d6ebe619914f40a9510bdb1e"><td class="memTemplItemLeft" align="right" valign="top">struct </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a91d5e970d6ebe619914f40a9510bdb1e">cutlass::platform::__align__</a> (16) aligned_chunk< 16 ></td></tr>
|
|
<tr class="separator:a91d5e970d6ebe619914f40a9510bdb1e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a210f4d360b1f9c3d074e71129fe4c0d9"><td class="memTemplParams" colspan="2">template<> </td></tr>
|
|
<tr class="memitem:a210f4d360b1f9c3d074e71129fe4c0d9"><td class="memTemplItemLeft" align="right" valign="top">struct </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a210f4d360b1f9c3d074e71129fe4c0d9">cutlass::platform::__align__</a> (32) aligned_chunk< 32 ></td></tr>
|
|
<tr class="separator:a210f4d360b1f9c3d074e71129fe4c0d9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae792b1c7ada1a33e306cd552f583bdce"><td class="memTemplParams" colspan="2">template<> </td></tr>
|
|
<tr class="memitem:ae792b1c7ada1a33e306cd552f583bdce"><td class="memTemplItemLeft" align="right" valign="top">struct </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#ae792b1c7ada1a33e306cd552f583bdce">cutlass::platform::__align__</a> (64) aligned_chunk< 64 ></td></tr>
|
|
<tr class="separator:ae792b1c7ada1a33e306cd552f583bdce"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5712ec4fed335a9b7f863fb3abe3c5eb"><td class="memTemplParams" colspan="2">template<> </td></tr>
|
|
<tr class="memitem:a5712ec4fed335a9b7f863fb3abe3c5eb"><td class="memTemplItemLeft" align="right" valign="top">struct </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a5712ec4fed335a9b7f863fb3abe3c5eb">cutlass::platform::__align__</a> (128) aligned_chunk< 128 ></td></tr>
|
|
<tr class="separator:a5712ec4fed335a9b7f863fb3abe3c5eb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a595cc98db29fb4d59772d2e2f52e347a"><td class="memTemplParams" colspan="2">template<> </td></tr>
|
|
<tr class="memitem:a595cc98db29fb4d59772d2e2f52e347a"><td class="memTemplItemLeft" align="right" valign="top">struct </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a595cc98db29fb4d59772d2e2f52e347a">cutlass::platform::__align__</a> (256) aligned_chunk< 256 ></td></tr>
|
|
<tr class="separator:a595cc98db29fb4d59772d2e2f52e347a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae70bb5d14a66500b47d2e3f83063d4a5"><td class="memTemplParams" colspan="2">template<> </td></tr>
|
|
<tr class="memitem:ae70bb5d14a66500b47d2e3f83063d4a5"><td class="memTemplItemLeft" align="right" valign="top">struct </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#ae70bb5d14a66500b47d2e3f83063d4a5">cutlass::platform::__align__</a> (512) aligned_chunk< 512 ></td></tr>
|
|
<tr class="separator:ae70bb5d14a66500b47d2e3f83063d4a5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a181e44e9c66f704175590727aaa9e5a1"><td class="memTemplParams" colspan="2">template<> </td></tr>
|
|
<tr class="memitem:a181e44e9c66f704175590727aaa9e5a1"><td class="memTemplItemLeft" align="right" valign="top">struct </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a181e44e9c66f704175590727aaa9e5a1">cutlass::platform::__align__</a> (1024) aligned_chunk< 1024 ></td></tr>
|
|
<tr class="separator:a181e44e9c66f704175590727aaa9e5a1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae72c8fa997bb251d4140dceb03147154"><td class="memTemplParams" colspan="2">template<> </td></tr>
|
|
<tr class="memitem:ae72c8fa997bb251d4140dceb03147154"><td class="memTemplItemLeft" align="right" valign="top">struct </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#ae72c8fa997bb251d4140dceb03147154">cutlass::platform::__align__</a> (2048) aligned_chunk< 2048 ></td></tr>
|
|
<tr class="separator:ae72c8fa997bb251d4140dceb03147154"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ada29683f1b408ae7b73cc8fbe2108628"><td class="memTemplParams" colspan="2">template<> </td></tr>
|
|
<tr class="memitem:ada29683f1b408ae7b73cc8fbe2108628"><td class="memTemplItemLeft" align="right" valign="top">struct </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#ada29683f1b408ae7b73cc8fbe2108628">cutlass::platform::__align__</a> (4096) aligned_chunk< 4096 ></td></tr>
|
|
<tr class="separator:ada29683f1b408ae7b73cc8fbe2108628"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3e83320a39137d92042eb0bf93be9678"><td class="memTemplParams" colspan="2">template<typename T , typename Deleter > </td></tr>
|
|
<tr class="memitem:a3e83320a39137d92042eb0bf93be9678"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1platform.html#a3e83320a39137d92042eb0bf93be9678">cutlass::platform::swap</a> (unique_ptr< T, Deleter > &lhs, unique_ptr< T, Deleter > &rhs) <a class="el" href="platform_8h.html#a189faadd7f99f6c354db09acbb2aafcd">noexcept</a></td></tr>
|
|
<tr class="memdesc:a3e83320a39137d92042eb0bf93be9678"><td class="mdescLeft"> </td><td class="mdescRight">Specializes the swap algorithm. <a href="namespacecutlass_1_1platform.html#a3e83320a39137d92042eb0bf93be9678">More...</a><br /></td></tr>
|
|
<tr class="separator:a3e83320a39137d92042eb0bf93be9678"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>This file has three components:</p>
|
|
<p>(1) Macros:</p><ul>
|
|
<li>Empty macro defines for C++ keywords not supported by the current version of C++. These simply allow compilation to proceed (but do not provide the added semantics).<ul>
|
|
<li><code>noexcept</code> </li>
|
|
<li><code>constexpr</code> </li>
|
|
<li><code>nullptr</code> </li>
|
|
<li><code>static_assert</code> </li>
|
|
</ul>
|
|
</li>
|
|
<li>Macro functions that we need in constant expressions because the C++ equivalents require constexpr compiler support. These are prefixed with <code>__NV_STD_*</code> <ul>
|
|
<li><code>__NV_STD_MAX</code> </li>
|
|
<li><code>__NV_STD_MIN</code> </li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<p>(2) Re-implementations of STL functions and types:</p><ul>
|
|
<li>C++ features that need the <code><b>device</b></code> annotation. These are placed into the <code>platform</code> namespace.<ul>
|
|
<li><code>plus</code> </li>
|
|
<li><code>less</code> </li>
|
|
<li><code>greater</code> </li>
|
|
<li><code>min</code> </li>
|
|
<li><code>max</code> </li>
|
|
<li><code>methods</code> on std::pair (==, !=, <, <=, >, >=, and <a class="el" href="namespacecutlass_1_1platform.html#a90ce74c7faa4e27c888ce56e957b73d5">make_pair()</a>)</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<p>(3) Stop-gap implementations of unsupported STL functions and types:</p><ul>
|
|
<li>STL functions and types defined by C++ 11/14/17/etc. that are not provided by the current version of C++. These are placed into the <code>platform</code> namespace<ul>
|
|
<li><code>integral_constant</code> </li>
|
|
<li><code>nullptr_t</code> </li>
|
|
<li><code>true_type</code> </li>
|
|
<li><code>false_type</code> </li>
|
|
<li><code>bool_constant</code> </li>
|
|
<li><code>enable_if</code> </li>
|
|
<li><code>conditional</code> </li>
|
|
<li><code>is_same</code> </li>
|
|
<li><code>is_base_of</code> </li>
|
|
<li><code>remove_const</code> </li>
|
|
<li><code>remove_volatile</code> </li>
|
|
<li><code>remove_cv</code> </li>
|
|
<li><code>is_volatile</code> </li>
|
|
<li><code>is_pointer</code> </li>
|
|
<li><code>is_void</code> </li>
|
|
<li><code>is_integral</code> </li>
|
|
<li><code>is_floating_point</code> </li>
|
|
<li><code>is_arithmetic</code> </li>
|
|
<li><code>is_fundamental</code> </li>
|
|
<li><code>is_trivially_copyable</code> </li>
|
|
<li><code>alignment_of</code> </li>
|
|
<li><code>aligned_storage</code> </li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<p>(4) Functions and types that are STL-like (but aren't in the STL):</p><ul>
|
|
<li><code>TODO:</code> min and max functors?</li>
|
|
</ul>
|
|
<p>The idea is that, as we drop support for older compilers, we can simply #define the <code>__NV_STD_XYZ</code> macros and <code>platform</code> namespace to alias their C++ counterparts (or trivially find-and-replace their occurrences in code text). </p>
|
|
</div><h2 class="groupheader">Macro Definition Documentation</h2>
|
|
<a class="anchor" id="abd31f291635329bc15292954f1f01d38"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define __NV_STD_MAX</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">a, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">b </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td>   (((b) > (a)) ? (b) : (a))</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a39e234a3e3b0018b58df720bcb143420"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define __NV_STD_MIN</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">a, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">b </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td>   (((b) < (a)) ? (b) : (a))</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aece7fe71be5aaf8d12dc9e2372f97de4"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define __platform_cat</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">a, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">b </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td>   <a class="el" href="platform_8h.html#acd148999a5caeba8f6fd52e7e288e659">__platform_cat_</a>(a, b)</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="acd148999a5caeba8f6fd52e7e288e659"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define __platform_cat_</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">a, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">b </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td>   a##b</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a72f0657181cca64b44eb186b707eb380"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define constexpr</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a189faadd7f99f6c354db09acbb2aafcd"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define noexcept</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ab979d9d4b4923f7c54d6caa6e1a61936"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define nullptr   0</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="adde4c9ea91b753491851361a4198c009"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define static_assert</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">__e, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">__m </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td>   typedef int <a class="el" href="platform_8h.html#aece7fe71be5aaf8d12dc9e2372f97de4">__platform_cat</a>(AsSeRt, __LINE__)[(__e) ? 1 : -1]</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.11
|
|
</small></address>
|
|
</body>
|
|
</html>
|