Warning, file /frameworks/syntax-highlighting/autotests/html/highlight.cpp.dark.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>highlight.cpp</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (C++) - Theme (Breeze Dark)"/>
0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre>
0007 <span style="color:#27ae60;">#pragma once</span>
0008 
0009 <span style="color:#27ae60;">#include </span><span style="color:#27ae60;">&lt;cassert&gt;</span>
0010 <span style="color:#27ae60;">#include </span><span style="color:#27ae60;">&lt;assert.h&gt;</span>
0011 <span style="color:#27ae60;">#include </span><span style="color:#27ae60;">&quot;assert.h&quot;</span>
0012 <span style="color:#27ae60;">#include </span><span style="color:#27ae60;">&quot;assert.hpp&quot;</span><span style="color:#27ae60;"> </span><span style="color:#7a7c7d;">// abc</span>
0013 <span style="color:#27ae60;">#include </span><span style="color:#27ae60;">&quot;path/assert.hpp&quot;</span>
0014 <span style="color:#27ae60;">#include </span><span style="color:#27ae60;">&quot;assert.h&quot;</span><span style="color:#da4453;text-decoration:underline;">a</span>
0015 <span style="color:#27ae60;">#include </span><span style="color:#27ae60;">&quot;assert.h&quot;</span><span style="color:#27ae60;"> </span><span style="color:#da4453;text-decoration:underline;">a</span>
0016 <span style="color:#27ae60;">#include </span><span style="color:#27ae60;">&lt;cassert&gt;</span><span style="color:#da4453;text-decoration:underline;">a</span>
0017 <span style="color:#27ae60;">#include </span><span style="color:#27ae60;">&lt;cassert&gt;</span><span style="color:#27ae60;"> </span><span style="color:#da4453;text-decoration:underline;">a</span>
0018 <span style="color:#27ae60;">#include FOO() error</span>
0019 <span style="color:#27ae60;">#include_next </span><span style="color:#27ae60;">&lt;cassert&gt;</span><span style="color:#27ae60;"> </span><span style="color:#da4453;text-decoration:underline;">a</span>
0020 <span style="color:#27ae60;">#include_next </span><span style="color:#27ae60;">&lt;cassert&gt;</span><span style="color:#27ae60;"> </span><span style="color:#7a7c7d;">/* a</span>
0021 <span style="color:#7a7c7d;"> */</span><span style="color:#27ae60;"> </span><span style="color:#da4453;text-decoration:underline;">b</span>
0022 <span style="color:#27ae60;">#include PATH_IN_MACRO</span>
0023 <span style="color:#27ae60;">#include PATH_IN_MACRO()</span>
0024 <span style="color:#27ae60;">#include PATH_IN_MACRO(a, b)</span>
0025 
0026 <span style="color:#27ae60;">#define SOME_VAR </span><span style="color:#f67400;">1</span>
0027 <span style="color:#27ae60;">#ifdef SOME_VAR</span>
0028 
0029 <span style="color:#27ae60;">#define MULTILINE_MACRO one </span><span style="color:#3f8058;">\</span>
0030 <span style="color:#27ae60;">two </span><span style="color:#3f8058;">\</span>
0031 <span style="color:#27ae60;">three</span>
0032 
0033 <span style="color:#27ae60;"># define MULTILINE_MACRO_TEXT                        </span><span style="color:#3f8058;">\</span>
0034 <span style="color:#27ae60;">    </span><span style="color:#7a7c7d;">/* </span><span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold;">NOTE</span><span style="color:#7a7c7d;"> The contents of macro is too green :D */</span><span style="color:#27ae60;"> </span><span style="color:#3f8058;">\</span>
0035 <span style="color:#27ae60;">    </span><span style="color:#2980b9;">char</span><span style="color:#27ae60;"> </span><span style="color:#2980b9;">const</span><span style="color:#27ae60;"> s</span><span style="color:#3f8058;">[]</span><span style="color:#27ae60;"> </span><span style="color:#3f8058;">=</span><span style="color:#27ae60;"> </span><span style="color:#f44f4f;">&quot;a</span><span style="color:#3daee9;">\\</span><span style="color:#f44f4f;">b&quot;</span><span style="color:#27ae60;">                          </span><span style="color:#3f8058;">\</span>
0036 <span style="color:#27ae60;">    </span><span style="color:#f44f4f;">&quot;c</span><span style="color:#3daee9;">\n</span><span style="color:#f44f4f;">d&quot;</span>
0037 
0038 <span style="color:#27ae60;"># define VARIADIC</span><span style="color:#3f8058;">(</span><span style="color:#27ae60;">a</span><span style="color:#3f8058;">,</span><span style="color:#27ae60;"> </span><span style="color:#3f8058;">...)</span><span style="color:#27ae60;">          </span><span style="color:#3f8058;">\</span>
0039 <span style="color:#27ae60;">    f</span><span style="color:#3f8058;">(</span><span style="color:#27ae60;">a</span><span style="color:#3f8058;">##</span><span style="color:#27ae60;">a</span><span style="color:#3f8058;">)</span><span style="color:#27ae60;">                        </span><span style="color:#3f8058;">\</span>
0040 <span style="color:#27ae60;">    f</span><span style="color:#3f8058;">(</span><span style="color:#27ae60;">__VA_ARGS__</span><span style="color:#3f8058;">)</span><span style="color:#27ae60;">                 </span><span style="color:#3f8058;">\</span>
0041 <span style="color:#27ae60;">    f</span><span style="color:#3f8058;">(#</span><span style="color:#27ae60;">__VA_ARGS__</span><span style="color:#3f8058;">)</span><span style="color:#27ae60;">                </span><span style="color:#3f8058;">\</span>
0042 <span style="color:#27ae60;">    f</span><span style="color:#3f8058;">(</span><span style="color:#27ae60;">__VA_ARGS__</span><span style="color:#3f8058;">)</span><span style="color:#27ae60;">                 </span><span style="color:#3f8058;">\</span>
0043 <span style="color:#27ae60;">    f</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">0</span><span style="color:#27ae60;"> </span><span style="color:#27ae60;">__VA_OPT__</span><span style="color:#3f8058;">(</span><span style="color:#3f8058;">,</span><span style="color:#3f8058;">)</span><span style="color:#27ae60;"> </span><span style="color:#27ae60;">__VA_ARGS__</span><span style="color:#3f8058;">)</span><span style="color:#27ae60;"> </span><span style="color:#3f8058;">\</span>
0044 <span style="color:#27ae60;">    x </span><span style="color:#27ae60;">__VA_OPT__</span><span style="color:#3f8058;">(=</span><span style="color:#27ae60;"> </span><span style="color:#3f8058;">{</span><span style="color:#27ae60;"> </span><span style="color:#27ae60;">__VA_ARGS__</span><span style="color:#27ae60;"> </span><span style="color:#3f8058;">})</span>
0045 
0046 <span style="color:#27ae60;"># define MACRO</span><span style="color:#3f8058;">()</span><span style="color:#27ae60;"> </span>BAD<span style="color:#27ae60;"> </span><span style="color:#da4453;text-decoration:underline;">\</span><span style="color:#27ae60;"> </span>ESCAPED
0047 
0048 <span style="color:#27ae60;"># error dds</span>
0049 <span style="color:#27ae60;"># warning dds</span>
0050 <span style="color:#27ae60;"># line 2 &quot;file.cpp&quot;</span>
0051 <span style="color:#27ae60;"># define A</span><span style="color:#3f8058;">(</span><span style="color:#27ae60;">x</span><span style="color:#3f8058;">,</span><span style="color:#27ae60;"> y</span><span style="color:#3f8058;">)</span><span style="color:#27ae60;"> x</span><span style="color:#3f8058;">##</span><span style="color:#27ae60;">y x</span><span style="color:#3f8058;">#</span><span style="color:#27ae60;">y</span>
0052 <span style="color:#7a7c7d;">// OK(L, a) -&gt; L&quot;a&quot;</span>
0053 <span style="color:#27ae60;"># define OK</span><span style="color:#3f8058;">(</span><span style="color:#27ae60;">x</span><span style="color:#3f8058;">,</span><span style="color:#27ae60;"> y</span><span style="color:#3f8058;">)</span><span style="color:#27ae60;"> x</span><span style="color:#3f8058;">###</span><span style="color:#27ae60;">y</span>
0054 <span style="color:#27ae60;"># define BAD</span><span style="color:#3f8058;">(</span><span style="color:#27ae60;">x</span><span style="color:#3f8058;">,</span><span style="color:#27ae60;"> y</span><span style="color:#3f8058;">)</span><span style="color:#27ae60;"> x</span><span style="color:#3f8058;">####</span><span style="color:#27ae60;">y</span>
0055 <span style="color:#27ae60;"># define A </span><span style="color:#7a7c7d;">/* multi line</span>
0056 <span style="color:#7a7c7d;">with comment */</span><span style="color:#27ae60;"> expr</span>
0057 <span style="color:#27ae60;"># define A </span><span style="color:#7a7c7d;">/* multi line</span>
0058 <span style="color:#7a7c7d;">with comment */</span>
0059 <span style="color:#f67400;">23</span>
0060 <span style="color:#27ae60;">#else </span><span style="color:#7a7c7d;">// x</span>
0061 <span style="color:#27ae60;">#42 </span><span style="color:#7a7c7d;">// gcc extension = #line 42</span>
0062 
0063 <span style="color:#7a7c7d;">// error</span>
0064 <span style="color:#27ae60;">#</span><span style="color:#da4453;text-decoration:underline;">wrong</span>
0065 <span style="color:#27ae60;"># </span><span style="color:#da4453;text-decoration:underline;">wrong</span>
0066 <span style="color:#27ae60;">#endif </span><span style="color:#da4453;text-decoration:underline;">x</span>
0067 <span style="color:#27ae60;">#if DS()</span>
0068 <span style="color:#27ae60;">#else </span><span style="color:#da4453;text-decoration:underline;">x</span>
0069 <span style="color:#27ae60;">#else </span><span style="color:#7a7c7d;">/* */</span><span style="color:#da4453;text-decoration:underline;">x</span>
0070 <span style="color:#27ae60;">#else </span><span style="color:#7a7c7d;">/* x</span>
0071 <span style="color:#7a7c7d;">y */</span><span style="color:#27ae60;"> </span><span style="color:#da4453;text-decoration:underline;">z</span>
0072 <span style="color:#27ae60;">#endif</span>
0073 
0074 <span style="color:#7a7c7d;">// check that _XXX defines work, bug 397766</span>
0075 <span style="color:#27ae60;">#ifndef _HEADER_GUARD</span>
0076 <span style="color:#27ae60;">#define _HEADER_GUARD </span><span style="color:#f67400;">1</span>
0077 <span style="color:#27ae60;">#endif</span>
0078 <span style="color:#27ae60;">#ifdef _HEADER_GUARD</span>
0079 <span style="color:#27ae60;">#if (_HEADER_GUARD &gt;= 1)</span>
0080 <span style="color:#27ae60;">#endif</span>
0081 <span style="color:#27ae60;">#endif</span>
0082 
0083 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">int</span> <span style="color:#27aeae;">g_global</span><span style="color:#3f8058;">;</span>
0084 
0085 <span style="font-weight:bold;">template</span><span style="color:#3f8058;">&lt;</span><span style="font-weight:bold;">class</span> T<span style="color:#3f8058;">,</span> <span style="font-weight:bold;">typename</span> U<span style="color:#3f8058;">,</span> <span style="font-weight:bold;">template</span><span style="color:#3f8058;">&lt;</span><span style="font-weight:bold;">class</span><span style="color:#3f8058;">&gt;</span> <span style="font-weight:bold;">class</span> <span style="color:#3f8058;">=</span> <span style="color:#7f8c8d;">std::is_pointer</span><span style="color:#3f8058;">&gt;</span>
0086 <span style="font-weight:bold;">struct</span> class1
0087   <span style="color:#3f8058;">:</span> <span style="font-weight:bold;">private</span> <span style="color:#7f8c8d;">std::vector</span><span style="color:#3f8058;">&lt;</span>T<span style="color:#3f8058;">&gt;</span><span style="color:#3f8058;">,</span> <span style="font-weight:bold;">public</span> U
0088 <span style="color:#3f8058;">{</span>
0089     class1<span style="color:#3f8058;">()</span>
0090         <span style="color:#fdbc4b;font-weight:bold;">try</span>
0091         <span style="color:#3f8058;">:</span> <span style="color:#808080;">_member1</span><span style="color:#3f8058;">(</span>xxx<span style="color:#3f8058;">)</span>
0092     <span style="color:#3f8058;">{}</span>
0093         <span style="color:#fdbc4b;font-weight:bold;">catch</span><span style="color:#3f8058;">(...)</span>
0094     <span style="color:#3f8058;">{}</span>
0095 
0096     class1<span style="color:#3f8058;">(</span>class1<span style="color:#3f8058;">&amp;&amp;)</span> <span style="color:#3f8058;">=</span> <span style="color:#fdbc4b;font-weight:bold;">default</span><span style="color:#3f8058;">;</span>
0097 
0098     <span style="color:#3f8058;">~</span>class1<span style="color:#3f8058;">()</span>
0099     <span style="color:#3f8058;">{}</span>
0100 
0101     <span style="color:#2980b9;">void</span> foo<span style="color:#3f8058;">()</span> <span style="color:#3f8058;">{</span> <span style="color:#fdbc4b;font-weight:bold;">return</span><span style="color:#3f8058;">;</span> <span style="color:#3f8058;">}</span>
0102     <span style="color:#2980b9;">void</span> foo<span style="color:#3f8058;">()</span> <span style="color:#2980b9;">const</span> <span style="color:#3f8058;">{</span> <span style="color:#fdbc4b;font-weight:bold;">return</span><span style="color:#3f8058;">;</span> <span style="color:#3f8058;">}</span>
0103     <span style="color:#2980b9;">void</span> foo<span style="color:#3f8058;">()</span> <span style="font-weight:bold;">noexcept</span> <span style="color:#3f8058;">{</span> <span style="color:#fdbc4b;font-weight:bold;">return</span><span style="color:#3f8058;">;</span> <span style="color:#3f8058;">}</span>
0104     <span style="color:#2980b9;">void</span> foo<span style="color:#3f8058;">()</span> <span style="color:#2980b9;">const</span> <span style="font-weight:bold;">noexcept</span> <span style="color:#3f8058;">{</span> <span style="color:#fdbc4b;font-weight:bold;">return</span><span style="color:#3f8058;">;</span> <span style="color:#3f8058;">}</span>
0105     <span style="font-weight:bold;">virtual</span> <span style="color:#2980b9;">void</span> foo<span style="color:#3f8058;">()</span> <span style="color:#2980b9;">const</span> <span style="font-weight:bold;">noexcept</span> <span style="color:#3f8058;">{</span> <span style="color:#fdbc4b;font-weight:bold;">return</span><span style="color:#3f8058;">;</span> <span style="color:#3f8058;">}</span>
0106     <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">void</span> foo<span style="color:#3f8058;">()</span> <span style="color:#3f8058;">{</span> <span style="color:#fdbc4b;font-weight:bold;">return</span><span style="color:#3f8058;">;</span> <span style="color:#3f8058;">}</span>
0107     <span style="font-weight:bold;">constexpr</span> <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">void</span> foo<span style="color:#3f8058;">()</span> <span style="color:#2980b9;">const</span>
0108         <span style="font-weight:bold;">noexcept</span><span style="color:#3f8058;">(</span><span style="font-weight:bold;">noexcept</span><span style="color:#3f8058;">(</span><span style="color:#7f8c8d;">std::is_pointer</span><span style="color:#3f8058;">&lt;</span>U<span style="color:#3f8058;">&gt;::</span>value<span style="color:#3f8058;">))</span> <span style="font-weight:bold;">override</span>
0109     <span style="color:#3f8058;">{</span>
0110         xxx<span style="color:#3f8058;">::</span><span style="font-weight:bold;">template</span> ttt<span style="color:#3f8058;">&lt;</span>U<span style="color:#3f8058;">&gt;::</span>type <span style="color:#3f8058;">{}</span><span style="color:#3f8058;">;</span>
0111         xxx<span style="color:#3f8058;">.</span><span style="font-weight:bold;">template</span> get<span style="color:#3f8058;">&lt;</span>U<span style="color:#3f8058;">&gt;()</span><span style="color:#3f8058;">;</span>
0112         xxx<span style="color:#3f8058;">.</span><span style="color:#7f8c8d;">std::rdbuf</span><span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0113         <span style="font-weight:bold;">auto</span> x <span style="color:#3f8058;">=</span> C<span style="color:#3f8058;">&lt;</span><span style="color:#3daee9;">'a'</span><span style="color:#3f8058;">&gt;</span> <span style="color:#3f8058;">+</span> y<span style="color:#3f8058;">;</span>
0114     <span style="color:#3f8058;">}</span>
0115 
0116     <span style="color:#2980b9;">int</span> <span style="font-weight:bold;">operator</span><span style="color:#3f8058;">-&gt;*(</span>T <span style="color:#3f8058;">(</span>C<span style="color:#3f8058;">::*</span>m<span style="color:#3f8058;">)(</span><span style="color:#2980b9;">int</span><span style="color:#3f8058;">))</span><span style="color:#3f8058;">;</span>
0117     <span style="font-weight:bold;">operator</span> <span style="color:#2980b9;">value_t</span> <span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0118 
0119 <span style="font-weight:bold;">private</span><span style="color:#3f8058;">:</span>
0120 <span style="font-weight:bold;">protected</span><span style="color:#3f8058;">:</span>
0121 <span style="font-weight:bold;">public</span><span style="color:#3f8058;">:</span>
0122     <span style="color:#2980b9;">value_type</span> <span style="color:#808080;">_member1</span><span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// </span><span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold;">NOTE</span><span style="color:#7a7c7d;"> internal ?</span>
0123     <span style="color:#2980b9;">value_type</span> <span style="color:#808080;">__internal</span><span style="color:#3f8058;">;</span>
0124     <span style="color:#2980b9;">value_type</span> <span style="color:#808080;">internal__</span><span style="color:#3f8058;">;</span>
0125     <span style="color:#2980b9;">value_type</span> <span style="color:#808080;">_M_internal</span><span style="color:#3f8058;">;</span>
0126     <span style="color:#2980b9;">value_t</span> <span style="color:#27aeae;">member2_</span><span style="color:#3f8058;">;</span>
0127     <span style="color:#2980b9;">value_type</span> <span style="color:#27aeae;">m_member3</span><span style="color:#3f8058;">;</span>
0128 
0129     <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">int</span> <span style="color:#27aeae;">s_static</span><span style="color:#3f8058;">;</span>
0130     <span style="color:#2980b9;">static</span> <span style="font-weight:bold;">constexpr</span> <span style="color:#2980b9;">int</span> <span style="color:#27aeae;">s_static</span><span style="color:#3f8058;">;</span>
0131     <span style="color:#2980b9;">static</span> <span style="font-weight:bold;">inline</span> <span style="color:#2980b9;">int</span> <span style="color:#27aeae;">s_static</span><span style="color:#3f8058;">;</span>
0132     <span style="color:#2980b9;">static</span> <span style="font-weight:bold;">inline</span> <span style="font-weight:bold;">constexpr</span> <span style="color:#2980b9;">int</span> <span style="color:#27aeae;">s_static</span><span style="color:#3f8058;">;</span>
0133 <span style="color:#3f8058;">}</span><span style="color:#3f8058;">;</span>
0134 
0135 <span style="font-weight:bold;">constexpr</span> <span style="font-weight:bold;">struct</span> <span style="color:#3f8058;">:</span> xyz
0136 <span style="color:#3f8058;">{</span>
0137     <span style="font-weight:bold;">using</span> xyz<span style="color:#3f8058;">::</span>xyz<span style="color:#3f8058;">;</span>
0138     <span style="font-weight:bold;">using</span> xyz<span style="color:#3f8058;">::</span><span style="font-weight:bold;">operator</span><span style="color:#3f8058;">=</span><span style="color:#3f8058;">;</span>
0139 
0140     <span style="color:#2980b9;">int</span> a <span style="color:#3f8058;">:</span> <span style="color:#f67400;">1</span><span style="color:#3f8058;">;</span>
0141     <span style="color:#2980b9;">int</span> b <span style="color:#3f8058;">:</span> <span style="color:#f67400;">7</span><span style="color:#3f8058;">;</span>
0142 <span style="color:#3f8058;">}</span> x <span style="color:#3f8058;">{}</span><span style="color:#3f8058;">;</span>
0143 
0144 <span style="font-weight:bold;">template</span><span style="color:#3f8058;">&lt;</span><span style="font-weight:bold;">class</span> T<span style="color:#3f8058;">&gt;</span>
0145 <span style="font-weight:bold;">using</span> is_pointer <span style="color:#3f8058;">=</span> <span style="color:#7f8c8d;">std::is_pointer</span><span style="color:#3f8058;">&lt;</span>T<span style="color:#3f8058;">&gt;::</span>type<span style="color:#3f8058;">;</span>
0146 
0147 <span style="font-weight:bold;">template</span><span style="color:#3f8058;">&lt;</span><span style="font-weight:bold;">class</span> T<span style="color:#3f8058;">&gt;</span>
0148 <span style="font-weight:bold;">constexpr</span> <span style="font-weight:bold;">auto</span> is_pointer_v <span style="color:#3f8058;">=</span> <span style="color:#7f8c8d;">std::is_pointer</span><span style="color:#3f8058;">&lt;</span>T<span style="color:#3f8058;">&gt;::</span>value<span style="color:#3f8058;">;</span>
0149 
0150 <span style="color:#2980b9;">uint64_t</span> namespaces<span style="color:#3f8058;">()</span>
0151 <span style="color:#3f8058;">{</span>
0152     <span style="color:#7f8c8d;">std::vector</span><span style="color:#3f8058;">&lt;</span>T<span style="color:#3f8058;">&gt;</span><span style="color:#3f8058;">;</span>
0153     <span style="color:#0099ff;font-weight:bold;">boost::vector</span><span style="color:#3f8058;">&lt;</span>T<span style="color:#3f8058;">&gt;</span><span style="color:#3f8058;">;</span>
0154     <span style="color:#808080;">detail::vector</span><span style="color:#3f8058;">&lt;</span>T<span style="color:#3f8058;">&gt;</span><span style="color:#3f8058;">;</span>
0155     <span style="color:#808080;">details::vector</span><span style="color:#3f8058;">&lt;</span>T<span style="color:#3f8058;">&gt;</span><span style="color:#3f8058;">;</span>
0156     <span style="color:#808080;">aux::vector</span><span style="color:#3f8058;">&lt;</span>T<span style="color:#3f8058;">&gt;</span><span style="color:#3f8058;">;</span>
0157     <span style="color:#808080;">internals::vector</span><span style="color:#3f8058;">&lt;</span>T<span style="color:#3f8058;">&gt;</span><span style="color:#3f8058;">;</span>
0158     other<span style="color:#3f8058;">::</span>vector<span style="color:#3f8058;">&lt;</span>T<span style="color:#3f8058;">&gt;</span><span style="color:#3f8058;">;</span>
0159 <span style="color:#3f8058;">}</span>
0160 
0161 task<span style="color:#3f8058;">&lt;&gt;</span> tcp_echo_server<span style="color:#3f8058;">()</span> <span style="color:#3f8058;">{</span>
0162   <span style="color:#2980b9;">char</span> data<span style="color:#3f8058;">[</span><span style="color:#f67400;">1024</span><span style="color:#3f8058;">]</span><span style="color:#3f8058;">;</span>
0163   <span style="color:#fdbc4b;font-weight:bold;">for</span> <span style="color:#3f8058;">(</span><span style="color:#3f8058;">;;</span><span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{</span>
0164     <span style="color:#2980b9;">size_t</span> n <span style="color:#3f8058;">=</span> <span style="color:#fdbc4b;font-weight:bold;">co_await</span> socket<span style="color:#3f8058;">.</span>async_read_some<span style="color:#3f8058;">(</span>buffer<span style="color:#3f8058;">(</span>data<span style="color:#3f8058;">))</span><span style="color:#3f8058;">;</span>
0165     <span style="color:#fdbc4b;font-weight:bold;">co_await</span> async_write<span style="color:#3f8058;">(</span>socket<span style="color:#3f8058;">,</span> buffer<span style="color:#3f8058;">(</span>data<span style="color:#3f8058;">,</span> n<span style="color:#3f8058;">))</span><span style="color:#3f8058;">;</span>
0166   <span style="color:#3f8058;">}</span>
0167 <span style="color:#3f8058;">}</span>
0168 
0169 <span style="color:#27ae60;">#if 1</span>
0170     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0171 <span style="color:#27ae60;">#else</span><span style="color:#7a7c7d;"> // else</span>
0172 <span style="color:#7a7c7d;">    double foo(const A);</span>
0173 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0174 
0175 <span style="color:#27ae60;">#if 0</span>
0176 <span style="color:#7a7c7d;">    double foo(const A);</span>
0177 <span style="color:#27ae60;">#else</span> <span style="color:#7a7c7d;">// else</span>
0178     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0179 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0180 
0181 <span style="color:#27ae60;">#if 1</span>
0182     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0183 <span style="color:#27ae60;">#elif</span><span style="color:#7a7c7d;"> 1</span>
0184 <span style="color:#7a7c7d;">    double foo(const A);</span>
0185 <span style="color:#7a7c7d;">#elif 0</span>
0186 <span style="color:#7a7c7d;">    double foo(const A);</span>
0187 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0188 
0189 <span style="color:#27ae60;">#if 0</span>
0190 <span style="color:#7a7c7d;">    double foo(const A);</span>
0191 <span style="color:#27ae60;">#elif 1</span>
0192     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0193 <span style="color:#27ae60;">#elif</span><span style="color:#7a7c7d;"> 0</span>
0194 <span style="color:#7a7c7d;">    double foo(const A);</span>
0195 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0196 
0197 <span style="color:#27ae60;">#if 0</span>
0198 <span style="color:#7a7c7d;">    double foo(const A);</span>
0199 <span style="color:#27ae60;">#elif a</span>
0200     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0201 <span style="color:#27ae60;">#elif 0</span>
0202 <span style="color:#7a7c7d;">    double foo(const A);</span>
0203 <span style="color:#27ae60;">#elif a</span>
0204     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0205 <span style="color:#27ae60;">#else </span><span style="color:#7a7c7d;">// else</span>
0206     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0207 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0208 
0209 <span style="color:#27ae60;">#if 0 </span><span style="color:#7a7c7d;">// blah blah</span>
0210 <span style="color:#7a7c7d;">    double foo(const A);</span>
0211 <span style="color:#27ae60;">#elif 1 </span><span style="color:#7a7c7d;">// blah blah</span>
0212     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0213 <span style="color:#27ae60;">#else</span><span style="color:#7a7c7d;"> // else</span>
0214 <span style="color:#7a7c7d;">    double foo(const A);</span>
0215 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0216 
0217 <span style="color:#27ae60;">#if 0 || a</span>
0218     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0219 <span style="color:#27ae60;">#else </span><span style="color:#7a7c7d;">// else</span>
0220     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0221 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0222 
0223 <span style="color:#27ae60;">#if 1 || a</span>
0224     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0225 <span style="color:#27ae60;">#else</span><span style="color:#7a7c7d;"> // else</span>
0226 <span style="color:#7a7c7d;">    double foo(const A);</span>
0227 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0228 
0229 <span style="color:#27ae60;">#if 0 &amp;&amp; a</span>
0230     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0231 <span style="color:#27ae60;">#else </span><span style="color:#7a7c7d;">// else</span>
0232     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0233 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0234 
0235 <span style="color:#27ae60;">#if 1 &amp;&amp; a</span>
0236     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0237 <span style="color:#27ae60;">#else </span><span style="color:#7a7c7d;">// else</span>
0238     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0239 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0240 
0241 <span style="color:#27ae60;">#if a</span>
0242     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0243 <span style="color:#27ae60;">#elif 0</span>
0244 <span style="color:#7a7c7d;">    double foo(const A);</span>
0245 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0246 
0247 <span style="color:#27ae60;">#if a</span>
0248     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0249 <span style="color:#27ae60;">#elif 1</span>
0250     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0251 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0252 
0253 <span style="color:#27ae60;">#if a</span>
0254     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0255 <span style="color:#27ae60;">#elif a</span>
0256     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> A<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0257 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0258 
0259 <span style="color:#2980b9;">int</span> bar<span style="color:#3f8058;">(</span><span style="color:#2980b9;">void</span><span style="color:#3f8058;">*</span>p<span style="color:#3f8058;">,</span> <span style="color:#2980b9;">void</span> <span style="color:#3f8058;">*</span> pp<span style="color:#3f8058;">)</span>
0260 <span style="color:#3f8058;">{</span>
0261 <span style="color:#27ae60;"># if 0</span>
0262 <span style="color:#7a7c7d;">    double foo();</span>
0263 <span style="color:#27ae60;"># else</span> <span style="color:#7a7c7d;">// else</span>
0264     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0265 <span style="color:#27ae60;"># endif </span><span style="color:#7a7c7d;">// end</span>
0266 <span style="color:#3f8058;">}</span>
0267 
0268 <span style="color:#27ae60;">#if abc 0</span>
0269     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0270 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0271 
0272 <span style="color:#27ae60;">#if xxx</span>
0273     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0274 <span style="color:#27ae60;">#else</span>
0275     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0276 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0277 
0278 <span style="color:#27ae60;">#if xxx</span>
0279     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0280 <span style="color:#27ae60;">#elif xxx </span><span style="color:#7a7c7d;">// elseif</span>
0281     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0282 <span style="color:#27ae60;">#elif xxx </span><span style="color:#7a7c7d;">// elseif</span>
0283     <span style="color:#2980b9;">double</span> foo<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0284 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0285 
0286 <span style="color:#7a7c7d;">// error</span>
0287 <span style="color:#da4453;text-decoration:underline;">#</span>
0288 <span style="color:#27ae60;">#</span><span style="color:#da4453;text-decoration:underline;">d</span>
0289 <span style="color:#27ae60;"># </span><span style="color:#da4453;text-decoration:underline;">d</span>
0290 <span style="color:#27ae60;">#</span><span style="color:#da4453;text-decoration:underline;">if</span>
0291 <span style="color:#27ae60;">#</span><span style="color:#da4453;text-decoration:underline;">elif</span>
0292 <span style="color:#27ae60;">#endif</span>
0293 <span style="color:#27ae60;">#</span><span style="color:#da4453;text-decoration:underline;">ifndef</span>
0294 <span style="color:#27ae60;">#endif</span>
0295 <span style="color:#27ae60;">#</span><span style="color:#da4453;text-decoration:underline;">ifdef 0</span>
0296 <span style="color:#27ae60;">#endif </span><span style="color:#7a7c7d;">// end</span>
0297 
0298 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">uint64_t</span> intWithSuffix <span style="color:#3f8058;">=</span> <span style="color:#f67400;">42</span><span style="color:#7f8c8d;">ull</span><span style="color:#3f8058;">;</span>
0299 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">long</span> intWithSuffixAndPrefix <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0b0101</span><span style="color:#7f8c8d;">L</span><span style="color:#3f8058;">;</span>
0300 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">int</span> octNum <span style="color:#3f8058;">=</span> <span style="color:#f67400;">07232</span><span style="color:#3f8058;">;</span>
0301 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">int</span> invalidOctNum <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0</span><span style="color:#da4453;text-decoration:underline;">9231</span><span style="color:#3f8058;">;</span>
0302 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">uint64_t</span> hexNum <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0xDEADBEEF42</span><span style="color:#3f8058;">;</span>
0303 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">uint64_t</span> invalidHexNum <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0</span><span style="color:#da4453;text-decoration:underline;">xGLDFKG</span><span style="color:#3f8058;">;</span>
0304 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">char</span> binNum <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0b0101010</span><span style="color:#3f8058;">;</span>
0305 
0306 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">int64_t</span> intWithSuffix <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">-</span><span style="color:#f67400;">42</span><span style="color:#7f8c8d;">LL</span><span style="color:#3f8058;">;</span>
0307 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">long</span> intWithSuffixAndPrefix <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">-</span><span style="color:#f67400;">0b0101</span><span style="color:#7f8c8d;">L</span><span style="color:#3f8058;">;</span>
0308 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">int</span> octNum <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">-</span><span style="color:#f67400;">07232</span><span style="color:#3f8058;">;</span>
0309 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">int</span> invalidOctNum <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">-</span><span style="color:#f67400;">0</span><span style="color:#da4453;text-decoration:underline;">9231</span><span style="color:#3f8058;">;</span>
0310 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">int64_t</span> hexNum <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">-</span><span style="color:#f67400;">0xDEADBEEF42</span><span style="color:#3f8058;">;</span>
0311 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">int64_t</span> invalidHexNum <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">-</span><span style="color:#f67400;">0</span><span style="color:#da4453;text-decoration:underline;">xGLDFKG</span><span style="color:#3f8058;">;</span>
0312 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">char</span> binNum <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">-</span><span style="color:#f67400;">0b0101010</span><span style="color:#3f8058;">;</span>
0313 
0314 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">uint64_t</span> intWithSuffixWithSep <span style="color:#3f8058;">=</span> <span style="color:#f67400;">4'2</span><span style="color:#7f8c8d;">ull</span><span style="color:#3f8058;">;</span>
0315 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">long</span> intWithSuffixAndPrefixWithSep <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0b0'10'1</span><span style="color:#7f8c8d;">L</span><span style="color:#3f8058;">;</span>
0316 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">int</span> octNumWithSep <span style="color:#3f8058;">=</span> <span style="color:#f67400;">07'232</span><span style="color:#3f8058;">;</span>
0317 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">int</span> invalidOctNumWithSep <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0</span><span style="color:#da4453;text-decoration:underline;">9'23'1</span><span style="color:#3f8058;">;</span>
0318 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">uint64_t</span> hexNumWithSep <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0xD'EAD'BE'EF'42</span><span style="color:#3f8058;">;</span>
0319 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">uint64_t</span> invalidHexNumWithSep <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0</span><span style="color:#da4453;text-decoration:underline;">xGLD'FKG</span><span style="color:#3f8058;">;</span>
0320 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">char</span> binNumWithSep <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0b0'1010'10</span><span style="color:#3f8058;">;</span>
0321 
0322 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">uint64_t</span> invalidSep <span style="color:#3f8058;">=</span> <span style="color:#f67400;">42</span><span style="color:#da4453;text-decoration:underline;">'</span><span style="color:#7f8c8d;">ull</span><span style="color:#3f8058;">;</span>
0323 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">uint64_t</span> invalidSep <span style="color:#3f8058;">=</span> <span style="color:#f67400;">42</span><span style="color:#da4453;text-decoration:underline;">'</span><span style="color:#3f8058;">;</span>
0324 
0325 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> d1 <span style="color:#3f8058;">=</span> <span style="color:#f67400;">42.</span><span style="color:#3f8058;">;</span>
0326 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> d2 <span style="color:#3f8058;">=</span> <span style="color:#f67400;">.42</span><span style="color:#3f8058;">;</span>
0327 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> d2a <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">-</span><span style="color:#f67400;">0.49</span><span style="color:#3f8058;">;</span>
0328 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> d2b <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">-</span><span style="color:#f67400;">0.09</span><span style="color:#3f8058;">;</span>
0329 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> d3 <span style="color:#3f8058;">=</span> <span style="color:#f67400;">42.3e1</span><span style="color:#3f8058;">;</span>
0330 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> d4 <span style="color:#3f8058;">=</span> <span style="color:#f67400;">.2e-12</span><span style="color:#3f8058;">;</span>
0331 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> d5 <span style="color:#3f8058;">=</span> <span style="color:#f67400;">32.e+12</span><span style="color:#3f8058;">;</span>
0332 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> invalidD1 <span style="color:#3f8058;">=</span> <span style="color:#f67400;">32.</span><span style="color:#da4453;text-decoration:underline;">e</span><span style="color:#3f8058;">+</span>a12<span style="color:#3f8058;">;</span>
0333 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">float</span> floatQualifier <span style="color:#3f8058;">=</span> <span style="color:#f67400;">23.123</span><span style="color:#7f8c8d;">f</span><span style="color:#3f8058;">;</span>
0334 <span style="color:#7a7c7d;">// Hexadecimal floating point (c++17)</span>
0335 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> d6 <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0x1ffp10</span><span style="color:#3f8058;">;</span>
0336 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> d7 <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0X0p-1</span><span style="color:#3f8058;">;</span>
0337 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> d8 <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0x1.p0</span><span style="color:#3f8058;">;</span>
0338 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> d9 <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0xf.p-1</span><span style="color:#7f8c8d;">L</span><span style="color:#3f8058;">;</span>
0339 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> d10 <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0x0.123p-1</span><span style="color:#3f8058;">;</span>
0340 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> d11 <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0xa.bp10</span><span style="color:#7f8c8d;">l</span><span style="color:#3f8058;">;</span>
0341 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">double</span> invalidD2 <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0x0.123</span><span style="color:#da4453;text-decoration:underline;">p</span><span style="color:#3f8058;">-</span>a<span style="color:#3f8058;">;</span>
0342 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">float</span> floatQualifier <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0xf.p-1</span><span style="color:#7f8c8d;">f</span><span style="color:#3f8058;">;</span>
0343 
0344 <span style="color:#f67400;">60</span><span style="color:#7f8c8d;">min</span><span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// c++17</span>
0345 <span style="color:#f67400;">60.</span><span style="color:#7f8c8d;">min</span><span style="color:#3f8058;">;</span>
0346 <span style="color:#f67400;">60.3</span><span style="color:#7f8c8d;">min</span><span style="color:#3f8058;">;</span>
0347 <span style="color:#f67400;">0x1ffp10</span><span style="color:#7f8c8d;">min</span><span style="color:#3f8058;">;</span>
0348 <span style="color:#f67400;">2</span><span style="color:#7f8c8d;">us</span>
0349 <span style="color:#f67400;">2</span><span style="color:#7f8c8d;">d</span><span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// c++20</span>
0350 <span style="color:#f67400;">23.</span><span style="color:#f67400;">_f</span>
0351 <span style="color:#f67400;">23.</span><span style="color:#f67400;">_fd</span>
0352 <span style="color:#f67400;">2.3</span><span style="color:#f67400;">_f</span>
0353 <span style="color:#f67400;">2.3</span><span style="color:#f67400;">_fd</span>
0354 <span style="color:#f67400;">2.</span><span style="color:#f67400;">_f</span>
0355 <span style="color:#f67400;">2.</span><span style="color:#f67400;">_fd</span>
0356 <span style="color:#f67400;">2e4</span><span style="color:#f67400;">_f</span>
0357 <span style="color:#f67400;">2e4</span><span style="color:#f67400;">_fd</span>
0358 
0359 <span style="color:#7a7c7d;">// error</span>
0360 <span style="color:#f67400;">23.</span><span style="color:#7f8c8d;">f</span><span style="color:#da4453;text-decoration:underline;">d</span>
0361 <span style="color:#f67400;">2</span><span style="color:#da4453;text-decoration:underline;">e_fd</span>
0362 <span style="color:#f67400;">2</span><span style="color:#da4453;text-decoration:underline;">e</span>
0363 <span style="color:#f67400;">1.</span><span style="color:#da4453;text-decoration:underline;">y</span>
0364 <span style="color:#f67400;">1.0</span><span style="color:#da4453;text-decoration:underline;">_E+</span><span style="color:#f67400;">2.0</span>
0365 <span style="color:#f67400;">1.0</span><span style="color:#f67400;">_E</span> <span style="color:#3f8058;">+</span><span style="color:#f67400;">2.0</span> <span style="color:#7a7c7d;">// ok</span>
0366 <span style="color:#f67400;">1</span><span style="color:#da4453;text-decoration:underline;">_p+</span><span style="color:#f67400;">2</span>
0367 <span style="color:#f67400;">1</span><span style="color:#f67400;">_p</span> <span style="color:#3f8058;">+</span><span style="color:#f67400;">2</span> <span style="color:#7a7c7d;">// ok</span>
0368 <span style="color:#f67400;">4</span><span style="color:#7f8c8d;">s</span><span style="color:#da4453;text-decoration:underline;">.count</span><span style="color:#3f8058;">()</span>
0369 <span style="color:#f67400;">4</span><span style="color:#7f8c8d;">s</span><span style="color:#da4453;text-decoration:underline;">.</span> count<span style="color:#3f8058;">()</span>
0370 <span style="color:#f67400;">4</span><span style="color:#7f8c8d;">s</span> <span style="color:#3f8058;">.</span>count<span style="color:#3f8058;">()</span> <span style="color:#7a7c7d;">// ok</span>
0371 
0372 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">bool</span> yes <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">true</span><span style="color:#3f8058;">;</span>
0373 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">bool</span> no <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">false</span><span style="color:#3f8058;">;</span>
0374 
0375 <span style="color:#7a7c7d;">// *char*</span>
0376 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span>     c1 <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">'c'</span><span style="color:#3f8058;">;</span>
0377 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span>     c1a <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">u8</span><span style="color:#3daee9;">'c'</span><span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// utf-8 char (c++17)</span>
0378 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char16_t</span> c1b <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">u</span><span style="color:#3daee9;">'c'</span><span style="color:#3f8058;">;</span>
0379 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char32_t</span> c1c <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">U</span><span style="color:#3daee9;">'c'</span><span style="color:#3f8058;">;</span>
0380 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">wchar_t</span>  c1d <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">L</span><span style="color:#3daee9;">'c'</span><span style="color:#3f8058;">;</span>
0381 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span> c2 <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">'</span><span style="color:#3daee9;">\n</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span>
0382 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span> c2a <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">'</span><span style="color:#3daee9;">\120</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// octal</span>
0383 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span> c2b <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">'</span><span style="color:#3daee9;">\x1f</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// hex</span>
0384 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span> c2c <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">'</span><span style="color:#3daee9;">\'</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span>
0385 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span> c2d <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">'</span><span style="color:#3daee9;">\\</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span>
0386 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">wchar_t</span> c2e <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">L</span><span style="color:#3daee9;">'</span><span style="color:#3daee9;">\x1ff</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// hex</span>
0387 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">wchar_t</span> c2e <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">U</span><span style="color:#3daee9;">'</span><span style="color:#3daee9;">\x1fffffff</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// hex</span>
0388 <span style="color:#7a7c7d;">// error</span>
0389 <span style="color:#3daee9;">'</span><span style="color:#3daee9;">\x12</span><span style="color:#da4453;text-decoration:underline;">3</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span>
0390 <span style="color:#3daee9;">'\</span><span style="color:#da4453;text-decoration:underline;">u1234</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span>
0391 <span style="color:#3daee9;">'\</span><span style="color:#da4453;text-decoration:underline;">U12345678</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span>
0392 <span style="color:#3daee9;">U</span><span style="color:#3daee9;">'</span><span style="color:#3daee9;">\u1234</span><span style="color:#da4453;text-decoration:underline;">5</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span>
0393 <span style="color:#3daee9;">u</span><span style="color:#3daee9;">'\</span><span style="color:#da4453;text-decoration:underline;">u123</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span>
0394 <span style="color:#3daee9;">U</span><span style="color:#3daee9;">'\</span><span style="color:#da4453;text-decoration:underline;">U1234567</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span>
0395 <span style="color:#3daee9;">U</span><span style="color:#3daee9;">'</span><span style="color:#3daee9;">\U12345678</span><span style="color:#da4453;text-decoration:underline;">9</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span>
0396 <span style="color:#3daee9;">U</span><span style="color:#3daee9;">'</span><span style="color:#3daee9;">\x12345678</span><span style="color:#da4453;text-decoration:underline;">9</span><span style="color:#3daee9;">'</span><span style="color:#3f8058;">;</span>
0397 
0398 <span style="color:#7a7c7d;">// string</span>
0399 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*</span> c3 <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">&quot;string&quot;</span><span style="color:#3f8058;">;</span>
0400 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*</span> c4 <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">\&quot;</span><span style="color:#f44f4f;">string</span><span style="color:#3daee9;">\n\t\012\x12\&quot;</span><span style="color:#f44f4f;">&quot;</span><span style="color:#3f8058;">;</span>
0401 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*</span> c5 <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">&quot;multiline </span><span style="color:#3f8058;">\</span>
0402 <span style="color:#f44f4f;">    string&quot;</span><span style="color:#3f8058;">;</span>
0403 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*</span> c6 <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">&quot;multifragment&quot;</span> <span style="color:#f44f4f;">&quot;other&quot;&quot;string&quot;</span><span style="color:#3f8058;">;</span>
0404 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*</span>      c6a <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">u8</span><span style="color:#f44f4f;">&quot;string&quot;</span><span style="color:#3f8058;">;</span>
0405 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char16_t</span><span style="color:#3f8058;">*</span>  c6b <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">u</span><span style="color:#f44f4f;">&quot;string&quot;</span><span style="color:#3f8058;">;</span>
0406 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char32_t</span><span style="color:#3f8058;">*</span>  c6c <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">U</span><span style="color:#f44f4f;">&quot;string&quot;</span><span style="color:#3f8058;">;</span>
0407 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">wchar_t</span><span style="color:#3f8058;">*</span>   c6d <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">L</span><span style="color:#f44f4f;">&quot;string&quot;</span><span style="color:#3f8058;">;</span>
0408 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*</span> rawString1 <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">R&quot;(</span><span style="color:#da4453;">string</span><span style="color:#f44f4f;">)&quot;</span><span style="color:#3f8058;">;</span>
0409 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*</span>      rawString1a <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">u8R&quot;(</span><span style="color:#da4453;">string</span><span style="color:#f44f4f;">)&quot;</span><span style="color:#3f8058;">;</span>
0410 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char16_t</span><span style="color:#3f8058;">*</span>  rawString1b <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">uR&quot;(</span><span style="color:#da4453;">string</span><span style="color:#f44f4f;">)&quot;</span><span style="color:#3f8058;">;</span>
0411 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char32_t</span><span style="color:#3f8058;">*</span>  rawString1c <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">UR&quot;(</span><span style="color:#da4453;">string</span><span style="color:#f44f4f;">)&quot;</span><span style="color:#3f8058;">;</span>
0412 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">wchar_t</span><span style="color:#3f8058;">*</span>   rawString1d <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">LR&quot;(</span><span style="color:#da4453;">string\nstring</span><span style="color:#f44f4f;">)&quot;</span><span style="color:#3f8058;">;</span>
0413 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*</span> rawString2 <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">R&quot;ab(</span><span style="color:#da4453;">string\nstring</span><span style="color:#3daee9;">%s</span><span style="color:#da4453;">)ab &quot;</span><span style="color:#f44f4f;">)ab&quot;</span><span style="color:#3f8058;">;</span>
0414 <span style="color:#2980b9;">static</span> <span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*</span> rawString3 <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">R&quot;ab(</span><span style="color:#da4453;">string</span>
0415 <span style="color:#da4453;">string%</span><span style="color:#f44f4f;">)ab&quot;</span><span style="color:#3f8058;">;</span>
0416 <span style="color:#f44f4f;">&quot; </span><span style="color:#3daee9;">%d</span><span style="color:#f44f4f;"> </span><span style="color:#3daee9;">%d</span><span style="color:#f44f4f;">f fd&quot;</span> <span style="color:#f44f4f;">U</span><span style="color:#f44f4f;">&quot;ds </span><span style="color:#3daee9;">%d</span><span style="color:#f44f4f;">&quot;</span> <span style="color:#f44f4f;">R&quot;(</span><span style="color:#da4453;">a</span><span style="color:#3daee9;">%d</span><span style="color:#f44f4f;">)&quot;</span><span style="color:#3f8058;">;</span>
0417   <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">\x12</span><span style="color:#da4453;text-decoration:underline;">3</span><span style="color:#f44f4f;">xsk&quot;</span><span style="color:#3f8058;">;</span>
0418  <span style="color:#f44f4f;">u</span><span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">\x123</span><span style="color:#f44f4f;">xsk&quot;</span><span style="color:#3f8058;">;</span>
0419 <span style="color:#7a7c7d;">// error</span>
0420 <span style="color:#f44f4f;">u8</span><span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">\x12</span><span style="color:#da4453;text-decoration:underline;">3</span><span style="color:#f44f4f;">xsk&quot;</span><span style="color:#3f8058;">;</span>
0421 
0422 <span style="color:#7a7c7d;">// printf format</span>
0423 <span style="color:#f44f4f;">&quot;a</span><span style="color:#3daee9;">%10s</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%-10s</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%*s</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%-10.*s</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%-*.*s</span><span style="color:#f44f4f;">a&quot;</span>
0424 <span style="color:#f44f4f;">&quot;a</span><span style="color:#3daee9;">%c</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%*c</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%%</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%i</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%d</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%.6i</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%.0i</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%+i</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%i</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%x</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%#x</span><span style="color:#f44f4f;">a&quot;</span>
0425 <span style="color:#f44f4f;">&quot;a</span><span style="color:#3daee9;">%.0f</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%.32f</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%05.2f</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%.2f</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%5.2f</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%E</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">%a</span><span style="color:#f44f4f;">a&quot;</span>
0426 <span style="color:#7a7c7d;">// std::format</span>
0427 <span style="color:#f44f4f;">&quot;a</span><span style="color:#3daee9;">{{</span><span style="color:#f44f4f;">:6</span><span style="color:#3daee9;">}}</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">{}</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">{:6}</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">{:*&lt;6}</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">{:6d}</span><span style="color:#f44f4f;">a&quot;</span>
0428 <span style="color:#f44f4f;">&quot;a</span><span style="color:#3daee9;">{0:}</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">{0:+}</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">{0:-}</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">{0: }</span><span style="color:#f44f4f;">a&quot;</span>
0429 <span style="color:#f44f4f;">&quot;a</span><span style="color:#3daee9;">{:+06d}</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">{:#06x}</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">{:&lt;06}</span><span style="color:#f44f4f;">a&quot;</span>
0430 <span style="color:#f44f4f;">&quot;a</span><span style="color:#3daee9;">{:{}}</span><span style="color:#f44f4f;">a</span><span style="color:#3daee9;">{0:{1}.{2}f}</span><span style="color:#f44f4f;">a&quot;</span>
0431 <span style="color:#3f8058;">;</span>
0432 
0433 <span style="color:#7a7c7d;">// UDL (c++11)</span>
0434 
0435 <span style="font-weight:bold;">operator</span><span style="color:#f44f4f;">&quot;&quot;</span>_a<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*)</span><span style="color:#3f8058;">;</span>
0436 <span style="font-weight:bold;">operator</span> <span style="color:#f44f4f;">&quot;&quot;</span>_a<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*)</span><span style="color:#3f8058;">;</span>
0437 <span style="font-weight:bold;">operator</span> <span style="color:#f44f4f;">&quot;&quot;</span> _a<span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*)</span><span style="color:#3f8058;">;</span>
0438 <span style="color:#7a7c7d;">// invalid suffix</span>
0439 <span style="font-weight:bold;">operator</span> <span style="color:#f44f4f;">&quot;&quot;</span> <span style="color:#da4453;text-decoration:underline;">a</span><span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*)</span><span style="color:#3f8058;">;</span>
0440 <span style="font-weight:bold;">operator</span> <span style="color:#f44f4f;">&quot;&quot;</span><span style="color:#da4453;text-decoration:underline;">a</span><span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*)</span><span style="color:#3f8058;">;</span>
0441 <span style="font-weight:bold;">operator</span><span style="color:#f44f4f;">&quot;&quot;</span><span style="color:#da4453;text-decoration:underline;">a</span><span style="color:#3f8058;">(</span><span style="color:#2980b9;">const</span> <span style="color:#2980b9;">char</span><span style="color:#3f8058;">*)</span><span style="color:#3f8058;">;</span>
0442 
0443 <span style="color:#f44f4f;">&quot;string&quot;</span><span style="color:#f44f4f;">_s</span><span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// user</span>
0444 <span style="color:#f44f4f;">&quot;string&quot;</span><span style="color:#7f8c8d;">s</span><span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// standard</span>
0445 <span style="color:#f44f4f;">&quot;string&quot;</span><span style="color:#f44f4f;">_s</span><span style="color:#3f8058;">-</span>b<span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// -b is not part of the string</span>
0446 
0447 <span style="color:#7a7c7d;">// Macro</span>
0448 
0449 MY_XXX<span style="color:#3f8058;">;</span>
0450 <span style="color:#0099ff;font-weight:bold;">BOOST_XXX</span><span style="color:#3f8058;">;</span>
0451 <span style="color:#27ae60;">__STDC_VERSION__</span><span style="color:#3f8058;">;</span>
0452 <span style="color:#27ae60;">__TIME__</span><span style="color:#3f8058;">;</span>
0453 <span style="color:#27ae60;">__cplusplus</span><span style="color:#3f8058;">;</span>
0454 
0455 <span style="color:#7a7c7d;">// Attributes</span>
0456 
0457 <span style="color:#3f8058;">[[</span><span style="color:#2980b9;font-style:italic;">noreturn</span><span style="color:#3f8058;">]]</span> <span style="color:#2980b9;">void</span> foo<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0458 <span style="color:#3f8058;">[[</span><span style="color:#2980b9;font-style:italic;">deprecated</span><span style="color:#3f8058;">]]</span> <span style="color:#2980b9;">void</span> foo<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0459 <span style="color:#3f8058;">[[</span><span style="color:#2980b9;font-style:italic;">deprecated</span><span style="color:#3f8058;">(</span><span style="color:#f44f4f;">&quot;because&quot;</span><span style="color:#3f8058;">)]]</span> <span style="color:#2980b9;">void</span> foo<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0460 <span style="color:#2980b9;">void</span> foo<span style="color:#3f8058;">([[</span><span style="color:#2980b9;font-style:italic;">carries_dependency</span><span style="color:#3f8058;">]]</span> <span style="color:#2980b9;">int</span><span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0461 
0462 <span style="color:#3f8058;">[[</span><span style="color:#2980b9;font-style:italic;">opt</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">)</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;font-style:italic;"> debug</span><span style="color:#3f8058;">]]</span>
0463 <span style="color:#3f8058;">[[</span><span style="font-weight:bold;">using</span><span style="color:#2980b9;font-style:italic;"> CC</span><span style="color:#3f8058;">:</span><span style="color:#2980b9;font-style:italic;"> opt</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">)</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;font-style:italic;"> debug</span><span style="color:#3f8058;">]]</span> <span style="color:#7a7c7d;">// c++17</span>
0464 <span style="color:#3f8058;">[[</span><span style="font-weight:bold;">using</span><span style="color:#2980b9;font-style:italic;"> CC</span><span style="color:#3f8058;">:</span><span style="color:#2980b9;font-style:italic;"> CC</span><span style="color:#3f8058;">::</span><span style="color:#2980b9;font-style:italic;">opt</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">)]]</span> <span style="color:#7a7c7d;">// c++17</span>
0465 
0466 <span style="color:#3f8058;">[[</span><span style="color:#0099ff;font-weight:bold;font-style:italic;">gnu::assume_aligned</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">3'2</span><span style="color:#7f8c8d;">l</span><span style="color:#3f8058;">,</span><span style="color:#f67400;">2</span><span style="color:#3f8058;">)]]</span> <span style="color:#2980b9;">void</span><span style="color:#3f8058;">*</span> f<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0467 <span style="color:#3f8058;">[[</span><span style="font-weight:bold;">using</span><span style="color:#2980b9;font-style:italic;"> </span><span style="color:#0099ff;font-weight:bold;font-style:italic;">gnu</span><span style="color:#3f8058;">:</span><span style="color:#2980b9;font-style:italic;"> assume_aligned</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">3</span><span style="color:#3f8058;">)]]</span>
0468 <span style="color:#3f8058;">[[</span><span style="color:#0099ff;font-weight:bold;font-style:italic;">clang::assume_aligned</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">3</span><span style="color:#3f8058;">)]]</span>
0469 
0470 <span style="color:#2980b9;">void</span> f<span style="color:#3f8058;">([[</span><span style="color:#2980b9;font-style:italic;">maybe_unused</span><span style="color:#3f8058;">]]</span> <span style="color:#2980b9;">int</span> val<span style="color:#3f8058;">)</span>
0471 <span style="color:#3f8058;">{</span>
0472     <span style="color:#3f8058;">[[</span><span style="color:#2980b9;font-style:italic;">maybe_unused</span><span style="color:#3f8058;">]]</span> <span style="color:#2980b9;">int</span> x<span style="color:#3f8058;">;</span>
0473     <span style="color:#fdbc4b;font-weight:bold;">switch</span> <span style="color:#3f8058;">(</span>x <span style="color:#3f8058;">=</span> foo<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span> x<span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{</span>
0474         <span style="color:#fdbc4b;font-weight:bold;">case</span> <span style="color:#f67400;">1</span><span style="color:#3f8058;">:</span>
0475             <span style="color:#3f8058;">[[</span><span style="color:#2980b9;font-style:italic;">fallthrough</span><span style="color:#3f8058;">]]</span><span style="color:#3f8058;">;</span>
0476         <span style="color:#fdbc4b;font-weight:bold;">case</span> XXX<span style="color:#3f8058;">:</span>
0477         <span style="color:#fdbc4b;font-weight:bold;">case</span> Class<span style="color:#3f8058;">::</span>foo<span style="color:#3f8058;">():</span>
0478             <span style="color:#3f8058;">[[</span><span style="color:#2980b9;font-style:italic;">fallthrough</span><span style="color:#3f8058;">]]</span><span style="color:#3f8058;">;</span>
0479         <span style="color:#fdbc4b;font-weight:bold;">default</span><span style="color:#3f8058;">:</span>
0480             <span style="color:#3f8058;">;</span>
0481     <span style="color:#3f8058;">}</span>
0482 
0483     <span style="color:#7a7c7d;">// c++17: fold expression</span>
0484     <span style="color:#3f8058;">(</span>args <span style="color:#3f8058;">+</span> <span style="color:#3f8058;">...</span> <span style="color:#3f8058;">+</span> <span style="color:#3f8058;">(</span><span style="color:#f67400;">1</span> <span style="color:#3f8058;">*</span> <span style="color:#f67400;">2</span><span style="color:#3f8058;">))</span><span style="color:#3f8058;">;</span>
0485     <span style="color:#3f8058;">(</span>v<span style="color:#3f8058;">.</span>push_back<span style="color:#3f8058;">(</span>args<span style="color:#3f8058;">)</span><span style="color:#3f8058;">,</span> <span style="color:#3f8058;">...)</span><span style="color:#3f8058;">;</span>
0486 
0487     <span style="color:#3f8058;">[[</span><span style="color:#2980b9;font-style:italic;">omp</span><span style="color:#3f8058;">::</span><span style="color:#2980b9;font-style:italic;">parallel</span><span style="color:#3f8058;">]]</span> <span style="color:#fdbc4b;font-weight:bold;">for</span> <span style="color:#3f8058;">(</span><span style="font-weight:bold;">auto</span><span style="color:#3f8058;">&amp;&amp;</span> x <span style="color:#3f8058;">:</span> v<span style="color:#3f8058;">)</span>
0488         x<span style="color:#3f8058;">;</span>
0489     <span style="color:#fdbc4b;font-weight:bold;">for</span> <span style="color:#3f8058;">(</span><span style="font-weight:bold;">auto</span><span style="color:#3f8058;">&amp;&amp;</span> <span style="color:#3f8058;">[</span>first<span style="color:#3f8058;">,</span>second<span style="color:#3f8058;">]</span> <span style="color:#3f8058;">:</span> mymap<span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{</span>
0490     <span style="color:#3f8058;">}</span>
0491 
0492     <span style="font-weight:bold;">auto</span> <span style="color:#3f8058;">[</span>x<span style="color:#3f8058;">,</span> y<span style="color:#3f8058;">]</span> <span style="color:#3f8058;">=</span> foo<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0493 
0494     <span style="color:#3f8058;">[</span>x <span style="color:#3f8058;">=</span> <span style="color:#f67400;">1</span><span style="color:#3f8058;">,</span> <span style="color:#3f8058;">=</span>y<span style="color:#3f8058;">](){}</span><span style="color:#3f8058;">;</span>
0495 
0496     <span style="font-weight:bold;">decltype</span><span style="color:#3f8058;">((</span><span style="font-weight:bold;">auto</span><span style="color:#3f8058;">))</span> x <span style="color:#3f8058;">=</span> foo<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0497 <span style="color:#3f8058;">}</span>
0498 
0499 <span style="font-weight:bold;">auto</span> f<span style="color:#3f8058;">()</span> <span style="color:#3f8058;">-&gt;</span> <span style="font-weight:bold;">decltype</span><span style="color:#3f8058;">(</span>foo<span style="color:#3f8058;">())</span><span style="color:#3f8058;">;</span>
0500 
0501 <span style="color:#0099ff;font-weight:bold;font-style:italic;">__attribute__((pure))</span> <span style="color:#2980b9;">void</span> f<span style="color:#3f8058;">()</span><span style="color:#3f8058;">;</span>
0502 
0503 label<span style="color:#3f8058;">:</span>
0504 <span style="color:#fdbc4b;font-weight:bold;">goto</span> label<span style="color:#3f8058;">;</span>
0505 
0506 
0507 <span style="color:#2980b9;background-color:#153042;">//BEGIN region</span>
0508 <span style="color:#7a7c7d;">// </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold;">TODO</span><span style="color:#7a7c7d;"> comment </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold;">FIXME</span><span style="color:#7a7c7d;"> comment </span><span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold;">###</span><span style="color:#7a7c7d;"> comment </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold;">BUG</span><span style="color:#7a7c7d;"> comment</span>
0509 <span style="color:#2980b9;background-color:#153042;">//END region</span>
0510 
0511 <span style="color:#7a7c7d;">// \brief blah blah</span>
0512 <span style="color:#7a7c7d;">/// </span><span style="color:#3f8058;font-weight:bold;">\brief</span><span style="color:#7a7c7d;"> blah blah</span>
0513 
0514 <span style="color:#7a7c7d;">/**</span>
0515 <span style="color:#7a7c7d;"> * Doxygen</span>
0516 <span style="color:#7a7c7d;"> * </span><span style="color:#3f8058;font-weight:bold;">@param</span><span style="color:#7a7c7d;"> </span><span style="color:#7f8c8d;font-weight:bold;">p1</span><span style="color:#7a7c7d;"> text</span>
0517 <span style="color:#7a7c7d;"> * </span><span style="color:#3f8058;font-weight:bold;">\brief</span><span style="color:#7a7c7d;"> </span><span style="font-weight:bold;">&lt;b&gt;</span><span style="color:#7a7c7d;">bold text</span><span style="font-weight:bold;">&lt;/b&gt;</span>
0518 <span style="color:#7a7c7d;"> * </span><span style="color:#3f8058;font-weight:bold;">\dot</span>
0519 <span style="color:#7a7c7d;"> *</span><span style="color:#00a000;font-style:italic;"> a -&gt; b</span>
0520 <span style="color:#7a7c7d;"> *</span><span style="color:#00a000;font-style:italic;"> </span><span style="color:#3f8058;font-weight:bold;">\enddot</span>
0521 <span style="color:#7a7c7d;"> *</span>
0522 <span style="color:#7a7c7d;"> * </span><span style="color:#3f8058;font-weight:bold;">\verbatim</span>
0523 <span style="color:#7a7c7d;"> *</span><span style="color:#7a7c7d;"> &lt;dummy&gt;</span>
0524 <span style="color:#7a7c7d;"> *</span><span style="color:#7a7c7d;"> </span><span style="color:#3f8058;font-weight:bold;">\endverbatim</span>
0525 <span style="color:#7a7c7d;"> * </span><span style="font-weight:bold;">&lt;html&gt;</span><span style="color:#7a7c7d;">text</span><span style="font-weight:bold;">&lt;/html&gt;</span>
0526 <span style="color:#7a7c7d;"> */</span>
0527 
0528 <span style="color:#27ae60;">#endif</span>
0529 
0530 <span style="color:#7a7c7d;">// Some GNU macros, cross-referenced from gcc.xml to isocpp.xml</span>
0531 <span style="color:#27ae60;">__GCC_ATOMIC_CHAR16_T_LOCK_FREE</span>
0532 <span style="color:#27ae60;">__GNUC__</span>
0533 <span style="color:#27ae60;">__linux__</span>
0534 
0535 <span style="color:#7a7c7d;">// Digraphs (see bug #411508)</span>
0536 <span style="color:#27ae60;">%:include </span><span style="color:#27ae60;">&lt;stdio.h&gt;</span>
0537 <span style="color:#2980b9;">int</span> main<span style="color:#3f8058;">()</span>
0538 <span style="color:#3f8058;">&lt;%</span>
0539     <span style="color:#3f8058;">[](){%&gt;()</span><span style="color:#3f8058;">;</span>
0540 <span style="color:#3f8058;">}</span>
0541 <span style="color:#3f8058;">&lt;:&lt;:</span><span style="color:#2980b9;font-style:italic;">fallthrough</span><span style="color:#3f8058;">]]</span>
0542 
0543 <span style="color:#7a7c7d;">/**</span>
0544 <span style="color:#7a7c7d;"> * multi-line comment</span>
0545 <span style="color:#7a7c7d;"> */</span>
0546 
0547 <span style="color:#7a7c7d;">/* comment */</span>
0548 <span style="color:#3f8058;">{</span> <span style="color:#3f8058;">{</span> <span style="color:#3f8058;">}</span> <span style="color:#3f8058;">{</span>
0549 <span style="color:#2980b9;background-color:#153042;">//BEGIN</span>
0550 <span style="color:#3f8058;">}</span>
0551 <span style="color:#2980b9;background-color:#153042;">//END</span>
0552 <span style="color:#3f8058;">}</span>
0553 
0554 <span style="color:#27ae60;">#if 0</span>
0555 <span style="color:#27ae60;">#elif 1</span>
0556 <span style="color:#27ae60;">#else</span>
0557 <span style="color:#27ae60;">#endif</span>
0558 
0559 <span style="color:#27ae60;">#if 1</span>
0560 <span style="color:#2980b9;">int</span> x<span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// variable shall not be grey</span>
0561 <span style="color:#27ae60;">#endif</span>
0562 <span style="color:#27ae60;">#if defined (A)</span>
0563 <span style="color:#2980b9;">int</span> y<span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// variable shall not be grey</span>
0564 <span style="color:#27ae60;">#elif defined (B)</span>
0565 <span style="color:#2980b9;">int</span> z<span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// variable shall not be grey</span>
0566 <span style="color:#27ae60;">#endif</span>
0567 
0568 <span style="color:#7a7c7d;">/*!</span>
0569 <span style="color:#7a7c7d;"> * formula </span><span style="color:#3f8058;font-weight:bold;">@f$</span><span style="color:#00a000;font-style:italic;">a+b</span><span style="color:#3f8058;font-weight:bold;">@f$</span><span style="color:#7a7c7d;"> inside a block comment</span>
0570 <span style="color:#7a7c7d;"> */</span>
0571 
0572 <span style="color:#7a7c7d;">//! formula </span><span style="color:#3f8058;font-weight:bold;">@f$</span><span style="color:#00a000;font-style:italic;">a+b</span><span style="color:#3f8058;font-weight:bold;">@f$</span><span style="color:#7a7c7d;"> inside a inline comment</span>
0573 <span style="color:#7a7c7d;">// formula @f$a+b@f$ inside a normal comment</span>
0574 
0575 <span style="color:#7a7c7d;">/// </span><span style="color:#3f8058;font-weight:bold;">\b</span><span style="color:#7a7c7d;"> </span><span style="color:#7f8c8d;font-weight:bold;">sa</span>
0576 </pre></body></html>