Micro template library A library for building device drivers
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 

156 lignes
111 KiB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.14"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>uTL: test/tests/TConcepts.cpp Source File</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="navtree.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="resize.js"></script>
  14. <script type="text/javascript" src="navtreedata.js"></script>
  15. <script type="text/javascript" src="navtree.js"></script>
  16. <script type="text/javascript">
  17. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  18. $(document).ready(initResizable);
  19. /* @license-end */</script>
  20. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  21. <script type="text/javascript" src="search/searchdata.js"></script>
  22. <script type="text/javascript" src="search/search.js"></script>
  23. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  24. </head>
  25. <body>
  26. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  27. <div id="titlearea">
  28. <table cellspacing="0" cellpadding="0">
  29. <tbody>
  30. <tr style="height: 56px;">
  31. <td id="projectalign" style="padding-left: 0.5em;">
  32. <div id="projectname">uTL
  33. </div>
  34. <div id="projectbrief">micro Template library</div>
  35. </td>
  36. </tr>
  37. </tbody>
  38. </table>
  39. </div>
  40. <!-- end header part -->
  41. <!-- Generated by Doxygen 1.8.14 -->
  42. <script type="text/javascript">
  43. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  44. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  45. /* @license-end */
  46. </script>
  47. <script type="text/javascript" src="menudata.js"></script>
  48. <script type="text/javascript" src="menu.js"></script>
  49. <script type="text/javascript">
  50. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  51. $(function() {
  52. initMenu('',true,false,'search.php','Search');
  53. $(document).ready(function() { init_search(); });
  54. });
  55. /* @license-end */</script>
  56. <div id="main-nav"></div>
  57. </div><!-- top -->
  58. <div id="side-nav" class="ui-resizable side-nav-resizable">
  59. <div id="nav-tree">
  60. <div id="nav-tree-contents">
  61. <div id="nav-sync" class="sync"></div>
  62. </div>
  63. </div>
  64. <div id="splitbar" style="-moz-user-select:none;"
  65. class="ui-resizable-handle">
  66. </div>
  67. </div>
  68. <script type="text/javascript">
  69. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  70. $(document).ready(function(){initNavTree('_t_concepts_8cpp_source.html','');});
  71. /* @license-end */
  72. </script>
  73. <div id="doc-content">
  74. <!-- window showing the filter options -->
  75. <div id="MSearchSelectWindow"
  76. onmouseover="return searchBox.OnSearchSelectShow()"
  77. onmouseout="return searchBox.OnSearchSelectHide()"
  78. onkeydown="return searchBox.OnSearchSelectKey(event)">
  79. </div>
  80. <!-- iframe showing the search results (closed by default) -->
  81. <div id="MSearchResultsWindow">
  82. <iframe src="javascript:void(0)" frameborder="0"
  83. name="MSearchResults" id="MSearchResults">
  84. </iframe>
  85. </div>
  86. <div class="header">
  87. <div class="headertitle">
  88. <div class="title">TConcepts.cpp</div> </div>
  89. </div><!--header-->
  90. <div class="contents">
  91. <a href="_t_concepts_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="concepts_8h.html">utl/concepts/concepts.h</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="meta_8h.html">utl/meta/meta.h</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="gtest_8h.html">gtest/gtest.h</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html"> 25</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacetest__concepts.html">test_concepts</a> {</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keyword">using namespace </span><a class="code" href="namespaceutl.html">utl</a>;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * Fixture like types</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_empty.html"> 31</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structtest__concepts_1_1_empty.html">Empty</a> { };</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_have_only_copy.html"> 32</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structtest__concepts_1_1_have_only_copy.html">HaveOnlyCopy</a> {</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="structtest__concepts_1_1_have_only_copy.html">HaveOnlyCopy</a>(<span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_have_only_copy.html">HaveOnlyCopy</a>&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="structtest__concepts_1_1_have_only_copy.html">HaveOnlyCopy</a>(<a class="code" href="structtest__concepts_1_1_have_only_copy.html">HaveOnlyCopy</a>&amp;&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="structtest__concepts_1_1_have_only_copy.html">HaveOnlyCopy</a>&amp; operator= (<span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_have_only_copy.html">HaveOnlyCopy</a>&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="structtest__concepts_1_1_have_only_copy.html">HaveOnlyCopy</a>&amp; operator= (<a class="code" href="structtest__concepts_1_1_have_only_copy.html">HaveOnlyCopy</a>&amp;&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; };</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_have_only_move.html"> 38</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structtest__concepts_1_1_have_only_move.html">HaveOnlyMove</a> {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="structtest__concepts_1_1_have_only_move.html">HaveOnlyMove</a>(<span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_have_only_move.html">HaveOnlyMove</a>&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="structtest__concepts_1_1_have_only_move.html">HaveOnlyMove</a>(<a class="code" href="structtest__concepts_1_1_have_only_move.html">HaveOnlyMove</a>&amp;&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="structtest__concepts_1_1_have_only_move.html">HaveOnlyMove</a>&amp; operator= (<span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_have_only_move.html">HaveOnlyMove</a>&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="structtest__concepts_1_1_have_only_move.html">HaveOnlyMove</a>&amp; operator= (<a class="code" href="structtest__concepts_1_1_have_only_move.html">HaveOnlyMove</a>&amp;&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; };</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_have_copy_and_move.html"> 44</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structtest__concepts_1_1_have_copy_and_move.html">HaveCopyAndMove</a> {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="structtest__concepts_1_1_have_copy_and_move.html">HaveCopyAndMove</a>(<span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_have_copy_and_move.html">HaveCopyAndMove</a>&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="structtest__concepts_1_1_have_copy_and_move.html">HaveCopyAndMove</a>(<a class="code" href="structtest__concepts_1_1_have_copy_and_move.html">HaveCopyAndMove</a>&amp;&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="structtest__concepts_1_1_have_copy_and_move.html">HaveCopyAndMove</a>&amp; operator= (<span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_have_copy_and_move.html">HaveCopyAndMove</a>&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="structtest__concepts_1_1_have_copy_and_move.html">HaveCopyAndMove</a>&amp; operator= (<a class="code" href="structtest__concepts_1_1_have_copy_and_move.html">HaveCopyAndMove</a>&amp;&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; };</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classtest__concepts_1_1_have_perfect_forwarding.html"> 50</a></span>&#160; <span class="keyword">class </span><a class="code" href="classtest__concepts_1_1_have_perfect_forwarding.html">HavePerfectForwarding</a> {</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classtest__concepts_1_1_have_perfect_forwarding.html#ad68602af66c1a516e8428408731839d1"> 51</a></span>&#160; <span class="keyword">public</span>: <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <a class="code" href="classtest__concepts_1_1_have_perfect_forwarding.html#ad68602af66c1a516e8428408731839d1">HavePerfectForwarding</a>(T&amp;&amp;) { }</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; };</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classtest__concepts_1_1_base.html"> 53</a></span>&#160; <span class="keyword">class </span><a class="code" href="classtest__concepts_1_1_base.html">Base</a> { };</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classtest__concepts_1_1_derived1.html"> 54</a></span>&#160; <span class="keyword">class </span><a class="code" href="classtest__concepts_1_1_derived1.html">Derived1</a> : <span class="keyword">public</span> <a class="code" href="classtest__concepts_1_1_base.html">Base</a> { };</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classtest__concepts_1_1_derived2.html"> 55</a></span>&#160; <span class="keyword">class </span><a class="code" href="classtest__concepts_1_1_derived2.html">Derived2</a> : <span class="keyword">public</span> <a class="code" href="classtest__concepts_1_1_derived1.html">Derived1</a> { };</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classtest__concepts_1_1_have_operator_base.html"> 56</a></span>&#160; <span class="keyword">class </span><a class="code" href="classtest__concepts_1_1_have_operator_base.html">HaveOperatorBase</a> {</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classtest__concepts_1_1_have_operator_base.html#a5b1cfa094d6d536f44092e825a9dfd8b"> 57</a></span>&#160; <span class="keyword">public</span>: <span class="keyword">operator</span> <a class="code" href="classtest__concepts_1_1_base.html">Base</a>() { <span class="keywordflow">return</span> base; }</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classtest__concepts_1_1_have_operator_base.html#af2b6e459482509ffbca2402906ddbd52"> 58</a></span>&#160; <a class="code" href="classtest__concepts_1_1_base.html">Base</a> <a class="code" href="classtest__concepts_1_1_have_operator_base.html#af2b6e459482509ffbca2402906ddbd52">base</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; };</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_a.html"> 62</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structtest__concepts_1_1_a.html">A</a> {</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_a.html#a362094ae51a62bafa1e30538e9289115"> 63</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structtest__concepts_1_1_a.html#a362094ae51a62bafa1e30538e9289115">a_</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_a.html#aef6f3f3d17d29e347b2dcfa5f85d7357"> 65</a></span>&#160; <a class="code" href="structtest__concepts_1_1_a.html#aef6f3f3d17d29e347b2dcfa5f85d7357">A</a>(<span class="keywordtype">int</span> a =0) : a_{a} { };</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; A(<span class="keyword">const</span> A&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; A(A&amp;&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; };</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#ae09100ab70ff8d9779ab82a64b32c379"> 69</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacetest__concepts.html#ae09100ab70ff8d9779ab82a64b32c379">operator== </a>(<span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_a.html">A</a>&amp; l, <span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_a.html">A</a>&amp; r) { <span class="keywordflow">return</span> l.<a class="code" href="structtest__concepts_1_1_a.html#a362094ae51a62bafa1e30538e9289115">a_</a> == r.<a class="code" href="structtest__concepts_1_1_a.html#a362094ae51a62bafa1e30538e9289115">a_</a>; }</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#aa7a67208d83b1c5bfe71be98a508b2a2"> 70</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacetest__concepts.html#aa7a67208d83b1c5bfe71be98a508b2a2">operator!= </a>(<span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_a.html">A</a>&amp; l, <span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_a.html">A</a>&amp; r) { <span class="keywordflow">return</span> l.<a class="code" href="structtest__concepts_1_1_a.html#a362094ae51a62bafa1e30538e9289115">a_</a> != r.<a class="code" href="structtest__concepts_1_1_a.html#a362094ae51a62bafa1e30538e9289115">a_</a>; }</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_b.html"> 72</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structtest__concepts_1_1_b.html">B</a> {</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686"> 73</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686">b_</a>;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_b.html#a3dbd72f4bae630407c91619fb617b36b"> 75</a></span>&#160; <a class="code" href="structtest__concepts_1_1_b.html#a3dbd72f4bae630407c91619fb617b36b">B</a>(<span class="keywordtype">int</span> b =0) : b_{b} { };</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; B(<span class="keyword">const</span> B&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; B(B&amp;&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; B&amp; operator= (<span class="keyword">const</span> B&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; B&amp; operator= (B&amp;&amp;) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; };</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#a2bd289c839a61f3a1a4a993b8d19c252"> 81</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacetest__concepts.html#ae09100ab70ff8d9779ab82a64b32c379">operator== </a>(<span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_b.html">B</a>&amp; l, <span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_b.html">B</a>&amp; r) { <span class="keywordflow">return</span> l.<a class="code" href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686">b_</a> == r.<a class="code" href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686">b_</a>; }</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#a5020d93acd11bc3ef58376d39742f252"> 82</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacetest__concepts.html#aa7a67208d83b1c5bfe71be98a508b2a2">operator!= </a>(<span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_b.html">B</a>&amp; l, <span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_b.html">B</a>&amp; r) { <span class="keywordflow">return</span> l.<a class="code" href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686">b_</a> != r.<a class="code" href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686">b_</a>; }</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#a7df33a6fa1bf9b0e019c754ad8130861"> 83</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacetest__concepts.html#a7df33a6fa1bf9b0e019c754ad8130861">operator&lt; </a>(<span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_b.html">B</a>&amp; l, <span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_b.html">B</a>&amp; r) { <span class="keywordflow">return</span> l.<a class="code" href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686">b_</a> &lt; r.<a class="code" href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686">b_</a>; }</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#a0a84bdf10913e789466806c544c3cd23"> 84</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacetest__concepts.html#a0a84bdf10913e789466806c544c3cd23">operator&lt;= </a>(<span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_b.html">B</a>&amp; l, <span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_b.html">B</a>&amp; r) { <span class="keywordflow">return</span> l.<a class="code" href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686">b_</a> &lt;= r.<a class="code" href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686">b_</a>; }</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#a6c2d2768666e0eb1c5523345b8925e32"> 85</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacetest__concepts.html#a6c2d2768666e0eb1c5523345b8925e32">operator&gt; </a>(<span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_b.html">B</a>&amp; l, <span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_b.html">B</a>&amp; r) { <span class="keywordflow">return</span> l.<a class="code" href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686">b_</a> &gt; r.<a class="code" href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686">b_</a>; }</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#aa621df5520d29f172fa1cef1d286936a"> 86</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacetest__concepts.html#aa621df5520d29f172fa1cef1d286936a">operator&gt;= </a>(<span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_b.html">B</a>&amp; l, <span class="keyword">const</span> <a class="code" href="structtest__concepts_1_1_b.html">B</a>&amp; r) { <span class="keywordflow">return</span> l.<a class="code" href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686">b_</a> &gt;= r.<a class="code" href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686">b_</a>; }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349"> 89</a></span>&#160; <a class="code" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">TEST</a>(TConcepts, <a class="code" href="namespaceutl.html#af86da3571c3026c6bbd501c6b7bc5093">Same</a>) {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// Same</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Same&lt;int, int&gt;));</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Same&lt;int, long&gt;));</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Same&lt;int*, int*&gt;));</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Same&lt;double&amp;, double&amp;&gt;));</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Same&lt;int, Empty&gt;));</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Same&lt;Base, Derived1&gt;));</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#a5d2e53efce2d5c77999eb133966f898b"> 99</a></span>&#160; <a class="code" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">TEST</a>(TConcepts, <a class="code" href="namespaceutl.html#a0904cc4071a8ea97a1d646dc0a9ca85b">DerivedFrom</a>) {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">// DerivedFrom</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (DerivedFrom&lt;Derived1, Base&gt;));</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (DerivedFrom&lt;Derived2, Derived1&gt;));</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (DerivedFrom&lt;Derived2, Base&gt;));</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (DerivedFrom&lt;Base, Derived1&gt;));</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (DerivedFrom&lt;Base, int&gt;));</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (DerivedFrom&lt;void, int&gt;));</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#ae54bd81fa0239d5d914483314e328e4e"> 109</a></span>&#160; <a class="code" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">TEST</a>(TConcepts, <a class="code" href="namespaceutl.html#a9c88a03a5b6dd66200e86f98fb1eb9eb">ConvertibleTo</a>) {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="comment">// ConvertibleTo</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (ConvertibleTo&lt;void, void&gt;));</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (ConvertibleTo&lt;Base, void&gt;));</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (ConvertibleTo&lt;Base*, Derived1*&gt;));</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (ConvertibleTo&lt;Derived1*, Base*&gt;));</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (ConvertibleTo&lt;HaveOperatorBase, Base&gt;));</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (ConvertibleTo&lt;Base, HavePerfectForwarding&gt;));</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#a8be0d791fe0ee2055d58940e360ff8ce"> 119</a></span>&#160; <a class="code" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">TEST</a>(TConcepts, <a class="code" href="namespaceutl.html#a1cc37f121888dcc030b8e676b077024f">CommonReference</a>) {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="comment">// CommonReference</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (CommonReference&lt;Derived1, Base&gt;));</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (CommonReference&lt;Derived1&amp;, Base&gt;));</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (CommonReference&lt;const Empty&amp;&amp;, const Empty&amp;&gt;));</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (CommonReference&lt;Empty&amp;, const volatile Empty&amp;&gt;));</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="comment">//FIXME: CommonReference needs SFINAE friendly implementation</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="comment">//EXPECT_EQ (false, (CommonReference&lt;Empty&amp;&amp;, const volatile Empty&amp;&gt;)); &lt;- yields compiler error</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="comment">// Common</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Common&lt;int, int&gt;));</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Common&lt;Base, Derived1&gt;));</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Common&lt;Derived1, Derived2&gt;));</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Common&lt;Base, HaveOperatorBase&gt;));</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Common&lt;Base, HavePerfectForwarding&gt;));</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#ace7dd5dcd339ad2bf5fd7b08b582ec7a"> 136</a></span>&#160; <a class="code" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">TEST</a>(TConcepts, <a class="code" href="namespaceutl.html#ada9137016ddccf3339b2f6b3c409cc3c">Integral</a>) {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="comment">// Integral</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Integral&lt;void&gt;));</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Integral&lt;int&gt;));</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Integral&lt;bool&gt;));</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Integral&lt;int*&gt;));</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Integral&lt;Base&gt;));</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (<a class="code" href="namespaceutl.html#ada9137016ddccf3339b2f6b3c409cc3c">Integral</a>&lt;<a class="code" href="namespaceutl_1_1meta.html#a35b962b97f8277de66c1c8c02796eed4">meta::int_&lt;42&gt;::value_type</a>&gt;));</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (<a class="code" href="namespaceutl.html#ada9137016ddccf3339b2f6b3c409cc3c">Integral</a>&lt;<a class="code" href="namespaceutl_1_1meta.html#a35b962b97f8277de66c1c8c02796eed4">meta::int_&lt;42&gt;::type</a>&gt;));</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="comment">// SignedIntegral</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (SignedIntegral&lt;void&gt;));</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (SignedIntegral&lt;int&gt;));</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (SignedIntegral&lt;int*&gt;));</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (SignedIntegral&lt;unsigned long&gt;));</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (SignedIntegral&lt;double&gt;));</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (SignedIntegral&lt;Base&gt;));</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (<a class="code" href="namespaceutl.html#a667b758d906c466d1b8a878a45750bf1">SignedIntegral</a>&lt;<a class="code" href="namespaceutl_1_1meta.html#a65bf025970a7ec0fd488c50a1b9c1038">meta::int16_&lt;42&gt;::value_type</a>&gt;));</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="comment">// UnsignedIntegral</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (UnsignedIntegral&lt;void&gt;));</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (UnsignedIntegral&lt;unsigned int&gt;));</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (UnsignedIntegral&lt;long&gt;));</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (UnsignedIntegral&lt;double&gt;));</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (UnsignedIntegral&lt;Base&gt;));</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (<a class="code" href="namespaceutl.html#a7fb6eaf8fc1c5d65755c8c96a7a9b61f">UnsignedIntegral</a>&lt;<a class="code" href="namespaceutl_1_1meta.html#af1b0b8109e3e61032c24d148202b6966">meta::uint16_&lt;42&gt;::value_type</a>&gt;));</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#a1259dbf85ef361ae709e8b7d08ad0c8a"> 164</a></span>&#160; <a class="code" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">TEST</a>(TConcepts, <a class="code" href="namespaceutl.html#acfbced82f83ceb87eeb77d31941c011a">Assignable</a>) {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="comment">// MoveAssignable</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (MoveAssignable&lt;void&gt;));</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (MoveAssignable&lt;void*&gt;));</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (MoveAssignable&lt;int&gt;));</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (MoveAssignable&lt;int*&gt;));</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (MoveAssignable&lt;HaveOnlyCopy&gt;));</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (MoveAssignable&lt;HaveOnlyMove&gt;));</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (MoveAssignable&lt;HaveCopyAndMove&gt;));</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (MoveAssignable&lt;Empty&gt;));</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (MoveAssignable&lt;HavePerfectForwarding&gt;));</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="comment">// CopyAssignable</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (CopyAssignable&lt;void&gt;));</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (CopyAssignable&lt;void*&gt;));</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (CopyAssignable&lt;int&gt;));</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (CopyAssignable&lt;int*&gt;));</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (CopyAssignable&lt;HaveOnlyCopy&gt;));</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (CopyAssignable&lt;HaveOnlyMove&gt;));</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (CopyAssignable&lt;HaveCopyAndMove&gt;));</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (CopyAssignable&lt;Empty&gt;));</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (CopyAssignable&lt;HavePerfectForwarding&gt;));</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="comment">// Assignable</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Assignable&lt;void, void&gt;));</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Assignable&lt;int&amp;, void&gt;));</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Assignable&lt;int&amp;, int&gt;));</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Assignable&lt;int, int&gt;));</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Assignable&lt;int*, int*&gt;));</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Assignable&lt;Base&amp;, Derived1&gt;));</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Assignable&lt;Derived1&amp;, Base&gt;));</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Assignable&lt;HaveOnlyMove&amp;, HaveOnlyMove&amp;&amp;&gt;));</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span> , (Assignable&lt;HaveOnlyMove&amp;, HaveOnlyMove&gt;));</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Assignable&lt;Empty&amp;, Empty&gt;));</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#abe06b1186f30147f38171a2f5e95920e"> 200</a></span>&#160; <a class="code" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">TEST</a>(TConcepts, <a class="code" href="namespaceutl.html#ae2b149b19fb3d69a4fc555e4474bf9de">Swappable</a>) {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="comment">// Swappable, SwappableWith</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Swappable&lt;void&gt;));</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Swappable&lt;void*&gt;));</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Swappable&lt;int&gt;));</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Swappable&lt;Base&gt;));</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (SwappableWith&lt;int, int&gt;));</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (SwappableWith&lt;int, Base&gt;));</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (SwappableWith&lt;Base, Derived1&gt;));</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="comment">// Destructible</span></div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Destructible&lt;void&gt;));</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Destructible&lt;void*&gt;));</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Destructible&lt;int&gt;));</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Destructible&lt;int&amp;&gt;));</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Destructible&lt;Base&gt;));</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Destructible&lt;HavePerfectForwarding&gt;));</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#af3f33066823dea74a24d89399fa26adb"> 219</a></span>&#160; <a class="code" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">TEST</a>(TConcepts, <a class="code" href="namespaceutl.html#a2a3ef7a9c788ffc1291ce15d2e5869bf">Constructible</a>) {</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="comment">// Constructible</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Constructible&lt;void&gt;));</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Constructible&lt;void*&gt;));</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Constructible&lt;Base&gt;));</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Constructible&lt;HaveOnlyMove&gt;));</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Constructible&lt;HavePerfectForwarding, int&gt;));</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="comment">// DefaultConstructible</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (DefaultConstructible&lt;void&gt;));</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (DefaultConstructible&lt;void*&gt;));</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (DefaultConstructible&lt;int&amp;&gt;));</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (DefaultConstructible&lt;Base&gt;));</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (DefaultConstructible&lt;Derived1&gt;));</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (DefaultConstructible&lt;HaveOnlyCopy&gt;));</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (DefaultConstructible&lt;HaveOnlyMove&gt;));</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (DefaultConstructible&lt;HavePerfectForwarding&gt;));</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="comment">// MoveConstructible</span></div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (MoveConstructible&lt;void&gt;));</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (MoveConstructible&lt;void*&gt;));</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (MoveConstructible&lt;Base&gt;));</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (MoveConstructible&lt;Derived1&gt;));</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (MoveConstructible&lt;HaveOnlyMove&gt;));</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (MoveConstructible&lt;HaveOnlyCopy&gt;));</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (MoveConstructible&lt;HaveCopyAndMove&gt;));</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span> , (MoveConstructible&lt;HavePerfectForwarding&gt;));</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="comment">// CopyConstructible</span></div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (CopyConstructible&lt;void&gt;));</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (CopyConstructible&lt;void*&gt;));</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (CopyConstructible&lt;Base&gt;));</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (CopyConstructible&lt;Derived1&gt;));</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (CopyConstructible&lt;HaveOnlyMove&gt;));</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (CopyConstructible&lt;HaveOnlyCopy&gt;));</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (CopyConstructible&lt;HaveCopyAndMove&gt;));</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span> , (CopyConstructible&lt;HavePerfectForwarding&gt;));</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; }</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#a169b771eff69e1e3086857d88a28b239"> 258</a></span>&#160; <a class="code" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">TEST</a>(TConcepts, MovableCopyable) {</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="comment">// Movable</span></div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Movable&lt;void&gt;));</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Movable&lt;int&gt;));</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Movable&lt;Base&gt;));</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Movable&lt;Derived1&gt;));</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Movable&lt;HaveOnlyMove&gt;));</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Movable&lt;HaveOnlyCopy&gt;));</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Movable&lt;HaveCopyAndMove&gt;));</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span> , (Movable&lt;HavePerfectForwarding&gt;));</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="comment">// Copyable</span></div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Copyable&lt;void&gt;));</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Copyable&lt;int&gt;));</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Copyable&lt;Base&gt;));</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Copyable&lt;Derived1&gt;));</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Copyable&lt;HaveOnlyMove&gt;));</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Copyable&lt;HaveOnlyCopy&gt;));</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Copyable&lt;HaveCopyAndMove&gt;));</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span> , (Copyable&lt;HavePerfectForwarding&gt;));</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; }</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#a0f4ad0aba9c032d90024e839f2d9f380"> 280</a></span>&#160; <a class="code" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">TEST</a>(TConcepts, <a class="code" href="namespaceutl.html#a38e00606b4b45a2ac59fa4576b4498c6">Boolean</a>) {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="comment">// Boolean</span></div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Boolean&lt;void&gt;));</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Boolean&lt;bool&gt;));</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Boolean&lt;int&gt;));</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Boolean&lt;double&gt;));</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Boolean&lt;std::true_type&gt;));</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Boolean&lt;meta::true_&gt;));</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Boolean&lt;Empty&gt;));</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; }</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div><div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#a8f88e84cffb84123f470858c5c28c4fb"> 291</a></span>&#160; <a class="code" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">TEST</a>(TConcepts, Comparable) {</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="comment">// EqualityComparable</span></div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (EqualityComparable&lt;void&gt;));</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (EqualityComparable&lt;bool&gt;));</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (EqualityComparable&lt;int&gt;));</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (EqualityComparable&lt;Empty&gt;));</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (EqualityComparable&lt;A&gt;));</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="comment">// EqualityComparableWith</span></div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (EqualityComparableWith&lt;void, bool&gt;));</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (EqualityComparableWith&lt;void, void&gt;));</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (EqualityComparableWith&lt;bool, bool&gt;));</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (EqualityComparableWith&lt;int, int&gt;));</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (EqualityComparableWith&lt;int, bool&gt;));</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (EqualityComparableWith&lt;Empty, Empty&gt;));</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (EqualityComparableWith&lt;int, Empty&gt;));</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (EqualityComparableWith&lt;A, A&gt;));</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (EqualityComparableWith&lt;A, B&gt;));</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="comment">// StrictTotallyOrdered</span></div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (StrictTotallyOrdered&lt;void&gt;));</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (StrictTotallyOrdered&lt;bool&gt;));</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (StrictTotallyOrdered&lt;int&gt;));</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (StrictTotallyOrdered&lt;double&gt;));</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (StrictTotallyOrdered&lt;Empty&gt;));</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (StrictTotallyOrdered&lt;A&gt;));</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (StrictTotallyOrdered&lt;B&gt;));</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="comment">// StrictTotallyOrderedWith</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (StrictTotallyOrderedWith&lt;void, void&gt;));</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (StrictTotallyOrderedWith&lt;int, void&gt;));</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (StrictTotallyOrderedWith&lt;bool, bool&gt;));</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (StrictTotallyOrderedWith&lt;int, double&gt;));</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (StrictTotallyOrderedWith&lt;int, Empty&gt;));</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (StrictTotallyOrderedWith&lt;Base, Derived1&gt;));</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (StrictTotallyOrderedWith&lt;A, A&gt;));</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (StrictTotallyOrderedWith&lt;B, B&gt;));</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (StrictTotallyOrderedWith&lt;A, B&gt;));</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; }</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#a9f6330d88c4d4c26e80f6c1b5546ea51"> 331</a></span>&#160; <a class="code" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">TEST</a>(TConcepts, Types) {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="comment">// Semiregular</span></div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Semiregular&lt;void&gt;));</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Semiregular&lt;int&gt;));</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Semiregular&lt;Empty&gt;));</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Semiregular&lt;HaveOnlyMove&gt;));</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Semiregular&lt;HaveOnlyCopy&gt;));</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Semiregular&lt;HaveCopyAndMove&gt;));</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Semiregular&lt;A&gt;));</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Semiregular&lt;B&gt;));</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="comment">// Regular</span></div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Regular&lt;void&gt;));</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Regular&lt;int&gt;));</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Regular&lt;int*&gt;));</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Regular&lt;Empty&gt;));</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Regular&lt;HaveOnlyMove&gt;));</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Regular&lt;HaveOnlyCopy&gt;));</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Regular&lt;HaveCopyAndMove&gt;));</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Regular&lt;A&gt;));</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Regular&lt;B&gt;));</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="comment">// Scalar</span></div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Scalar&lt;void&gt;));</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Scalar&lt;int&gt;));</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Scalar&lt;long*&gt;));</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Scalar&lt;A&gt;));</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Scalar&lt;B&gt;));</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="comment">// Arithmetic</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Arithmetic&lt;void&gt;));</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Arithmetic&lt;int&gt;));</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Arithmetic&lt;long*&gt;));</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Arithmetic&lt;A&gt;));</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Arithmetic&lt;B&gt;));</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="comment">// FloatingPoint</span></div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (FloatingPoint&lt;void&gt;));</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (FloatingPoint&lt;float&gt;));</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (FloatingPoint&lt;double&gt;));</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (FloatingPoint&lt;int&gt;));</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (FloatingPoint&lt;float*&gt;));</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (FloatingPoint&lt;A&gt;));</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (FloatingPoint&lt;B&gt;));</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; }</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;</div><div class="line"><a name="l00377"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_inv.html"> 377</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structtest__concepts_1_1_inv.html">Inv</a> {</div><div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_inv.html#a48577007f9d0d2958252cb3e8da5e765"> 378</a></span>&#160; <span class="keywordtype">void</span> operator() (<span class="keywordtype">int</span>) { };</div><div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_inv.html#ac8c7c5074842856b9542f2e0828b2be4"> 379</a></span>&#160; <span class="keywordtype">void</span> operator() () { };</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; };</div><div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_pred.html"> 381</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structtest__concepts_1_1_pred.html">Pred</a> {</div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_pred.html#a2aacfb4e27c4de57190e3a9e9ff1ab07"> 382</a></span>&#160; <span class="keywordtype">bool</span> operator () (<span class="keywordtype">int</span>) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div><div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_pred.html#a2677c56663ab4525a03eae496af547fa"> 383</a></span>&#160; <span class="keywordtype">bool</span> operator () (<span class="keywordtype">int</span>, <span class="keywordtype">int</span>) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; };</div><div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#a0575232afeb3a1aed915d6de6e63a328"> 385</a></span>&#160; <a class="code" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">TEST</a>(TConcepts, Callable) {</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Invocable&lt;Inv, int&gt;));</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Invocable&lt;Inv&gt;));</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Invocable&lt;Inv, double&gt;));</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Invocable&lt;Inv, Empty&gt;));</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (RegularInvocable&lt;Inv, int&gt;));</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Predicate&lt;Inv, int&gt;));</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Predicate&lt;Pred, int&gt;));</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Predicate&lt;Pred, Empty&gt;));</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Relation&lt;Pred, int, int&gt;));</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (Relation&lt;Pred, int, double&gt;));</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (Relation&lt;Pred, Empty, int&gt;));</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (StrictWeakOrder&lt;Pred, int, int&gt;));</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (StrictWeakOrder&lt;Pred, int, Empty&gt;));</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; }</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_incr.html"> 405</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structtest__concepts_1_1_incr.html">Incr</a> {</div><div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_incr.html#abae843908ab62034a1d2a97eb4f617e8"> 406</a></span>&#160; <a class="code" href="structtest__concepts_1_1_incr.html">Incr</a>&amp; <a class="code" href="structtest__concepts_1_1_incr.html#abae843908ab62034a1d2a97eb4f617e8">operator++</a>() { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div><div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="structtest__concepts_1_1_incr.html#a9627c856660e2333af05e3b3154f63b5"> 407</a></span>&#160; <a class="code" href="structtest__concepts_1_1_incr.html">Incr</a> <a class="code" href="structtest__concepts_1_1_incr.html#a9627c856660e2333af05e3b3154f63b5">operator++</a>(<span class="keywordtype">int</span>) { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; };</div><div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#adb4992f432f2a8cfed2c5bfa4bc5adaf"> 409</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="namespacetest__concepts.html#adb4992f432f2a8cfed2c5bfa4bc5adaf">type_printer</a> (<span class="keywordtype">int</span>* i) { <span class="keywordflow">return</span> *i; }</div><div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="namespacetest__concepts.html#acef6bf32c3066c6c73a1055184a61c08"> 410</a></span>&#160; <a class="code" href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">TEST</a>(TConcepts, Iterators) {</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;<span class="comment">// type_printer(detail::try_ppI&lt;Incr&amp;&gt;{});</span></div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;<span class="comment">// type_printer(detail::try_Ipp&lt;Incr&amp;&gt;{});</span></div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;<span class="comment">// type_printer(meta::detected_t&lt;detail::try_ppI, int&gt;{});</span></div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (WeaklyIncrementable&lt;int&gt;));</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (WeaklyIncrementable&lt;void&gt;));</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (WeaklyIncrementable&lt;meta::nil_&gt;));</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">true</span>, (WeaklyIncrementable&lt;Incr&gt;));</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <a class="code" href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a> (<span class="keyword">false</span>, (WeaklyIncrementable&lt;Incr&amp;&gt;));</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; }</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;}</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;</div><div class="ttc" id="classtest__concepts_1_1_derived1_html"><div class="ttname"><a href="classtest__concepts_1_1_derived1.html">test_concepts::Derived1</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00054">TConcepts.cpp:54</a></div></div>
  92. <div class="ttc" id="namespaceutl_html_ae2b149b19fb3d69a4fc555e4474bf9de"><div class="ttname"><a href="namespaceutl.html#ae2b149b19fb3d69a4fc555e4474bf9de">utl::Swappable</a></div><div class="ttdeci">_utlConcept Swappable</div><div class="ttdef"><b>Definition:</b> <a href="stl_8h_source.html#l00425">stl.h:425</a></div></div>
  93. <div class="ttc" id="classtest__concepts_1_1_have_perfect_forwarding_html"><div class="ttname"><a href="classtest__concepts_1_1_have_perfect_forwarding.html">test_concepts::HavePerfectForwarding</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00050">TConcepts.cpp:50</a></div></div>
  94. <div class="ttc" id="classtest__concepts_1_1_base_html"><div class="ttname"><a href="classtest__concepts_1_1_base.html">test_concepts::Base</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00053">TConcepts.cpp:53</a></div></div>
  95. <div class="ttc" id="namespacetest__concepts_html_a0a84bdf10913e789466806c544c3cd23"><div class="ttname"><a href="namespacetest__concepts.html#a0a84bdf10913e789466806c544c3cd23">test_concepts::operator&lt;=</a></div><div class="ttdeci">bool operator&lt;=(const B &amp;l, const B &amp;r)</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00084">TConcepts.cpp:84</a></div></div>
  96. <div class="ttc" id="meta_8h_html"><div class="ttname"><a href="meta_8h.html">meta.h</a></div><div class="ttdoc">Include all meta library. </div></div>
  97. <div class="ttc" id="namespacetest__concepts_html"><div class="ttname"><a href="namespacetest__concepts.html">test_concepts</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00025">TConcepts.cpp:25</a></div></div>
  98. <div class="ttc" id="structtest__concepts_1_1_incr_html_abae843908ab62034a1d2a97eb4f617e8"><div class="ttname"><a href="structtest__concepts_1_1_incr.html#abae843908ab62034a1d2a97eb4f617e8">test_concepts::Incr::operator++</a></div><div class="ttdeci">Incr &amp; operator++()</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00406">TConcepts.cpp:406</a></div></div>
  99. <div class="ttc" id="structtest__concepts_1_1_have_only_copy_html"><div class="ttname"><a href="structtest__concepts_1_1_have_only_copy.html">test_concepts::HaveOnlyCopy</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00032">TConcepts.cpp:32</a></div></div>
  100. <div class="ttc" id="structtest__concepts_1_1_have_copy_and_move_html"><div class="ttname"><a href="structtest__concepts_1_1_have_copy_and_move.html">test_concepts::HaveCopyAndMove</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00044">TConcepts.cpp:44</a></div></div>
  101. <div class="ttc" id="namespaceutl_html_acfbced82f83ceb87eeb77d31941c011a"><div class="ttname"><a href="namespaceutl.html#acfbced82f83ceb87eeb77d31941c011a">utl::Assignable</a></div><div class="ttdeci">_utlConcept Assignable</div><div class="ttdef"><b>Definition:</b> <a href="stl_8h_source.html#l00366">stl.h:366</a></div></div>
  102. <div class="ttc" id="namespaceutl_html_a9c88a03a5b6dd66200e86f98fb1eb9eb"><div class="ttname"><a href="namespaceutl.html#a9c88a03a5b6dd66200e86f98fb1eb9eb">utl::ConvertibleTo</a></div><div class="ttdeci">_utlConcept ConvertibleTo</div><div class="ttdef"><b>Definition:</b> <a href="stl_8h_source.html#l00087">stl.h:87</a></div></div>
  103. <div class="ttc" id="structtest__concepts_1_1_pred_html"><div class="ttname"><a href="structtest__concepts_1_1_pred.html">test_concepts::Pred</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00381">TConcepts.cpp:381</a></div></div>
  104. <div class="ttc" id="gtest_8h_html"><div class="ttname"><a href="gtest_8h.html">gtest.h</a></div></div>
  105. <div class="ttc" id="namespaceutl_html_af86da3571c3026c6bbd501c6b7bc5093"><div class="ttname"><a href="namespaceutl.html#af86da3571c3026c6bbd501c6b7bc5093">utl::Same</a></div><div class="ttdeci">_utlConcept Same</div><div class="ttdef"><b>Definition:</b> <a href="stl_8h_source.html#l00062">stl.h:62</a></div></div>
  106. <div class="ttc" id="namespacetest__concepts_html_adb4992f432f2a8cfed2c5bfa4bc5adaf"><div class="ttname"><a href="namespacetest__concepts.html#adb4992f432f2a8cfed2c5bfa4bc5adaf">test_concepts::type_printer</a></div><div class="ttdeci">int type_printer(int *i)</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00409">TConcepts.cpp:409</a></div></div>
  107. <div class="ttc" id="namespacetest__concepts_html_aa7a67208d83b1c5bfe71be98a508b2a2"><div class="ttname"><a href="namespacetest__concepts.html#aa7a67208d83b1c5bfe71be98a508b2a2">test_concepts::operator!=</a></div><div class="ttdeci">bool operator!=(const A &amp;l, const A &amp;r)</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00070">TConcepts.cpp:70</a></div></div>
  108. <div class="ttc" id="structtest__concepts_1_1_a_html_a362094ae51a62bafa1e30538e9289115"><div class="ttname"><a href="structtest__concepts_1_1_a.html#a362094ae51a62bafa1e30538e9289115">test_concepts::A::a_</a></div><div class="ttdeci">int a_</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00063">TConcepts.cpp:63</a></div></div>
  109. <div class="ttc" id="namespaceutl_1_1meta_html_a35b962b97f8277de66c1c8c02796eed4"><div class="ttname"><a href="namespaceutl_1_1meta.html#a35b962b97f8277de66c1c8c02796eed4">utl::meta::int_</a></div><div class="ttdeci">integral_&lt; int, v &gt; int_</div><div class="ttdoc">int_ type: integral constant wrapper for int </div><div class="ttdef"><b>Definition:</b> <a href="integral_8h_source.html#l00098">integral.h:98</a></div></div>
  110. <div class="ttc" id="namespaceutl_html_a1cc37f121888dcc030b8e676b077024f"><div class="ttname"><a href="namespaceutl.html#a1cc37f121888dcc030b8e676b077024f">utl::CommonReference</a></div><div class="ttdeci">_utlConcept CommonReference</div><div class="ttdef"><b>Definition:</b> <a href="stl_8h_source.html#l00293">stl.h:293</a></div></div>
  111. <div class="ttc" id="structtest__concepts_1_1_b_html_a353f206f1add4707cbf7c6bbb2636686"><div class="ttname"><a href="structtest__concepts_1_1_b.html#a353f206f1add4707cbf7c6bbb2636686">test_concepts::B::b_</a></div><div class="ttdeci">int b_</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00073">TConcepts.cpp:73</a></div></div>
  112. <div class="ttc" id="structtest__concepts_1_1_empty_html"><div class="ttname"><a href="structtest__concepts_1_1_empty.html">test_concepts::Empty</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00031">TConcepts.cpp:31</a></div></div>
  113. <div class="ttc" id="concepts_8h_html"><div class="ttname"><a href="concepts_8h.html">concepts.h</a></div><div class="ttdoc">Concepts main include header. </div></div>
  114. <div class="ttc" id="namespaceutl_html_a0904cc4071a8ea97a1d646dc0a9ca85b"><div class="ttname"><a href="namespaceutl.html#a0904cc4071a8ea97a1d646dc0a9ca85b">utl::DerivedFrom</a></div><div class="ttdeci">_utlConcept DerivedFrom</div><div class="ttdef"><b>Definition:</b> <a href="stl_8h_source.html#l00071">stl.h:71</a></div></div>
  115. <div class="ttc" id="namespaceutl_1_1meta_html_af1b0b8109e3e61032c24d148202b6966"><div class="ttname"><a href="namespaceutl_1_1meta.html#af1b0b8109e3e61032c24d148202b6966">utl::meta::uint16_</a></div><div class="ttdeci">integral_&lt; uint16_t, v &gt; uint16_</div><div class="ttdoc">uint16_ type: integral constant wrapper for uint16_t </div><div class="ttdef"><b>Definition:</b> <a href="integral_8h_source.html#l00083">integral.h:83</a></div></div>
  116. <div class="ttc" id="namespaceutl_html"><div class="ttname"><a href="namespaceutl.html">utl</a></div><div class="ttdoc">STL&amp;#39;s core language concepts. </div><div class="ttdef"><b>Definition:</b> <a href="__1wire_8h_source.html#l00030">_1wire.h:30</a></div></div>
  117. <div class="ttc" id="structtest__concepts_1_1_a_html_aef6f3f3d17d29e347b2dcfa5f85d7357"><div class="ttname"><a href="structtest__concepts_1_1_a.html#aef6f3f3d17d29e347b2dcfa5f85d7357">test_concepts::A::A</a></div><div class="ttdeci">A(int a=0)</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00065">TConcepts.cpp:65</a></div></div>
  118. <div class="ttc" id="structtest__concepts_1_1_inv_html"><div class="ttname"><a href="structtest__concepts_1_1_inv.html">test_concepts::Inv</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00377">TConcepts.cpp:377</a></div></div>
  119. <div class="ttc" id="namespacetest__concepts_html_a7df33a6fa1bf9b0e019c754ad8130861"><div class="ttname"><a href="namespacetest__concepts.html#a7df33a6fa1bf9b0e019c754ad8130861">test_concepts::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const B &amp;l, const B &amp;r)</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00083">TConcepts.cpp:83</a></div></div>
  120. <div class="ttc" id="structtest__concepts_1_1_b_html_a3dbd72f4bae630407c91619fb617b36b"><div class="ttname"><a href="structtest__concepts_1_1_b.html#a3dbd72f4bae630407c91619fb617b36b">test_concepts::B::B</a></div><div class="ttdeci">B(int b=0)</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00075">TConcepts.cpp:75</a></div></div>
  121. <div class="ttc" id="structtest__concepts_1_1_incr_html_a9627c856660e2333af05e3b3154f63b5"><div class="ttname"><a href="structtest__concepts_1_1_incr.html#a9627c856660e2333af05e3b3154f63b5">test_concepts::Incr::operator++</a></div><div class="ttdeci">Incr operator++(int)</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00407">TConcepts.cpp:407</a></div></div>
  122. <div class="ttc" id="namespaceutl_html_ada9137016ddccf3339b2f6b3c409cc3c"><div class="ttname"><a href="namespaceutl.html#ada9137016ddccf3339b2f6b3c409cc3c">utl::Integral</a></div><div class="ttdeci">_utlConcept Integral</div><div class="ttdef"><b>Definition:</b> <a href="stl_8h_source.html#l00340">stl.h:340</a></div></div>
  123. <div class="ttc" id="structtest__concepts_1_1_have_only_move_html"><div class="ttname"><a href="structtest__concepts_1_1_have_only_move.html">test_concepts::HaveOnlyMove</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00038">TConcepts.cpp:38</a></div></div>
  124. <div class="ttc" id="namespacetest__concepts_html_a6c2d2768666e0eb1c5523345b8925e32"><div class="ttname"><a href="namespacetest__concepts.html#a6c2d2768666e0eb1c5523345b8925e32">test_concepts::operator&gt;</a></div><div class="ttdeci">bool operator&gt;(const B &amp;l, const B &amp;r)</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00085">TConcepts.cpp:85</a></div></div>
  125. <div class="ttc" id="namespaceutl_html_a7fb6eaf8fc1c5d65755c8c96a7a9b61f"><div class="ttname"><a href="namespaceutl.html#a7fb6eaf8fc1c5d65755c8c96a7a9b61f">utl::UnsignedIntegral</a></div><div class="ttdeci">_utlConcept UnsignedIntegral</div><div class="ttdef"><b>Definition:</b> <a href="stl_8h_source.html#l00352">stl.h:352</a></div></div>
  126. <div class="ttc" id="classtest__concepts_1_1_have_operator_base_html_af2b6e459482509ffbca2402906ddbd52"><div class="ttname"><a href="classtest__concepts_1_1_have_operator_base.html#af2b6e459482509ffbca2402906ddbd52">test_concepts::HaveOperatorBase::base</a></div><div class="ttdeci">Base base</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00058">TConcepts.cpp:58</a></div></div>
  127. <div class="ttc" id="namespaceutl_html_a38e00606b4b45a2ac59fa4576b4498c6"><div class="ttname"><a href="namespaceutl.html#a38e00606b4b45a2ac59fa4576b4498c6">utl::Boolean</a></div><div class="ttdeci">_utlConcept Boolean</div><div class="ttdef"><b>Definition:</b> <a href="stl_8h_source.html#l00551">stl.h:551</a></div></div>
  128. <div class="ttc" id="structtest__concepts_1_1_b_html"><div class="ttname"><a href="structtest__concepts_1_1_b.html">test_concepts::B</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00072">TConcepts.cpp:72</a></div></div>
  129. <div class="ttc" id="gtest_8h_html_a4159019abda84f5366acdb7604ff220a"><div class="ttname"><a href="gtest_8h.html#a4159019abda84f5366acdb7604ff220a">EXPECT_EQ</a></div><div class="ttdeci">#define EXPECT_EQ(val1, val2)</div><div class="ttdef"><b>Definition:</b> <a href="gtest_8h_source.html#l16643">gtest.h:16643</a></div></div>
  130. <div class="ttc" id="namespacetest__concepts_html_aa621df5520d29f172fa1cef1d286936a"><div class="ttname"><a href="namespacetest__concepts.html#aa621df5520d29f172fa1cef1d286936a">test_concepts::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(const B &amp;l, const B &amp;r)</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00086">TConcepts.cpp:86</a></div></div>
  131. <div class="ttc" id="namespaceutl_html_a2a3ef7a9c788ffc1291ce15d2e5869bf"><div class="ttname"><a href="namespaceutl.html#a2a3ef7a9c788ffc1291ce15d2e5869bf">utl::Constructible</a></div><div class="ttdeci">_utlConcept Constructible</div><div class="ttdef"><b>Definition:</b> <a href="stl_8h_source.html#l00438">stl.h:438</a></div></div>
  132. <div class="ttc" id="classtest__concepts_1_1_derived2_html"><div class="ttname"><a href="classtest__concepts_1_1_derived2.html">test_concepts::Derived2</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00055">TConcepts.cpp:55</a></div></div>
  133. <div class="ttc" id="structtest__concepts_1_1_incr_html"><div class="ttname"><a href="structtest__concepts_1_1_incr.html">test_concepts::Incr</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00405">TConcepts.cpp:405</a></div></div>
  134. <div class="ttc" id="classtest__concepts_1_1_have_perfect_forwarding_html_ad68602af66c1a516e8428408731839d1"><div class="ttname"><a href="classtest__concepts_1_1_have_perfect_forwarding.html#ad68602af66c1a516e8428408731839d1">test_concepts::HavePerfectForwarding::HavePerfectForwarding</a></div><div class="ttdeci">HavePerfectForwarding(T &amp;&amp;)</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00051">TConcepts.cpp:51</a></div></div>
  135. <div class="ttc" id="namespaceutl_1_1meta_html_a65bf025970a7ec0fd488c50a1b9c1038"><div class="ttname"><a href="namespaceutl_1_1meta.html#a65bf025970a7ec0fd488c50a1b9c1038">utl::meta::int16_</a></div><div class="ttdeci">integral_&lt; int16_t, v &gt; int16_</div><div class="ttdoc">int16_ type: integral constant wrapper for int16_t </div><div class="ttdef"><b>Definition:</b> <a href="integral_8h_source.html#l00080">integral.h:80</a></div></div>
  136. <div class="ttc" id="namespacetest__concepts_html_ab245465c002e0ed0837b91aa4c88a349"><div class="ttname"><a href="namespacetest__concepts.html#ab245465c002e0ed0837b91aa4c88a349">test_concepts::TEST</a></div><div class="ttdeci">TEST(TConcepts, Same)</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00089">TConcepts.cpp:89</a></div></div>
  137. <div class="ttc" id="classtest__concepts_1_1_have_operator_base_html"><div class="ttname"><a href="classtest__concepts_1_1_have_operator_base.html">test_concepts::HaveOperatorBase</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00056">TConcepts.cpp:56</a></div></div>
  138. <div class="ttc" id="structtest__concepts_1_1_a_html"><div class="ttname"><a href="structtest__concepts_1_1_a.html">test_concepts::A</a></div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00062">TConcepts.cpp:62</a></div></div>
  139. <div class="ttc" id="namespaceutl_html_a667b758d906c466d1b8a878a45750bf1"><div class="ttname"><a href="namespaceutl.html#a667b758d906c466d1b8a878a45750bf1">utl::SignedIntegral</a></div><div class="ttdeci">_utlConcept SignedIntegral</div><div class="ttdef"><b>Definition:</b> <a href="stl_8h_source.html#l00346">stl.h:346</a></div></div>
  140. <div class="ttc" id="namespacetest__concepts_html_ae09100ab70ff8d9779ab82a64b32c379"><div class="ttname"><a href="namespacetest__concepts.html#ae09100ab70ff8d9779ab82a64b32c379">test_concepts::operator==</a></div><div class="ttdeci">bool operator==(const A &amp;l, const A &amp;r)</div><div class="ttdef"><b>Definition:</b> <a href="_t_concepts_8cpp_source.html#l00069">TConcepts.cpp:69</a></div></div>
  141. </div><!-- fragment --></div><!-- contents -->
  142. </div><!-- doc-content -->
  143. <!-- start footer part -->
  144. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  145. <ul>
  146. <li class="navelem"><a class="el" href="dir_13e138d54eb8818da29c3992edef070a.html">test</a></li><li class="navelem"><a class="el" href="dir_d84abbe486a7f5f39e3c9088ffc1760a.html">tests</a></li><li class="navelem"><a class="el" href="_t_concepts_8cpp.html">TConcepts.cpp</a></li>
  147. <li class="footer">Generated by
  148. <a href="http://www.doxygen.org/index.html">
  149. <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  150. </ul>
  151. </div>
  152. </body>
  153. </html>