#!if head_comment!=null
{{{#57A64A,#5EBD46 @head_comment@}}}
#!if head_lnb!=null
##======================================= include and import
[br]
#!if import!=null
'''{{{#DodgerBlue,#CornFlowerBlue {{{import }}}}}}'''{{{#C8865E {{{<@import@>}}}}}}{{{;}}}
#!if include!=null
##======================================= the keyword at head (can be `template`)
{{{#include <@include@>}}}
#!if (head_keyword_available = head_keyword != null)
##======================================= template parameters begin
'''{{{#DodgerBlue,#CornFlowerBlue {{{@head_keyword@}}}}}}'''
#!if template_available = (template_p0 != null || template_v0 != null || template_p1 != null || template_v1 != null || template_p2 != null || template_v2 != null || template_p3 != null || template_v3 != null)
#!if template_available || template_last_label != null
##======================================= template parameter 0
##======================================= template parameter 0 concept
{{{<}}}{{{#!if template_concept0_available = (template_cpt0 != null)
'''{{{#4ec9b0,#6fdbba {{{@template_cpt0@ }}}}}}'''}}}{{{#!if template_concept0_params_available = (template_concept0_p0 != null || template_concept0_p1 != null || template_concept0_p2 != null || template_concept0_p3 != null)
{{{#!if template_concept0_params_available || template_concept0_last_label != null
{{{<}}}}}}{{{#!if template_concept0_params_available
##======================================= template parameter 0 concept's parameters (type or value)
{{{#4ec9b0,#6fdbba {{{@template_concept0_p0@}}}}}}'''{{{#ffffff {{{@template_concept0_v0@}}}}}}'''{{{#!if (template_concept0_p0 != null || template_concept0_v0 != null) && (template_concept0_p1 != null || template_concept0_v1 != null)
{{{, }}}}}}{{{#4ec9b0,#6fdbba {{{@template_concept0_p1@}}}}}}'''{{{#ffffff {{{@template_concept0_v1@}}}}}}'''{{{#!if (template_concept0_p1 != null || template_concept0_v1 != null) && (template_concept0_p2 != null || template_concept0_v2 != null)
{{{, }}}}}}{{{#4ec9b0,#6fdbba {{{@template_concept0_p2@}}}}}}'''{{{#ffffff {{{@template_concept0_v2@}}}}}}'''{{{#!if (template_concept0_p2 != null || template_concept0_v2 != null) && (template_concept0_p3 != null || template_concept0_v3 != null)
{{{, }}}}}}{{{#4ec9b0,#6fdbba {{{@template_concept0_p3@}}}}}}'''{{{#ffffff {{{@template_concept0_v3@}}}}}}'''{{{#!if template_concept0_last_label != null
{{{@template_concept0_last_label=,...@}}}}}}}}}{{{#!if template_concept0_params_available || template_concept0_last_label != null
{{{>}}}}}}}}}{{{#!if template_concept0_available
{{{ }}}}}}{{{#!if template_p0_available = (template_p0 != null)
{{{#!if !template_concept0_available
##======================================= template parameter 0 contents
'''{{{#569cd6,#CornFlowerBlue {{{typename}}}}}}'''}}}{{{@template_p0_post@}}}{{{#4ec9b0,#6fdbba {{{ @template_p0@}}}}}}
}}}{{{#!if template_v0_available = (template_v0 != null)
{{{#4ec9b0,#6fdbba {{{@template_v0_ty@}}}}}}{{{@template_p0_post@}}}{{{#ffffff '''{{{ @template_v0@}}}'''}}}
##======================================= template parameter 0 finished
}}}{{{#!if (template_p0_available || template_v0_available) && (template_p1 != null || template_v1 != null)
##======================================= template parameter 1
{{{, }}}}}}{{{#!if template_concept1_available = (template_cpt1 != null)
'''{{{#4ec9b0,#6fdbba {{{@template_cpt1@ }}}}}}'''}}}{{{#!if template_concept1_params_available = (template_concept1_p0 != null || template_concept1_p1 != null || template_concept1_p2 != null || template_concept1_p3 != null)
{{{#!if template_concept1_params_available || template_concept1_last_label != null
{{{<}}}}}}{{{#!if template_concept1_params_available
##======================================= template parameter 1 concept's parameters (type or value)
{{{#4ec9b0,#6fdbba {{{@template_concept1_p0@}}}}}}'''{{{#ffffff {{{@template_concept1_v0@}}}}}}'''{{{#!if (template_concept1_p0 != null || template_concept1_v0 != null) && (template_concept1_p1 != null || template_concept1_v1 != null)
{{{, }}}}}}{{{#4ec9b0,#6fdbba {{{@template_concept1_p1@}}}}}}'''{{{#ffffff {{{@template_concept1_v1@}}}}}}'''{{{#!if (template_concept1_p1 != null || template_concept1_v1 != null) && (template_concept1_p2 != null || template_concept1_v2 != null)
{{{, }}}}}}{{{#4ec9b0,#6fdbba {{{@template_concept1_p2@}}}}}}'''{{{#ffffff {{{@template_concept1_v2@}}}}}}'''{{{#!if (template_concept1_p2 != null || template_concept1_v2 != null) && (template_concept1_p3 != null || template_concept1_v3 != null)
{{{, }}}}}}{{{#4ec9b0,#6fdbba {{{@template_concept1_p3@}}}}}}'''{{{#ffffff {{{@template_concept1_v3@}}}}}}'''{{{#!if template_concept1_last_label != null
{{{@template_concept1_last_label=,...@}}}}}}}}}{{{#!if template_concept1_params_available || template_concept1_last_label != null
{{{>}}}}}}}}}{{{#!if template_concept1_available
{{{ }}}}}}{{{#!if template_p1_available = (template_p1 != null)
{{{#!if !template_concept1_available
##======================================= template parameter 1 contents
'''{{{#569cd6,#CornFlowerBlue {{{typename}}}}}}'''}}}{{{@template_p1_post@}}}{{{#4ec9b0,#6fdbba {{{ @template_p1@}}}}}}}}}{{{#!if template_v1_available = (template_v1 != null)
##======================================= template parameter 1 finished
{{{#4ec9b0,#6fdbba {{{@template_v1_ty@}}}}}}{{{@template_p1_post@}}}{{{#ffffff '''{{{ @template_v1@}}}'''}}}}}}{{{#!if (template_p1_available || template_v1_available) && (template_p2 != null || template_v2 != null)
##======================================= template parameter 2
{{{, }}}}}}{{{#!if template_concept2_available = (template_cpt1 != null)
'''{{{#4ec9b0,#6fdbba {{{@template_cpt1@ }}}}}}'''}}}{{{#!if template_concept2_params_available = (template_concept2_p0 != null || template_concept2_p1 != null || template_concept2_p2 != null || template_concept2_p3 != null)
{{{#!if template_concept2_params_available || template_concept2_last_label != null
{{{<}}}}}}{{{#!if template_concept2_params_available
##======================================= template parameter 2 concept's parameters (type or value)
{{{#4ec9b0,#6fdbba {{{@template_concept2_p0@}}}}}}'''{{{#ffffff {{{@template_concept2_v0@}}}}}}'''{{{#!if (template_concept2_p0 != null || template_concept2_v0 != null) && (template_concept2_p1 != null || template_concept2_v1 != null)
{{{, }}}}}}{{{#4ec9b0,#6fdbba {{{@template_concept2_p1@}}}}}}'''{{{#ffffff {{{@template_concept2_v1@}}}}}}'''{{{#!if (template_concept2_p1 != null || template_concept2_v1 != null) && (template_concept2_p2 != null || template_concept2_v2 != null)
{{{, }}}}}}{{{#4ec9b0,#6fdbba {{{@template_concept2_p2@}}}}}}'''{{{#ffffff {{{@template_concept2_v2@}}}}}}'''{{{#!if (template_concept2_p2 != null || template_concept2_v2 != null) && (template_concept2_p3 != null || template_concept2_v3 != null)
{{{, }}}}}}{{{#4ec9b0,#6fdbba {{{@template_concept2_p3@}}}}}}'''{{{#ffffff {{{@template_concept2_v3@}}}}}}'''{{{#!if template_concept2_last_label != null
{{{@template_concept2_last_label=,...@}}}}}}}}}{{{#!if template_concept2_params_available || template_concept2_last_label != null
{{{>}}}}}}}}}{{{#!if template_concept2_available
{{{ }}}}}}{{{#!if template_p2_available = (template_p2 != null)
{{{#!if !template_concept2_available
##======================================= template parameter 2 contents
'''{{{#569cd6,#CornFlowerBlue {{{typename}}}}}}'''}}}{{{@template_p2_post@}}}{{{#4ec9b0,#6fdbba {{{ @template_p2@}}}}}}
}}}{{{#!if template_v2_available = (template_v2 != null)
##======================================= template parameter 2 finished
{{{#4ec9b0,#6fdbba {{{@template_v2_ty@}}}}}}{{{@template_p2_post@}}}{{{#ffffff '''{{{ @template_v2@}}}'''}}}}}}{{{#!if template_available && template_last_label != null
##======================================= template finished
{{{, }}}}}}{{{#!if template_last_label != null
{{{@template_last_label=...@}}}}}}{{{#!if template_available || template_last_label != null
{{{>}}}}}}{{{#!if do_template_linebreak = (template_lnb != null)
##======================================= template linebreak
[br]}}}{{{#!if do_template_linebreak ;nbsp
}}}
#!if head_keyword_available!=null
{{{ }}}
#!if fn_attribute!=null
##======================================= contents
[[C++/문법/특성|{{{#a8a8a8 {{{[[@fn_attribute=attr1@]]}}}}}}]]
#!if fn_attribute_lnk!=null
[[C++/문법/특성#@fn_attribute_lnk=attr1@|{{{#a8a8a8 {{{[[@fn_attribute_lnk=attr1@]]}}}}}}]]
#!if fn_attribute_lnb!=null
[br]
#!if fn_attribute_lnb!=null ;nbsp
#!if kw1!=null
'''{{{#569cd6,#CornFlowerBlue {{{@kw1=contexpr@}}}}}}'''{{{#!if kw1_post!=null
{{{@kw1_post=_kwp1@}}}}}}{{{#!if kw1_post==null
{{{ }}}}}}
#!if kw2!=null
'''{{{#569cd6,#CornFlowerBlue {{{@kw2=long long@}}}}}}'''{{{#!if kw2post!=null
{{{@kw2_post=&&@}}}}}}{{{#!if kw2_post==null
{{{ }}}}}}
#!if cls_attribute!=null
[[C++/문법/특성|{{{#a8a8a8 {{{[[@cls_attribute=attr2@]]}}}}}}]]{{{ }}}
#!if cls_attribute_lnk!=null
[[C++/문법/특성#@cls_attribute_lnk=attr2@|{{{#a8a8a8 {{{[[@cls_attribute_lnk=attr2@]] }}}}}}]]
#!if ns1!=null
##======================================= namespaces
'''{{{#58fafe {{{@ns1=std@}}}}}}'''
#!if ns2!=null
{{{::}}}'''{{{#58fafe {{{@ns2=chrono@}}}}}}'''
#!if ns1!=null
{{{::}}}
#!if pre1_t!=null
##======================================= types at the front
{{{#4ec9b0,#6fdbba {{{@pre1_t=system_clock@ }}}}}}
#!if pre2_t!=null
{{{::}}}{{{#4ec9b0,#6fdbba {{{@pre2_t=duration@ }}}}}}
#!if pre_e!=null
{{{::}}}{{{#f0f068 {{{@pre_e=enum@ }}}}}}
#!if pre_post!=null
{{{@pre_post=_pre@}}}
#!if pre_lnb!=null
[br]
#!if do_pre_linebreak = (pre_lnb != null)
##======================================= pre-body things finished
#!if (!do_pre_linebreak && !do_template_linebreak && head_keyword_available) && (body_v != null || body_f != null || body_mv != null || body_mf != null || body_post != null)
{{{ }}}
#!if body_v!=null
##======================================= identifiers of variable and function
{{{#a8a8a8,#a1a1a1 {{{@body_v=val@}}}}}}
#!if body_mv!=null
{{{#ffffff {{{@body_mv=mem_val@}}}}}}
#!if body_f!=null
{{{#f87a7a {{{@body_f=fun@}}}}}}
#!if body_mf!=null
{{{#f0a962 {{{@body_mf=mem_fn@}}}}}}
#!if body_post!=null
##======================================= argument 1
{{{@body_post@}}}
#!if body_tmpopen!=null
{{{<}}}
#!if body_bopen!=null
{{{(}}}
#!if arg1_concept!=null
'''{{{#4ec9b0,#6fdbba {{{@arg1_concept=concept1@}}}}}}'''{{{#!if arg1_concept_params!=null
{{{<}}}{{{#!if arg1_concept_tparam1!=null
{{{#4ec9b0,#6fdbba {{{@arg1_concept_tparam1=T1@}}}}}}}}}{{{#!if arg1_concept_tparam2!=null
{{{, }}}{{{#4ec9b0,#6fdbba {{{@arg1_concept_tparam2=T2@}}}}}}}}}{{{#!if arg1_concept_tparam3!=null
{{{, }}}{{{#4ec9b0,#6fdbba {{{@arg1_concept_tparam3=T3@}}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg1_kw!=null
'''{{{#569cd6,#CornFlowerBlue {{{@arg1_kw=const@ }}}}}}'''
#!if arg1_t_kw!=null
'''{{{#569cd6,#CornFlowerBlue {{{@arg1_t_kw=int@ }}}}}}'''
#!if arg1_t!=null
{{{#4ec9b0,#6fdbba {{{@arg1_t=type1@}}}}}}
#!if arg1_t_post!=null
{{{@arg1_t_post=&@}}}
#!if arg1_param != null && (arg1_kw != null || arg1_t_kw != null || arg1_t != null)
{{{ }}}
#!if arg1_param!=null
{{{#bcdce6 {{{@arg1_param=param1@}}}}}}
#!if arg2_concept != null || arg2_kw != null || arg2_t_kw != null || arg2_t != null || arg2_param != null
{{{, }}}
#!if arg2_concept!=null
##======================================= argument 2
'''{{{#4ec9b0,#6fdbba {{{@arg2_concept=concept2@}}}}}}'''{{{#!if arg2_concept_params!=null
{{{<}}}{{{#!if arg2_concept_tparam1!=null
{{{#4ec9b0,#6fdbba {{{@arg2_concept_tparam1=T1@}}}}}}}}}{{{#!if arg2_concept_tparam2!=null
{{{, }}}{{{#4ec9b0,#6fdbba {{{@arg2_concept_tparam2=T2@}}}}}}}}}{{{#!if arg2_concept_tparam3!=null
{{{, }}}{{{#4ec9b0,#6fdbba {{{@arg2_concept_tparam3=T3@}}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg2_kw!=null
'''{{{#569cd6,#CornFlowerBlue {{{@arg2_kw=const@ }}}}}}'''
#!if arg2_t_kw!=null
'''{{{#569cd6,#CornFlowerBlue {{{@arg2_t_kw=int@ }}}}}}'''
#!if arg2_t!=null
{{{#4ec9b0,#6fdbba {{{@arg2_t=type2@}}}}}}
#!if arg2_t_post!=null
{{{@arg2_t_post=&@}}}
#!if arg2_param!=null && (arg2_kw != null || arg2_t_kw != null || arg2_t != null)
{{{ }}}
#!if arg2_param!=null
{{{#bcdce6 {{{@arg2_param=param2@}}}}}}
#!if arg3_concept != null || arg3_kw != null || arg3_t_kw != null || arg3_t != null || arg3_param != null
{{{, }}}
#!if arg3_concept!=null
##======================================= argument 3
'''{{{#4ec9b0,#6fdbba {{{@arg3_concept=concept3@}}}}}}'''{{{#!if arg3_concept_params!=null
{{{<}}}{{{#!if arg3_concept_tparam1!=null
{{{#4ec9b0,#6fdbba {{{@arg3_concept_tparam1=T1@}}}}}}}}}{{{#!if arg3_concept_tparam2!=null
{{{, }}}{{{#4ec9b0,#6fdbba {{{@arg3_concept_tparam2=T2@}}}}}}}}}{{{#!if arg3_concept_tparam3!=null
{{{, }}}{{{#4ec9b0,#6fdbba {{{@arg3_concept_tparam3=T3@}}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg3_kw!=null
'''{{{#569cd6,#CornFlowerBlue {{{@arg3_kw=const@ }}}}}}'''
#!if arg3_t_kw!=null
'''{{{#569cd6,#CornFlowerBlue {{{@arg3_t_kw=int@ }}}}}}'''
#!if arg3_t!=null
{{{#4ec9b0,#6fdbba {{{@arg3_t=type3@}}}}}}
#!if arg3_t_post!=null
{{{@arg3_t_post=&@}}}
#!if arg3_param!=null && (arg3_kw != null || arg3_t_kw != null || arg3_t != null)
{{{ }}}
#!if arg3_param!=null
{{{#bcdce6 {{{@arg3_param=param3@}}}}}}
#!if arg4_concept != null || arg4_kw != null || arg4_t_kw != null || arg4_t != null || arg4_param != null
{{{, }}}
#!if arg4_concept!=null
##======================================= argument4
'''{{{#4ec9b0,#6fdbba {{{@arg4_concept=concept3@}}}}}}'''{{{#!if arg4_concept_params!=null
{{{<}}}{{{#!if arg4_concept_tparam1!=null
{{{#4ec9b0,#6fdbba {{{@arg4_concept_tparam1=T1@}}}}}}}}}{{{#!if arg4_concept_tparam2!=null
{{{, }}}{{{#4ec9b0,#6fdbba {{{@arg4_concept_tparam4=T2@}}}}}}}}}{{{#!if arg4_concept_tparam4!=null
{{{, }}}{{{#4ec9b0,#6fdbba {{{@arg4_concept_tparam4=T3@}}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg4_kw!=null
'''{{{#569cd6,#CornFlowerBlue {{{@arg4_kw=const@ }}}}}}'''
#!if arg4_t_kw!=null
'''{{{#569cd6,#CornFlowerBlue {{{@arg4_t_kw=int@ }}}}}}'''
#!if arg4_t!=null
{{{#4ec9b0,#6fdbba {{{@arg4_t=type4@}}}}}}
#!if arg4_t_post!=null
{{{@arg4_t_post=&@}}}
#!if arg4_param!=null && (arg4_kw != null || arg4_t_kw != null || arg4_t != null)
{{{ }}}
#!if arg4_param!=null
{{{#bcdce6 {{{@arg4_param=param4@}}}}}}
#!if arg5_param!=null
##======================================= argument5, argument6
{{{, }}}{{{#bcdce6 {{{@arg5_param=param5@}}}}}}
#!if arg6_param != null
{{{, }}}{{{#bcdce6 {{{@arg6_param=param5@}}}}}}
#!if arg_last_dots != null
{{{, ...}}}
#!if body_bclose!=null
##=======================================
{{{)}}}
#!if body_lnb!=null
[br]
#!if body_lnb!=null
{{{ }}}
#!if body_spec1!=null
'''{{{#DodgerBlue,#CornFlowerBlue {{{ @body_spec1=const@}}}}}}'''
#!if body_spec1_paren != null
{{{(}}}
#!if body_spec1_ref!=null
{{{@body_spec1_ref=&@}}}
#!if body_spec2!=null
{{{#!if body_spec1!=null && body_spec1_paren == null
{{{ }}}}}}'''{{{#DodgerBlue,#CornFlowerBlue {{{@body_spec2=noexcept@}}}}}}'''
#!if body_spec2_paren != null
{{{(}}}
#!if body_spec2_label != null
{{{@body_spec2_label=...@}}}
#!if body_spec2_paren != null
{{{)}}}
#!if body_spec1_paren != null
{{{)}}}
#!if body_tmpclose!=null
##======================================= last labels
{{{>}}}
#!if label_last!=null
{{{@label_last@}}}
#!if last!=null
{{{@last=;@}}}