<!-- HTML header for doxygen 1.8.15-->
<!-- Remember to use version doxygen 1.8.15 +-->
<!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.15"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: common_promoted_signed_type&lt; T &gt; Struct Template 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="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</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/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.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;">
  <img alt="Compute Library" src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png" style="max-width: 100%;margin-top: 15px;margin-left: 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">19.02</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('structarm__compute_1_1test_1_1common__promoted__signed__type.xhtml','');});
/* @license-end */
</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)">
</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>  </div>
  <div class="headertitle">
<div class="title">common_promoted_signed_type&lt; T &gt; Struct Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Find the signed promoted common type.  
 <a href="structarm__compute_1_1test_1_1common__promoted__signed__type.xhtml#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="tests_2_utils_8h_source.xhtml">Utils.h</a>&gt;</code></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:a5dc4a681965ff1118a0491b07867c032"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1test_1_1common__promoted__signed__type.xhtml#a5dc4a681965ff1118a0491b07867c032">common_type</a> = typename std::common_type&lt; T... &gt;::type</td></tr>
<tr class="memdesc:a5dc4a681965ff1118a0491b07867c032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common type.  <a href="#a5dc4a681965ff1118a0491b07867c032">More...</a><br /></td></tr>
<tr class="separator:a5dc4a681965ff1118a0491b07867c032"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeab553c4422f2a498954db0b4eb15789"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1test_1_1common__promoted__signed__type.xhtml#aeab553c4422f2a498954db0b4eb15789">promoted_type</a> = <a class="el" href="namespacearm__compute_1_1test_1_1traits.xhtml#ac20ca549fa27b2eed44367745055a233">traits::promote_t</a>&lt; <a class="el" href="structarm__compute_1_1test_1_1common__promoted__signed__type.xhtml#a5dc4a681965ff1118a0491b07867c032">common_type</a> &gt;</td></tr>
<tr class="memdesc:aeab553c4422f2a498954db0b4eb15789"><td class="mdescLeft">&#160;</td><td class="mdescRight">Promoted type.  <a href="#aeab553c4422f2a498954db0b4eb15789">More...</a><br /></td></tr>
<tr class="separator:aeab553c4422f2a498954db0b4eb15789"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d8309776a9cb10567df1735666919ff"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1test_1_1common__promoted__signed__type.xhtml#a6d8309776a9cb10567df1735666919ff">intermediate_type</a> = typename <a class="el" href="namespacearm__compute_1_1test_1_1traits.xhtml#a5351f49d449d49f82e2bf942b7a13da6">traits::make_signed_conditional_t</a>&lt; <a class="el" href="structarm__compute_1_1test_1_1common__promoted__signed__type.xhtml#aeab553c4422f2a498954db0b4eb15789">promoted_type</a> &gt;::type</td></tr>
<tr class="memdesc:a6d8309776a9cb10567df1735666919ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intermediate type.  <a href="#a6d8309776a9cb10567df1735666919ff">More...</a><br /></td></tr>
<tr class="separator:a6d8309776a9cb10567df1735666919ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename... T&gt;<br />
struct arm_compute::test::common_promoted_signed_type&lt; T &gt;</h3>

<p>Find the signed promoted common type. </p>

<p class="definition">Definition at line <a class="el" href="tests_2_utils_8h_source.xhtml#l00418">418</a> of file <a class="el" href="tests_2_utils_8h_source.xhtml">Utils.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a5dc4a681965ff1118a0491b07867c032"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5dc4a681965ff1118a0491b07867c032">&#9670;&nbsp;</a></span>common_type</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="structarm__compute_1_1test_1_1common__promoted__signed__type.xhtml#a5dc4a681965ff1118a0491b07867c032">common_type</a> =  typename std::common_type&lt;T...&gt;::type</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Common type. </p>

<p class="definition">Definition at line <a class="el" href="tests_2_utils_8h_source.xhtml#l00421">421</a> of file <a class="el" href="tests_2_utils_8h_source.xhtml">Utils.h</a>.</p>

</div>
</div>
<a id="a6d8309776a9cb10567df1735666919ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d8309776a9cb10567df1735666919ff">&#9670;&nbsp;</a></span>intermediate_type</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="structarm__compute_1_1test_1_1common__promoted__signed__type.xhtml#a6d8309776a9cb10567df1735666919ff">intermediate_type</a> =  typename <a class="el" href="namespacearm__compute_1_1test_1_1traits.xhtml#a5351f49d449d49f82e2bf942b7a13da6">traits::make_signed_conditional_t</a>&lt;<a class="el" href="structarm__compute_1_1test_1_1common__promoted__signed__type.xhtml#aeab553c4422f2a498954db0b4eb15789">promoted_type</a>&gt;::type</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Intermediate type. </p>

<p class="definition">Definition at line <a class="el" href="tests_2_utils_8h_source.xhtml#l00425">425</a> of file <a class="el" href="tests_2_utils_8h_source.xhtml">Utils.h</a>.</p>

</div>
</div>
<a id="aeab553c4422f2a498954db0b4eb15789"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeab553c4422f2a498954db0b4eb15789">&#9670;&nbsp;</a></span>promoted_type</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="structarm__compute_1_1test_1_1common__promoted__signed__type.xhtml#aeab553c4422f2a498954db0b4eb15789">promoted_type</a> =  <a class="el" href="namespacearm__compute_1_1test_1_1traits.xhtml#ac20ca549fa27b2eed44367745055a233">traits::promote_t</a>&lt;<a class="el" href="structarm__compute_1_1test_1_1common__promoted__signed__type.xhtml#a5dc4a681965ff1118a0491b07867c032">common_type</a>&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Promoted type. </p>

<p class="definition">Definition at line <a class="el" href="tests_2_utils_8h_source.xhtml#l00423">423</a> of file <a class="el" href="tests_2_utils_8h_source.xhtml">Utils.h</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>tests/<a class="el" href="tests_2_utils_8h_source.xhtml">Utils.h</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="namespacearm__compute.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="namespacearm__compute_1_1test.xhtml">test</a></li><li class="navelem"><a class="el" href="structarm__compute_1_1test_1_1common__promoted__signed__type.xhtml">common_promoted_signed_type</a></li>
    <li class="footer">Generated on Thu Feb 28 2019 12:25:05 for Compute Library by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
  </ul>
</div>
</body>
</html>
