File indexing completed on 2024-05-12 04:02:06

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