@head_comment@
#!if attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[@attribute@]]}}}}}}]]{{{ }}}#!if attribute_lnk != null
[[C++/문법/특성#@attribute_lnk@|{{{#a8a8a8 {{{[[@attribute_lnk@]]}}}}}}]]{{{ }}}#!if head_keyword != null
##======================================= include and import
'''{{{#569cd6 {{{@head_keyword@}}}}}}'''#!if import != null
'''{{{#569cd6 {{{import}}}}}}'''{{{#c8865e {{{ <@import@>}}}}}}{{{;}}}#!if include != null
{{{#include @include@}}}#!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)) || 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_p0 != null || template_concept0_v0 != null || template_concept0_last_label != null
{{{<}}}{{{#!if template_concept0_p0 != null
{{{#4ec9b0,#6fdbba {{{@template_concept0_p0@}}}}}}}}}{{{#!if template_concept0_v0 != null
{{{#ffffff {{{@template_concept0_v0@}}}}}}}}}{{{#!if template_concept0_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{@template_concept0_p1@}}}}}}}}}{{{#!if template_concept0_v1 != null
{{{, }}}{{{#ffffff {{{@template_concept0_v1@}}}}}}}}}{{{#!if template_concept0_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{@template_concept0_p2@}}}}}}}}}{{{#!if template_concept0_v2 != null
{{{, }}}{{{#ffffff {{{@template_concept0_v2@}}}}}}}}}{{{#!if template_concept0_last_label != null
{{{@template_concept0_last_label@}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p0 != null
{{{#!if !template_concept0_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p0_post != null
{{{@template_p0_post@}}}}}}{{{#4ec9b0,#6fdbba {{{@template_p0@}}}}}}}}}{{{#!if template_v0 != null
{{{#4ec9b0,#6fdbba {{{@template_v0_ty@}}}}}}{{{#!if template_p0_post != null
{{{@template_p0_post@}}}}}}{{{#ffffff '''{{{@template_v0@}}}'''}}}}}}{{{#!if template_p1 != null || template_v1 != null
##======================================= template parameter 1
{{{, }}}}}}{{{#!if template_concept1_available = (template_cpt1 != null)
'''{{{#4ec9b0,#6fdbba {{{@template_cpt1@}}}}}}'''{{{#!if template_concept1_p0 != null || template_concept1_v0 != null || template_concept1_last_label != null
{{{<}}}{{{#!if template_concept1_p0 != null
{{{#4ec9b0,#6fdbba {{{@template_concept1_p0@}}}}}}}}}{{{#!if template_concept1_v0 != null
{{{#ffffff {{{@template_concept1_v0@}}}}}}}}}{{{#!if template_concept1_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{@template_concept1_p1@}}}}}}}}}{{{#!if template_concept1_v1 != null
{{{, }}}{{{#ffffff {{{@template_concept1_v1@}}}}}}}}}{{{#!if template_concept1_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{@template_concept1_p2@}}}}}}}}}{{{#!if template_concept1_v2 != null
{{{, }}}{{{#ffffff {{{@template_concept1_v2@}}}}}}}}}{{{#!if template_concept1_last_label != null
{{{@template_concept1_last_label@}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p1 != null
{{{#!if !template_concept1_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p1_post != null
{{{@template_p1_post@}}}}}}{{{#4ec9b0,#6fdbba {{{@template_p1@}}}}}}}}}{{{#!if template_v1 != null
{{{#4ec9b0,#6fdbba {{{@template_v1_ty@}}}}}}{{{#!if template_p1_post != null
{{{@template_p1_post@}}}}}}{{{#ffffff '''{{{@template_v1@}}}'''}}}}}}{{{#!if template_p2 != null || template_v2 != null
##======================================= template parameter 2
{{{, }}}}}}{{{#!if template_concept2_available = (template_cpt2 != null)
'''{{{#4ec9b0,#6fdbba {{{@template_cpt2@}}}}}}'''{{{#!if template_concept2_p0 != null || template_concept2_v0 != null || template_concept2_last_label != null
{{{<}}}{{{#!if template_concept2_p0 != null
{{{#4ec9b0,#6fdbba {{{@template_concept2_p0@}}}}}}}}}{{{#!if template_concept2_v0 != null
{{{#ffffff {{{@template_concept2_v0@}}}}}}}}}{{{#!if template_concept2_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{@template_concept2_p1@}}}}}}}}}{{{#!if template_concept2_v1 != null
{{{, }}}{{{#ffffff {{{@template_concept2_v1@}}}}}}}}}{{{#!if template_concept2_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{@template_concept2_p2@}}}}}}}}}{{{#!if template_concept2_v2 != null
{{{, }}}{{{#ffffff {{{@template_concept2_v2@}}}}}}}}}{{{#!if template_concept2_last_label != null
{{{@template_concept2_last_label@}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p2 != null
{{{#!if !template_concept2_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p2_post != null
{{{@template_p2_post@}}}}}}{{{#4ec9b0,#6fdbba {{{@template_p2@}}}}}}}}}{{{#!if template_v2 != null
{{{#4ec9b0,#6fdbba {{{@template_v2_ty@}}}}}}{{{#!if template_p2_post != null
{{{@template_p2_post@}}}}}}{{{#ffffff '''{{{@template_v2@}}}'''}}}}}}{{{#!if template_last_label == null
{{{>}}}}}}{{{#!if template_last_label != null
##======================================= template parameters end
{{{@template_last_label@>}}}}}}#!if pre_available = (kw1 != null || kw1_post != null || kw2 != null || kw2_post != null || cls_attribute != null || cls_attribute_lnk != null || ns_end != null || pre1_t != null || pre2_t != null || pre_e != null)
#!if body_available = (body_number != null || body_string != null || body_v != null || body_gv != null || body_f != null || body_mv != null || body_mf != null || body_static_mv != null || body_static_mf != null || body_post != null)
#!if head_keyword != null && (pre_available || body_available || ns != null || ns1 != null)
{{{ }}}#!if fn_attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[@fn_attribute@]]}}}}}}]]{{{ }}}#!if fn_attribute_lnk != null
[[C++/문법/특성#@fn_attribute_lnk@|{{{#a8a8a8 {{{[[@fn_attribute_lnk@]]}}}}}}]]{{{ }}}#!if kw1 != null
'''{{{#CornFlowerBlue {{{@kw1=contexpr@}}}}}}'''{{{#!if kw1_post != null
{{{@kw1_post@}}}}}}{{{#!if kw1_post == null && kw2 != null
{{{ }}}}}}#!if kw2 != null
'''{{{#CornFlowerBlue {{{@kw2=long long@}}}}}}'''{{{#!if kw2_post != null
{{{@kw2_post=&&@}}}}}}{{{#!if kw2_post == null && (cls_attribute != null || cls_attribute_lnk != null)
{{{ }}}}}}#!if cls_attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[@cls_attribute@]]}}}}}}]]#!if cls_attribute_lnk != null
[[C++/문법/특성#@cls_attribute_lnk@|{{{#a8a8a8 {{{[[@cls_attribute_lnk@]]}}}}}}]]#!if head_keyword != null && (cls_attribute != null || cls_attribute_lnk != null)
{{{ }}}#!if ns != null
'''{{{#58fafe {{{@ns@}}}}}}'''#!if ns1 != null
'''{{{#58fafe {{{@ns1=std@}}}}}}'''#!if ns2 != null
{{{::}}}'''{{{#58fafe {{{@ns2=chrono@}}}}}}'''#!if ns3 != null
{{{::}}}'''{{{#58fafe {{{@ns3=chrono_literals@}}}}}}'''#!if ns1 != null && ns_end == null
{{{::}}}#!if ns1 != null && ns_end != null
{{{@ns_end@}}}#!if pre1_t != null
{{{#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
##======================================= body begin
{{{@pre_post@}}}#!if body_available && pre_available
{{{ }}}#!if body_number != null
{{{#b5cea8 {{{@body_number@}}}}}}#!if body_string != null
{{{#c8865e {{{@body_string@}}}}}}#!if body_v != null
{{{#a9a9b0,#a1a1a2 {{{@body_v@}}}}}}#!if body_gv != null
{{{#ffa3d2 {{{@body_gv@}}}}}}#!if body_mv != null
{{{#ffffff {{{@body_mv@}}}}}}#!if body_f != null
{{{#f87a7a {{{@body_f@}}}}}}#!if body_mf != null
{{{#f0a962 {{{@body_mf@}}}}}}#!if body_static_mv != null
{{{#ffffff '''{{{@body_static_mv@}}}'''}}}#!if body_static_mf != null
{{{#f0a962 '''{{{@body_static_mf@}}}'''}}}#!if body_post != null
{{{@body_post@}}}#!if body_tmpopen != null
{{{<}}}#!if body_bopen != null
##======================================= arguments begin
{{{(}}}#!if arg1_pre_available = (arg1_concept != null || arg1_kw != null || arg1_t_kw != null || arg1_t != null)
#!if arg2_pre_available = (arg2_concept != null || arg2_kw != null || arg2_t_kw != null || arg2_t != null)
#!if arg3_pre_available = (arg3_concept != null || arg3_kw != null || arg3_t_kw != null || arg3_t != null)
#!if arg4_pre_available = (arg4_concept != null || arg4_kw != null || arg4_t_kw != null || arg4_t != null)
#!if arg1_concept != null
##======================================= argument 1
'''{{{#4ec9b0,#6fdbba {{{@arg1_concept@}}}}}}'''{{{#!if arg1_concept_tparam1 != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{@arg1_concept_tparam1@}}}}}}{{{#!if arg1_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, @arg1_concept_tparam2@}}}}}}}}}{{{#!if arg1_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, @arg1_concept_tparam3@}}}}}}}}}{{{>}}}}}}{{{ }}}#!if arg1_kw != null
'''{{{#569cd6 {{{@arg1_kw=const@}}}}}}'''#!if arg1_t_kw!=null
{{{#!if arg1_kw != null
{{{ }}}}}}'''{{{#CornFlowerBlue {{{@arg1_t_kw=int@}}}}}}'''#!if arg1_t!=null
{{{#!if arg1_kw != null || arg1_t_kw != null
{{{ }}}}}}{{{#4ec9b0,#6fdbba {{{@arg1_t@}}}}}}#!if arg1_t_post!=null
{{{@arg1_t_post@}}}#!if arg1_param != null
{{{#!if !arg1_pre_available
{{{#bcdce6 {{{@arg1_param@}}}}}}}}}{{{#!if arg1_pre_available
{{{#bcdce6 {{{ @arg1_param@}}}}}}}}}#!if (arg1_pre_available || arg1_param != null) && (arg2_pre_available || arg2_param != null)
{{{, }}}#!if arg2_concept!=null
##======================================= argument 2
'''{{{#4ec9b0,#6fdbba {{{@arg2_concept@}}}}}}'''{{{#!if arg2_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{@arg2_concept_tparam1@}}}}}}{{{#!if ar2_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, @arg2_concept_tparam2@}}}}}}}}}{{{#!if arg2_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, @arg2_concept_tparam3@}}}}}}}}}{{{>}}}}}}{{{ }}}#!if arg2_kw != null
'''{{{#569cd6 {{{@arg2_kw=const@}}}}}}'''#!if arg2_t_kw!=null
{{{#!if arg2_kw != null
{{{ }}}}}}'''{{{#CornFlowerBlue {{{@arg2_t_kw=int@}}}}}}'''#!if arg2_t!=null
{{{#!if arg2_kw != null || arg2_t_kw != null
{{{ }}}}}}{{{#4ec9b0,#6fdbba {{{@arg2_t@}}}}}}#!if arg2_t_post!=null
{{{@arg2_t_post@}}}#!if arg2_param != null
{{{#!if !arg2_pre_available
{{{#bcdce6 {{{@arg2_param@}}}}}}}}}{{{#!if arg2_pre_available
{{{#bcdce6 {{{ @arg2_param@}}}}}}}}}#!if (arg2_pre_available || arg2_param != null) && (arg3_pre_available || arg3_param != null)
{{{, }}}#!if arg3_concept!=null
##======================================= argument 3
'''{{{#4ec9b0,#6fdbba {{{@arg3_concept@}}}}}}'''{{{#!if arg3_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{@arg3_concept_tparam1@}}}}}}{{{#!if arg3_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, @arg3_concept_tparam2@}}}}}}}}}{{{#!if arg3_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, @arg3_concept_tparam3@}}}}}}}}}{{{>}}}}}}{{{ }}}#!if arg3_kw != null
'''{{{#569cd6 {{{@arg3_kw=const@}}}}}}'''#!if arg3_t_kw!=null
{{{#!if arg3_kw != null
{{{ }}}}}}'''{{{#CornFlowerBlue {{{@arg3_t_kw=int@}}}}}}'''#!if arg3_t!=null
{{{#!if arg3_kw != null || arg3_t_kw != null
{{{ }}}}}}{{{#4ec9b0,#6fdbba {{{@arg3_t@}}}}}}#!if arg3_t_post!=null
{{{@arg3_t_post@}}}#!if arg3_param != null
{{{#!if !arg3_pre_available
{{{#bcdce6 {{{@arg3_param@}}}}}}}}}{{{#!if arg3_pre_available
{{{#bcdce6 {{{ @arg3_param@}}}}}}}}}#!if (arg3_pre_available || arg3_param != null) && (arg4_pre_available || arg4_param != null)
{{{, }}}#!if arg4_concept!=null
##======================================= argument4
'''{{{#4ec9b0,#6fdbba {{{@arg4_concept@}}}}}}'''{{{#!if arg4_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{@arg4_concept_tparam1@}}}}}}{{{#!if arg4_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, @arg4_concept_tparam2@}}}}}}}}}{{{#!if arg4_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, @arg4_concept_tparam3@}}}}}}}}}{{{>}}}}}}{{{ }}}#!if arg4_kw != null
{{{#!if arg4_kw != null
{{{ }}}}}}'''{{{#569cd6 {{{@arg4_kw=const@}}}}}}'''#!if arg4_t_kw!=null
'''{{{#CornFlowerBlue {{{@arg4_t_kw=int@}}}}}}'''#!if arg4_t!=null
{{{#!if arg4_kw != null || arg4_t_kw != null
{{{ }}}}}}{{{#4ec9b0,#6fdbba {{{@arg4_t@}}}}}}#!if arg4_t_post!=null
{{{@arg4_t_post@}}}#!if arg4_param != null
{{{#!if !arg4_pre_available
{{{#bcdce6 {{{@arg4_param@}}}}}}}}}{{{#!if arg4_pre_available
{{{#bcdce6 {{{ @arg4_param@}}}}}}}}}#!if arg5_param != null
##======================================= argument5, argument6
{{{#bcdce6 {{{, @arg5_param@}}}}}}#!if arg6_param != null
{{{#bcdce6 {{{, @arg6_param@}}}}}}#!if arg_last_dots != null
{{{, ...}}}#!if body_bopen != null
##======================================= arguments end
##======================================= body end
##======================================= specifiers begin
{{{#!if body_spec1 != null
{{{) }}}}}}{{{#!if body_spec1 == null
{{{)}}}}}}#!if body_spec1 != null
'''{{{#569cd6 {{{@body_spec1=const@}}}}}}'''#!if body_spec_assign != null
{{{ = }}}'''{{{#569cd6 {{{@body_spec_assign=default@}}}}}}'''#!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
{{{ }}}}}}'''{{{#569cd6 {{{@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 label_last != null
##======================================= specifiers end
{{{@label_last@}}}#!if body_tmpopen != null
##======================================= footer
{{{>}}}#!if last != null
{{{@last@}}}1. 개요
현재 C++에서 사용가능한 모듈들을 일관적으로 표현하기 위한 템플릿 틀입니다.2. 사용법
| 문법 | [include(틀: C++11 요소), )] |
includeimport
fn_attribute: 특성 문서에 별도로 분류가 되어있지 않은 특성의 이름을 입력합니다.fn_attribute_lnk: C++/문법/특성#fn_attribute_lnk로 이용할 수 있는 특성의 이름을 입력합니다.
head_keyword
kw1: 요소 맨 앞에 붙는 키워드를 입력합니다. 보통static,constexpr,class, 또는 원시자료형을 입력합니다.kw1_post:kw1뒤에 붙는 첨자를 입력합니다.kw2: 그 다음으로 따라오는 키워드를 입력합니다. 보통constexpr,inline, 또는 원시자료형을 입력합니다.kw2_post:kw2뒤에 붙는 첨자를 입력합니다.
cls_attribute: 만약 현재 쓰려는 요소가 클래스이면 특성을 추가할 때 사용할 수 있습니다. 특성 문서에 별도로 분류가 되어있지 않은 특성의 이름을 입력합니다.cls_attribute_lnk: 만약 현재 쓰려는 요소가 클래스이면 특성을 추가할 때 사용할 수 있습니다. C++/문법/특성#fn_attribute_lnk로 이용할 수 있는 특성의 이름을 입력합니다.
ns1: 이름공간의 이름을 입력합니다.ns2: 하위 이름공간의 이름을 입력합니다. 자동으로 앞에::가 붙습니다.
ns1가 입력되었다면 이후 자동으로 ::가 붙습니다.pre1_t:pre2_t:pre_e:pre_post:
pre_lnb: 아무 문자열을 입력하면 개행합니다.
body_v: 요소가 변수일 경우 이름을 입력합니다.body_f: 요소가 함수일 경우 이름을 입력합니다.body_mf: 요소가 어느 클래스의 멤버 함수일 경우 이름을 입력합니다.body_post: 요소의 이름 뒤에 붙는 첨자입니다.
arg1, arg2, arg3, arg4에 대하여 매개변수를 작성할 수 있습니다.arg1_concept: 첫 번째 매개변수에 사용된 개념을 입력합니다.arg1_concept_params: 아무 문자열을 입력하면 하단의tparam을 감싸는 꺽쇠 괄호(<>)를 추가합니다.arg1_concept_tparam1: 개념 내부의 첫 번째 템플릿 매개변수입니다.arg1_concept_tparam2: 개념 내부의 두 번째 템플릿 매개변수입니다.arg1_concept_tparam3: 개념 내부의 세 번째 템플릿 매개변수입니다.arg1_kw: 첫 번째 매개변수의 맨 앞에 붙은 키워드입니다. 보통const,volatile을 입력합니다.arg1_t_kw: 원시자료형을 표현하기 위한 첫 번째 매개변수의 자료형입니다.외양은arg1_kw와는 차이가 없습니다.arg1_t: 첫 번째 매개변수의 자료형입니다. 만약 자료형이int,float같은 원시자료형이라면arg1_t_kw을 사용하는 것이 보기 좋습니다.arg1_t_post: 첫 번째 매개변수의 자료형 뒤에 붙은 첨자입니다. 보통*,&,&&을 입력합니다.arg1_param: 첫 번째 매개변수의 식별자입니다.
arg5_param: 다섯 번째 매개변수의 식별자입니다.arg6_param: 여섯 번째 매개변수의 식별자입니다.arg_last_dots: 아무 문자열을 입력하면 마지막 매개변수 뒤에, ...을 붙입니다.
body_bclose: 아무 문자열을 입력하면 닫는 괄호())를 추가합니다.
body_lnb: 아무 문자열을 입력하면 개행합니다.
body_spec1: 함수의 명세를 지정합니다. 보통const혹은noexcept를 입력합니다.body_spec1_ref: 한정자를 지정합니다. 첫번째 함수 명세가const,volatile따위의 공변성 한정자라면&,&&를 입력합니다.body_spec1_parenbody_spec2: 참조 한정자 뒤에 붙은 함수의 명세를 지정합니다. 보통noexcept를 입력합니다. 그러나 굳이 함수의 한정자가 필요없다면 전부body_spec1에 입력할 수 있습니다.body_spec2_parenbody_spec2_label
label_last: 모든 내용 마지막에 붙는 라벨입니다.last: 모든 내용 마지막에 붙는 첨자입니다. 보통;을 입력합니다.
body_tmpclose: 아무 문자열을 입력하면 닫는 꺽쇠 괄호(>)를 추가합니다.