나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2025-10-26 20:53:25

C++/표준 라이브러리/optional


파일:관련 문서 아이콘.svg   관련 문서: C++
#!if 문서명2 != null
, [[라이브러리]]
#!if 문서명3 != null
, [[]]
#!if 문서명4 != null
, [[]]
#!if 문서명5 != null
, [[]]
#!if 문서명6 != null
, [[]]

파일:상위 문서 아이콘.svg   상위 문서: C++/표준 라이브러리
1. 개요2. 포함된 기능3. 설명4. 참고 사항5. 외부 링크6. 둘러보기


1. 개요

||<-12><tablewidth=80%><tablebordercolor=#20b580><tablebgcolor=#090f0a,#050b09><tablecolor=#a8a8a8,#c1c1c1><rowcolor=#d7d7d7,#a1a1a1> <optional> ||
<bgcolor=#20b580>
#!if attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if head_keyword != null
##======================================= include and import
'''{{{#569cd6 {{{class}}}}}}'''
#!if import != null
'''{{{#569cd6 {{{import}}}}}}'''{{{#c8865e {{{ <>}}}}}}{{{;}}}
#!if include != null
{{{#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 {{{}}}}}}'''{{{#!if template_concept0_p0 != null || template_concept0_v0 != null || template_concept0_last_label != null
{{{<}}}{{{#!if template_concept0_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p0 != null
{{{#!if !template_concept0_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p0_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p0_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_p1 != null || template_v1 != null
##======================================= template parameter 1
{{{, }}}}}}{{{#!if template_concept1_available = (template_cpt1 != null)
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if template_concept1_p0 != null || template_concept1_v0 != null || template_concept1_last_label != null
{{{<}}}{{{#!if template_concept1_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p1 != null
{{{#!if !template_concept1_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p1_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v1 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p1_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_p2 != null || template_v2 != null
##======================================= template parameter 2
{{{, }}}}}}{{{#!if template_concept2_available = (template_cpt2 != null)
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if template_concept2_p0 != null || template_concept2_v0 != null || template_concept2_last_label != null
{{{<}}}{{{#!if template_concept2_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p2 != null
{{{#!if !template_concept2_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p2_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v2 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p2_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_last_label == null
{{{>}}}}}}{{{#!if template_last_label != null
##======================================= template parameters end
{{{>}}}}}}
#!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
{{{ }}}
#!if fn_attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if fn_attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if kw1 != null
'''{{{#CornFlowerBlue {{{contexpr}}}}}}'''{{{#!if kw1_post != null
{{{}}}}}}{{{#!if kw1_post == null && kw2 != null
{{{ }}}}}}
#!if kw2 != null
'''{{{#CornFlowerBlue {{{long long}}}}}}'''{{{#!if kw2_post != null
{{{&&}}}}}}{{{#!if kw2_post == null && (cls_attribute != null || cls_attribute_lnk != null)
{{{ }}}}}}
#!if cls_attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]
#!if cls_attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]
#!if head_keyword != null && (cls_attribute != null || cls_attribute_lnk != null)
{{{ }}}
#!if ns != null
'''{{{#58fafe {{{}}}}}}'''
#!if ns1 != null
'''{{{#58fafe {{{std}}}}}}'''
#!if ns2 != null
{{{::}}}'''{{{#58fafe {{{ext}}}}}}'''
#!if ns3 != null
{{{::}}}'''{{{#58fafe {{{chrono_literals}}}}}}'''
#!if ns1 != null && ns_end == null
{{{::}}}
#!if ns1 != null && ns_end != null
{{{}}}
#!if pre1_t != null
{{{#4ec9b0,#6fdbba {{{Class}}}}}}
#!if pre2_t != null
{{{::}}}{{{#4ec9b0,#6fdbba {{{duration}}}}}}
#!if pre_e != null
{{{::}}}{{{#f0f068 {{{enum}}}}}}
#!if pre_post != null
##======================================= body begin
{{{}}}
#!if body_available && pre_available
{{{ }}}
#!if body_number != null
{{{#b5cea8 {{{}}}}}}
#!if body_string != null
{{{#c8865e {{{}}}}}}
#!if body_v != null
{{{#a9a9b0,#a1a1a2 {{{}}}}}}
#!if body_gv != null
{{{#ffa3d2 {{{}}}}}}
#!if body_mv != null
{{{#ffffff {{{}}}}}}
#!if body_f != null
{{{#f87a7a {{{}}}}}}
#!if body_mf != null
{{{#f0a962 {{{}}}}}}
#!if body_static_mv != null
{{{#ffffff '''{{{}}}'''}}}
#!if body_static_mf != null
{{{#f0a962 '''{{{}}}'''}}}
#!if body_post != null
{{{}}}
#!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 {{{}}}}}}'''{{{#!if arg1_concept_tparam1 != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg1_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg1_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg1_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg2_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg1_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg1_t_post!=null
{{{}}}
#!if arg1_param != null
{{{#!if !arg1_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg1_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg1_pre_available || arg1_param != null) && (arg2_pre_available || arg2_param != null)
{{{, }}}
#!if arg2_concept!=null
##======================================= argument 2
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg2_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if ar2_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg2_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg2_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg2_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg2_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg2_t_post!=null
{{{}}}
#!if arg2_param != null
{{{#!if !arg2_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg2_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg2_pre_available || arg2_param != null) && (arg3_pre_available || arg3_param != null)
{{{, }}}
#!if arg3_concept!=null
##======================================= argument 3
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg3_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg3_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg3_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg3_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg3_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg3_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg3_t_post!=null
{{{}}}
#!if arg3_param != null
{{{#!if !arg3_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg3_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg3_pre_available || arg3_param != null) && (arg4_pre_available || arg4_param != null)
{{{, }}}
#!if arg4_concept!=null
##======================================= argument4
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg4_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg4_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg4_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg4_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg4_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg4_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg4_t_post!=null
{{{}}}
#!if arg4_param != null
{{{#!if !arg4_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg4_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if arg5_param != null
##======================================= argument5, argument6
{{{#bcdce6 {{{, }}}}}}
#!if arg6_param != null
{{{#bcdce6 {{{, }}}}}}
#!if arg_last_dots != null
{{{, ...}}}
#!if body_bopen != null
##======================================= arguments end
{{{#!if body_spec1 != null
{{{) }}}}}}{{{#!if body_spec1 == null
{{{)}}}}}}
#!if body_spec1 != null
##======================================= body end
##======================================= specifiers
'''{{{#569cd6 {{{const}}}}}}'''
#!if body_spec1_paren != null
{{{(}}}
#!if body_spec1_ref != null
{{{}}}
#!if body_spec2 != null
{{{#!if body_spec1 != null && body_spec1_paren == null
{{{ }}}}}}'''{{{#569cd6 {{{noexcept}}}}}}'''
#!if body_spec2_paren != null
{{{(}}}
#!if body_spec2_label != null
{{{}}}
#!if body_spec2_paren != null
{{{)}}}
#!if body_spec1_paren != null
{{{)}}}
#!if label_last != null
{{{}}}
#!if body_tmpopen != null
##======================================= footer
{{{>}}}
#!if last != null
{{{}}}


클래스 설명1.
<bgcolor=#20b580>
#!if attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if head_keyword != null
##======================================= include and import
'''{{{#569cd6 {{{}}}}}}'''
#!if import != null
'''{{{#569cd6 {{{import}}}}}}'''{{{#c8865e {{{ <>}}}}}}{{{;}}}
#!if include != null
{{{#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 {{{}}}}}}'''{{{#!if template_concept0_p0 != null || template_concept0_v0 != null || template_concept0_last_label != null
{{{<}}}{{{#!if template_concept0_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p0 != null
{{{#!if !template_concept0_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p0_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p0_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_p1 != null || template_v1 != null
##======================================= template parameter 1
{{{, }}}}}}{{{#!if template_concept1_available = (template_cpt1 != null)
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if template_concept1_p0 != null || template_concept1_v0 != null || template_concept1_last_label != null
{{{<}}}{{{#!if template_concept1_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p1 != null
{{{#!if !template_concept1_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p1_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v1 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p1_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_p2 != null || template_v2 != null
##======================================= template parameter 2
{{{, }}}}}}{{{#!if template_concept2_available = (template_cpt2 != null)
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if template_concept2_p0 != null || template_concept2_v0 != null || template_concept2_last_label != null
{{{<}}}{{{#!if template_concept2_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p2 != null
{{{#!if !template_concept2_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p2_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v2 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p2_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_last_label == null
{{{>}}}}}}{{{#!if template_last_label != null
##======================================= template parameters end
{{{>}}}}}}
#!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
{{{ }}}
#!if fn_attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if fn_attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if kw1 != null
'''{{{#CornFlowerBlue {{{void}}}}}}'''{{{#!if kw1_post != null
{{{}}}}}}{{{#!if kw1_post == null && kw2 != null
{{{ }}}}}}
#!if kw2 != null
'''{{{#CornFlowerBlue {{{long long}}}}}}'''{{{#!if kw2_post != null
{{{&&}}}}}}{{{#!if kw2_post == null && (cls_attribute != null || cls_attribute_lnk != null)
{{{ }}}}}}
#!if cls_attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]
#!if cls_attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]
#!if head_keyword != null && (cls_attribute != null || cls_attribute_lnk != null)
{{{ }}}
#!if ns != null
'''{{{#58fafe {{{}}}}}}'''
#!if ns1 != null
'''{{{#58fafe {{{std}}}}}}'''
#!if ns2 != null
{{{::}}}'''{{{#58fafe {{{chrono}}}}}}'''
#!if ns3 != null
{{{::}}}'''{{{#58fafe {{{chrono_literals}}}}}}'''
#!if ns1 != null && ns_end == null
{{{::}}}
#!if ns1 != null && ns_end != null
{{{}}}
#!if pre1_t != null
{{{#4ec9b0,#6fdbba {{{system_clock}}}}}}
#!if pre2_t != null
{{{::}}}{{{#4ec9b0,#6fdbba {{{duration}}}}}}
#!if pre_e != null
{{{::}}}{{{#f0f068 {{{enum}}}}}}
#!if pre_post != null
##======================================= body begin
{{{}}}
#!if body_available && pre_available
{{{ }}}
#!if body_number != null
{{{#b5cea8 {{{}}}}}}
#!if body_string != null
{{{#c8865e {{{}}}}}}
#!if body_v != null
{{{#a9a9b0,#a1a1a2 {{{}}}}}}
#!if body_gv != null
{{{#ffa3d2 {{{}}}}}}
#!if body_mv != null
{{{#ffffff {{{}}}}}}
#!if body_f != null
{{{#f87a7a {{{Function}}}}}}
#!if body_mf != null
{{{#f0a962 {{{}}}}}}
#!if body_static_mv != null
{{{#ffffff '''{{{}}}'''}}}
#!if body_static_mf != null
{{{#f0a962 '''{{{}}}'''}}}
#!if body_post != null
{{{}}}
#!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 {{{}}}}}}'''{{{#!if arg1_concept_tparam1 != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg1_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg1_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg1_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg2_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg1_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg1_t_post!=null
{{{}}}
#!if arg1_param != null
{{{#!if !arg1_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg1_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg1_pre_available || arg1_param != null) && (arg2_pre_available || arg2_param != null)
{{{, }}}
#!if arg2_concept!=null
##======================================= argument 2
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg2_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if ar2_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg2_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg2_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg2_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg2_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg2_t_post!=null
{{{}}}
#!if arg2_param != null
{{{#!if !arg2_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg2_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg2_pre_available || arg2_param != null) && (arg3_pre_available || arg3_param != null)
{{{, }}}
#!if arg3_concept!=null
##======================================= argument 3
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg3_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg3_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg3_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg3_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg3_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg3_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg3_t_post!=null
{{{}}}
#!if arg3_param != null
{{{#!if !arg3_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg3_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg3_pre_available || arg3_param != null) && (arg4_pre_available || arg4_param != null)
{{{, }}}
#!if arg4_concept!=null
##======================================= argument4
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg4_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg4_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg4_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg4_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg4_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg4_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg4_t_post!=null
{{{}}}
#!if arg4_param != null
{{{#!if !arg4_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg4_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if arg5_param != null
##======================================= argument5, argument6
{{{#bcdce6 {{{, }}}}}}
#!if arg6_param != null
{{{#bcdce6 {{{, }}}}}}
#!if arg_last_dots != null
{{{, ...}}}
#!if body_bopen != null
##======================================= arguments end
{{{#!if body_spec1 != null
{{{) }}}}}}{{{#!if body_spec1 == null
{{{)}}}}}}
#!if body_spec1 != null
##======================================= body end
##======================================= specifiers
'''{{{#569cd6 {{{const}}}}}}'''
#!if body_spec1_paren != null
{{{(}}}
#!if body_spec1_ref != null
{{{}}}
#!if body_spec2 != null
{{{#!if body_spec1 != null && body_spec1_paren == null
{{{ }}}}}}'''{{{#569cd6 {{{noexcept}}}}}}'''
#!if body_spec2_paren != null
{{{(}}}
#!if body_spec2_label != null
{{{}}}
#!if body_spec2_paren != null
{{{)}}}
#!if body_spec1_paren != null
{{{)}}}
#!if label_last != null
{{{}}}
#!if body_tmpopen != null
##======================================= footer
{{{>}}}
#!if last != null
{{{}}}


C++23
설명2.
<bgcolor=#20b580>
<optional>

2. 포함된 기능

||||<tablewidth=80%><tablebordercolor=#20b580><tablebgcolor=#090f0a,#050b09><tablecolor=#a8a8a8,#c1c1c1><rowcolor=#d7d7d7,#a1a1a1>
#!if attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if head_keyword != null
##======================================= include and import
'''{{{#569cd6 {{{class}}}}}}'''
#!if import != null
'''{{{#569cd6 {{{import}}}}}}'''{{{#c8865e {{{ <>}}}}}}{{{;}}}
#!if include != null
{{{#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 {{{}}}}}}'''{{{#!if template_concept0_p0 != null || template_concept0_v0 != null || template_concept0_last_label != null
{{{<}}}{{{#!if template_concept0_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p0 != null
{{{#!if !template_concept0_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p0_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p0_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_p1 != null || template_v1 != null
##======================================= template parameter 1
{{{, }}}}}}{{{#!if template_concept1_available = (template_cpt1 != null)
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if template_concept1_p0 != null || template_concept1_v0 != null || template_concept1_last_label != null
{{{<}}}{{{#!if template_concept1_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p1 != null
{{{#!if !template_concept1_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p1_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v1 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p1_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_p2 != null || template_v2 != null
##======================================= template parameter 2
{{{, }}}}}}{{{#!if template_concept2_available = (template_cpt2 != null)
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if template_concept2_p0 != null || template_concept2_v0 != null || template_concept2_last_label != null
{{{<}}}{{{#!if template_concept2_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p2 != null
{{{#!if !template_concept2_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p2_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v2 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p2_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_last_label == null
{{{>}}}}}}{{{#!if template_last_label != null
##======================================= template parameters end
{{{>}}}}}}
#!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
{{{ }}}
#!if fn_attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if fn_attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if kw1 != null
'''{{{#CornFlowerBlue {{{contexpr}}}}}}'''{{{#!if kw1_post != null
{{{}}}}}}{{{#!if kw1_post == null && kw2 != null
{{{ }}}}}}
#!if kw2 != null
'''{{{#CornFlowerBlue {{{long long}}}}}}'''{{{#!if kw2_post != null
{{{&&}}}}}}{{{#!if kw2_post == null && (cls_attribute != null || cls_attribute_lnk != null)
{{{ }}}}}}
#!if cls_attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]
#!if cls_attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]
#!if head_keyword != null && (cls_attribute != null || cls_attribute_lnk != null)
{{{ }}}
#!if ns != null
'''{{{#58fafe {{{}}}}}}'''
#!if ns1 != null
'''{{{#58fafe {{{std}}}}}}'''
#!if ns2 != null
{{{::}}}'''{{{#58fafe {{{chrono}}}}}}'''
#!if ns3 != null
{{{::}}}'''{{{#58fafe {{{chrono_literals}}}}}}'''
#!if ns1 != null && ns_end == null
{{{::}}}
#!if ns1 != null && ns_end != null
{{{}}}
#!if pre1_t != null
{{{#4ec9b0,#6fdbba {{{optional}}}}}}
#!if pre2_t != null
{{{::}}}{{{#4ec9b0,#6fdbba {{{duration}}}}}}
#!if pre_e != null
{{{::}}}{{{#f0f068 {{{enum}}}}}}
#!if pre_post != null
##======================================= body begin
{{{}}}
#!if body_available && pre_available
{{{ }}}
#!if body_number != null
{{{#b5cea8 {{{}}}}}}
#!if body_string != null
{{{#c8865e {{{}}}}}}
#!if body_v != null
{{{#a9a9b0,#a1a1a2 {{{}}}}}}
#!if body_gv != null
{{{#ffa3d2 {{{}}}}}}
#!if body_mv != null
{{{#ffffff {{{}}}}}}
#!if body_f != null
{{{#f87a7a {{{}}}}}}
#!if body_mf != null
{{{#f0a962 {{{}}}}}}
#!if body_static_mv != null
{{{#ffffff '''{{{}}}'''}}}
#!if body_static_mf != null
{{{#f0a962 '''{{{}}}'''}}}
#!if body_post != null
{{{}}}
#!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 {{{}}}}}}'''{{{#!if arg1_concept_tparam1 != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg1_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg1_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg1_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg2_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg1_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg1_t_post!=null
{{{}}}
#!if arg1_param != null
{{{#!if !arg1_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg1_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg1_pre_available || arg1_param != null) && (arg2_pre_available || arg2_param != null)
{{{, }}}
#!if arg2_concept!=null
##======================================= argument 2
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg2_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if ar2_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg2_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg2_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg2_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg2_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg2_t_post!=null
{{{}}}
#!if arg2_param != null
{{{#!if !arg2_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg2_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg2_pre_available || arg2_param != null) && (arg3_pre_available || arg3_param != null)
{{{, }}}
#!if arg3_concept!=null
##======================================= argument 3
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg3_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg3_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg3_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg3_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg3_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg3_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg3_t_post!=null
{{{}}}
#!if arg3_param != null
{{{#!if !arg3_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg3_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg3_pre_available || arg3_param != null) && (arg4_pre_available || arg4_param != null)
{{{, }}}
#!if arg4_concept!=null
##======================================= argument4
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg4_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg4_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg4_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg4_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg4_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg4_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg4_t_post!=null
{{{}}}
#!if arg4_param != null
{{{#!if !arg4_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg4_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if arg5_param != null
##======================================= argument5, argument6
{{{#bcdce6 {{{, }}}}}}
#!if arg6_param != null
{{{#bcdce6 {{{, }}}}}}
#!if arg_last_dots != null
{{{, ...}}}
#!if body_bopen != null
##======================================= arguments end
{{{#!if body_spec1 != null
{{{) }}}}}}{{{#!if body_spec1 == null
{{{)}}}}}}
#!if body_spec1 != null
##======================================= body end
##======================================= specifiers
'''{{{#569cd6 {{{const}}}}}}'''
#!if body_spec1_paren != null
{{{(}}}
#!if body_spec1_ref != null
{{{}}}
#!if body_spec2 != null
{{{#!if body_spec1 != null && body_spec1_paren == null
{{{ }}}}}}'''{{{#569cd6 {{{noexcept}}}}}}'''
#!if body_spec2_paren != null
{{{(}}}
#!if body_spec2_label != null
{{{}}}
#!if body_spec2_paren != null
{{{)}}}
#!if body_spec1_paren != null
{{{)}}}
#!if label_last != null
{{{}}}
#!if body_tmpopen != null
##======================================= footer
{{{>}}}
#!if last != null
{{{}}}


||
  • 설명
<bgcolor=#20b580>
#!if attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if head_keyword != null
##======================================= include and import
'''{{{#569cd6 {{{}}}}}}'''
#!if import != null
'''{{{#569cd6 {{{import}}}}}}'''{{{#c8865e {{{ <>}}}}}}{{{;}}}
#!if include != null
{{{#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 {{{}}}}}}'''{{{#!if template_concept0_p0 != null || template_concept0_v0 != null || template_concept0_last_label != null
{{{<}}}{{{#!if template_concept0_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p0 != null
{{{#!if !template_concept0_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p0_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p0_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_p1 != null || template_v1 != null
##======================================= template parameter 1
{{{, }}}}}}{{{#!if template_concept1_available = (template_cpt1 != null)
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if template_concept1_p0 != null || template_concept1_v0 != null || template_concept1_last_label != null
{{{<}}}{{{#!if template_concept1_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p1 != null
{{{#!if !template_concept1_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p1_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v1 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p1_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_p2 != null || template_v2 != null
##======================================= template parameter 2
{{{, }}}}}}{{{#!if template_concept2_available = (template_cpt2 != null)
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if template_concept2_p0 != null || template_concept2_v0 != null || template_concept2_last_label != null
{{{<}}}{{{#!if template_concept2_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p2 != null
{{{#!if !template_concept2_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p2_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v2 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p2_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_last_label == null
{{{>}}}}}}{{{#!if template_last_label != null
##======================================= template parameters end
{{{>}}}}}}
#!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
{{{ }}}
#!if fn_attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if fn_attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if kw1 != null
'''{{{#CornFlowerBlue {{{contexpr}}}}}}'''{{{#!if kw1_post != null
{{{}}}}}}{{{#!if kw1_post == null && kw2 != null
{{{ }}}}}}
#!if kw2 != null
'''{{{#CornFlowerBlue {{{long long}}}}}}'''{{{#!if kw2_post != null
{{{&&}}}}}}{{{#!if kw2_post == null && (cls_attribute != null || cls_attribute_lnk != null)
{{{ }}}}}}
#!if cls_attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]
#!if cls_attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]
#!if head_keyword != null && (cls_attribute != null || cls_attribute_lnk != null)
{{{ }}}
#!if ns != null
'''{{{#58fafe {{{}}}}}}'''
#!if ns1 != null
'''{{{#58fafe {{{std}}}}}}'''
#!if ns2 != null
{{{::}}}'''{{{#58fafe {{{chrono}}}}}}'''
#!if ns3 != null
{{{::}}}'''{{{#58fafe {{{chrono_literals}}}}}}'''
#!if ns1 != null && ns_end == null
{{{::}}}
#!if ns1 != null && ns_end != null
{{{}}}
#!if pre1_t != null
{{{#4ec9b0,#6fdbba {{{ptrdiff_t}}}}}}
#!if pre2_t != null
{{{::}}}{{{#4ec9b0,#6fdbba {{{duration}}}}}}
#!if pre_e != null
{{{::}}}{{{#f0f068 {{{enum}}}}}}
#!if pre_post != null
##======================================= body begin
{{{}}}
#!if body_available && pre_available
{{{ }}}
#!if body_number != null
{{{#b5cea8 {{{}}}}}}
#!if body_string != null
{{{#c8865e {{{}}}}}}
#!if body_v != null
{{{#a9a9b0,#a1a1a2 {{{}}}}}}
#!if body_gv != null
{{{#ffa3d2 {{{}}}}}}
#!if body_mv != null
{{{#ffffff {{{}}}}}}
#!if body_f != null
{{{#f87a7a {{{}}}}}}
#!if body_mf != null
{{{#f0a962 {{{}}}}}}
#!if body_static_mv != null
{{{#ffffff '''{{{}}}'''}}}
#!if body_static_mf != null
{{{#f0a962 '''{{{}}}'''}}}
#!if body_post != null
{{{}}}
#!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 {{{}}}}}}'''{{{#!if arg1_concept_tparam1 != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg1_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg1_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg1_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg2_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg1_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg1_t_post!=null
{{{}}}
#!if arg1_param != null
{{{#!if !arg1_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg1_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg1_pre_available || arg1_param != null) && (arg2_pre_available || arg2_param != null)
{{{, }}}
#!if arg2_concept!=null
##======================================= argument 2
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg2_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if ar2_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg2_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg2_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg2_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg2_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg2_t_post!=null
{{{}}}
#!if arg2_param != null
{{{#!if !arg2_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg2_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg2_pre_available || arg2_param != null) && (arg3_pre_available || arg3_param != null)
{{{, }}}
#!if arg3_concept!=null
##======================================= argument 3
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg3_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg3_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg3_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg3_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg3_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg3_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg3_t_post!=null
{{{}}}
#!if arg3_param != null
{{{#!if !arg3_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg3_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg3_pre_available || arg3_param != null) && (arg4_pre_available || arg4_param != null)
{{{, }}}
#!if arg4_concept!=null
##======================================= argument4
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg4_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg4_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg4_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg4_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg4_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg4_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg4_t_post!=null
{{{}}}
#!if arg4_param != null
{{{#!if !arg4_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg4_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if arg5_param != null
##======================================= argument5, argument6
{{{#bcdce6 {{{, }}}}}}
#!if arg6_param != null
{{{#bcdce6 {{{, }}}}}}
#!if arg_last_dots != null
{{{, ...}}}
#!if body_bopen != null
##======================================= arguments end
{{{#!if body_spec1 != null
{{{) }}}}}}{{{#!if body_spec1 == null
{{{)}}}}}}
#!if body_spec1 != null
##======================================= body end
##======================================= specifiers
'''{{{#569cd6 {{{const}}}}}}'''
#!if body_spec1_paren != null
{{{(}}}
#!if body_spec1_ref != null
{{{}}}
#!if body_spec2 != null
{{{#!if body_spec1 != null && body_spec1_paren == null
{{{ }}}}}}'''{{{#569cd6 {{{noexcept}}}}}}'''
#!if body_spec2_paren != null
{{{(}}}
#!if body_spec2_label != null
{{{}}}
#!if body_spec2_paren != null
{{{)}}}
#!if body_spec1_paren != null
{{{)}}}
#!if label_last != null
{{{}}}
#!if body_tmpopen != null
##======================================= footer
{{{>}}}
#!if last != null
{{{}}}


설명.
<bgcolor=#20b580>
#!if attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if head_keyword != null
##======================================= include and import
'''{{{#569cd6 {{{}}}}}}'''
#!if import != null
'''{{{#569cd6 {{{import}}}}}}'''{{{#c8865e {{{ <>}}}}}}{{{;}}}
#!if include != null
{{{#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 {{{}}}}}}'''{{{#!if template_concept0_p0 != null || template_concept0_v0 != null || template_concept0_last_label != null
{{{<}}}{{{#!if template_concept0_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p0 != null
{{{#!if !template_concept0_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p0_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p0_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_p1 != null || template_v1 != null
##======================================= template parameter 1
{{{, }}}}}}{{{#!if template_concept1_available = (template_cpt1 != null)
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if template_concept1_p0 != null || template_concept1_v0 != null || template_concept1_last_label != null
{{{<}}}{{{#!if template_concept1_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p1 != null
{{{#!if !template_concept1_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p1_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v1 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p1_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_p2 != null || template_v2 != null
##======================================= template parameter 2
{{{, }}}}}}{{{#!if template_concept2_available = (template_cpt2 != null)
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if template_concept2_p0 != null || template_concept2_v0 != null || template_concept2_last_label != null
{{{<}}}{{{#!if template_concept2_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p2 != null
{{{#!if !template_concept2_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p2_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v2 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p2_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_last_label == null
{{{>}}}}}}{{{#!if template_last_label != null
##======================================= template parameters end
{{{>}}}}}}
#!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
{{{ }}}
#!if fn_attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if fn_attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if kw1 != null
'''{{{#CornFlowerBlue {{{nullptr}}}}}}'''{{{#!if kw1_post != null
{{{}}}}}}{{{#!if kw1_post == null && kw2 != null
{{{ }}}}}}
#!if kw2 != null
'''{{{#CornFlowerBlue {{{long long}}}}}}'''{{{#!if kw2_post != null
{{{&&}}}}}}{{{#!if kw2_post == null && (cls_attribute != null || cls_attribute_lnk != null)
{{{ }}}}}}
#!if cls_attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]
#!if cls_attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]
#!if head_keyword != null && (cls_attribute != null || cls_attribute_lnk != null)
{{{ }}}
#!if ns != null
'''{{{#58fafe {{{}}}}}}'''
#!if ns1 != null
'''{{{#58fafe {{{std}}}}}}'''
#!if ns2 != null
{{{::}}}'''{{{#58fafe {{{chrono}}}}}}'''
#!if ns3 != null
{{{::}}}'''{{{#58fafe {{{chrono_literals}}}}}}'''
#!if ns1 != null && ns_end == null
{{{::}}}
#!if ns1 != null && ns_end != null
{{{}}}
#!if pre1_t != null
{{{#4ec9b0,#6fdbba {{{system_clock}}}}}}
#!if pre2_t != null
{{{::}}}{{{#4ec9b0,#6fdbba {{{duration}}}}}}
#!if pre_e != null
{{{::}}}{{{#f0f068 {{{enum}}}}}}
#!if pre_post != null
##======================================= body begin
{{{}}}
#!if body_available && pre_available
{{{ }}}
#!if body_number != null
{{{#b5cea8 {{{}}}}}}
#!if body_string != null
{{{#c8865e {{{}}}}}}
#!if body_v != null
{{{#a9a9b0,#a1a1a2 {{{}}}}}}
#!if body_gv != null
{{{#ffa3d2 {{{}}}}}}
#!if body_mv != null
{{{#ffffff {{{}}}}}}
#!if body_f != null
{{{#f87a7a {{{}}}}}}
#!if body_mf != null
{{{#f0a962 {{{}}}}}}
#!if body_static_mv != null
{{{#ffffff '''{{{}}}'''}}}
#!if body_static_mf != null
{{{#f0a962 '''{{{}}}'''}}}
#!if body_post != null
{{{}}}
#!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 {{{}}}}}}'''{{{#!if arg1_concept_tparam1 != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg1_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg1_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg1_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg2_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg1_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg1_t_post!=null
{{{}}}
#!if arg1_param != null
{{{#!if !arg1_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg1_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg1_pre_available || arg1_param != null) && (arg2_pre_available || arg2_param != null)
{{{, }}}
#!if arg2_concept!=null
##======================================= argument 2
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg2_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if ar2_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg2_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg2_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg2_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg2_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg2_t_post!=null
{{{}}}
#!if arg2_param != null
{{{#!if !arg2_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg2_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg2_pre_available || arg2_param != null) && (arg3_pre_available || arg3_param != null)
{{{, }}}
#!if arg3_concept!=null
##======================================= argument 3
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg3_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg3_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg3_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg3_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg3_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg3_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg3_t_post!=null
{{{}}}
#!if arg3_param != null
{{{#!if !arg3_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg3_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg3_pre_available || arg3_param != null) && (arg4_pre_available || arg4_param != null)
{{{, }}}
#!if arg4_concept!=null
##======================================= argument4
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg4_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg4_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg4_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg4_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg4_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg4_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg4_t_post!=null
{{{}}}
#!if arg4_param != null
{{{#!if !arg4_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg4_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if arg5_param != null
##======================================= argument5, argument6
{{{#bcdce6 {{{, }}}}}}
#!if arg6_param != null
{{{#bcdce6 {{{, }}}}}}
#!if arg_last_dots != null
{{{, ...}}}
#!if body_bopen != null
##======================================= arguments end
{{{#!if body_spec1 != null
{{{) }}}}}}{{{#!if body_spec1 == null
{{{)}}}}}}
#!if body_spec1 != null
##======================================= body end
##======================================= specifiers
'''{{{#569cd6 {{{const}}}}}}'''
#!if body_spec1_paren != null
{{{(}}}
#!if body_spec1_ref != null
{{{}}}
#!if body_spec2 != null
{{{#!if body_spec1 != null && body_spec1_paren == null
{{{ }}}}}}'''{{{#569cd6 {{{noexcept}}}}}}'''
#!if body_spec2_paren != null
{{{(}}}
#!if body_spec2_label != null
{{{}}}
#!if body_spec2_paren != null
{{{)}}}
#!if body_spec1_paren != null
{{{)}}}
#!if label_last != null
{{{}}}
#!if body_tmpopen != null
##======================================= footer
{{{>}}}
#!if last != null
{{{}}}


C++11
설명.
<bgcolor=#20b580>
#!if attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if head_keyword != null
##======================================= include and import
'''{{{#569cd6 {{{}}}}}}'''
#!if import != null
'''{{{#569cd6 {{{import}}}}}}'''{{{#c8865e {{{ <>}}}}}}{{{;}}}
#!if include != null
{{{#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 {{{}}}}}}'''{{{#!if template_concept0_p0 != null || template_concept0_v0 != null || template_concept0_last_label != null
{{{<}}}{{{#!if template_concept0_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept0_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept0_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p0 != null
{{{#!if !template_concept0_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p0_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p0_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_p1 != null || template_v1 != null
##======================================= template parameter 1
{{{, }}}}}}{{{#!if template_concept1_available = (template_cpt1 != null)
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if template_concept1_p0 != null || template_concept1_v0 != null || template_concept1_last_label != null
{{{<}}}{{{#!if template_concept1_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept1_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept1_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p1 != null
{{{#!if !template_concept1_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p1_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v1 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p1_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_p2 != null || template_v2 != null
##======================================= template parameter 2
{{{, }}}}}}{{{#!if template_concept2_available = (template_cpt2 != null)
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if template_concept2_p0 != null || template_concept2_v0 != null || template_concept2_last_label != null
{{{<}}}{{{#!if template_concept2_p0 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v0 != null
{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_p1 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v1 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_p2 != null
{{{, }}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_concept2_v2 != null
{{{, }}}{{{#ffffff {{{}}}}}}}}}{{{#!if template_concept2_last_label != null
{{{}}}}}}{{{>}}}}}}{{{ }}}}}}{{{#!if template_p2 != null
{{{#!if !template_concept2_available
'''{{{#569cd6 {{{typename}}}}}}'''}}}{{{#!if template_p2_post != null
{{{}}}}}}{{{#4ec9b0,#6fdbba {{{}}}}}}}}}{{{#!if template_v2 != null
{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if template_p2_post != null
{{{}}}}}}{{{#ffffff '''{{{}}}'''}}}}}}{{{#!if template_last_label == null
{{{>}}}}}}{{{#!if template_last_label != null
##======================================= template parameters end
{{{>}}}}}}
#!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
{{{ }}}
#!if fn_attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if fn_attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]{{{ }}}
#!if kw1 != null
'''{{{#CornFlowerBlue {{{const}}}}}}'''{{{#!if kw1_post != null
{{{}}}}}}{{{#!if kw1_post == null && kw2 != null
{{{ }}}}}}
#!if kw2 != null
'''{{{#CornFlowerBlue {{{long long}}}}}}'''{{{#!if kw2_post != null
{{{&&}}}}}}{{{#!if kw2_post == null && (cls_attribute != null || cls_attribute_lnk != null)
{{{ }}}}}}
#!if cls_attribute != null
[[C++/문법/특성|{{{#a8a8a8 {{{[[]]}}}}}}]]
#!if cls_attribute_lnk != null
[[C++/문법/특성#|{{{#a8a8a8 {{{[[]]}}}}}}]]
#!if head_keyword != null && (cls_attribute != null || cls_attribute_lnk != null)
{{{ }}}
#!if ns != null
'''{{{#58fafe {{{}}}}}}'''
#!if ns1 != null
'''{{{#58fafe {{{std}}}}}}'''
#!if ns2 != null
{{{::}}}'''{{{#58fafe {{{chrono}}}}}}'''
#!if ns3 != null
{{{::}}}'''{{{#58fafe {{{chrono_literals}}}}}}'''
#!if ns1 != null && ns_end == null
{{{::}}}
#!if ns1 != null && ns_end != null
{{{}}}
#!if pre1_t != null
{{{#4ec9b0,#6fdbba {{{Type}}}}}}
#!if pre2_t != null
{{{::}}}{{{#4ec9b0,#6fdbba {{{duration}}}}}}
#!if pre_e != null
{{{::}}}{{{#f0f068 {{{enum}}}}}}
#!if pre_post != null
##======================================= body begin
{{{}}}
#!if body_available && pre_available
{{{ }}}
#!if body_number != null
{{{#b5cea8 {{{}}}}}}
#!if body_string != null
{{{#c8865e {{{}}}}}}
#!if body_v != null
{{{#a9a9b0,#a1a1a2 {{{}}}}}}
#!if body_gv != null
{{{#ffa3d2 {{{}}}}}}
#!if body_mv != null
{{{#ffffff {{{}}}}}}
#!if body_f != null
{{{#f87a7a {{{Function}}}}}}
#!if body_mf != null
{{{#f0a962 {{{}}}}}}
#!if body_static_mv != null
{{{#ffffff '''{{{}}}'''}}}
#!if body_static_mf != null
{{{#f0a962 '''{{{}}}'''}}}
#!if body_post != null
{{{}}}
#!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 {{{}}}}}}'''{{{#!if arg1_concept_tparam1 != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg1_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg1_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg1_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg2_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg1_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg1_t_post!=null
{{{}}}
#!if arg1_param != null
{{{#!if !arg1_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg1_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg1_pre_available || arg1_param != null) && (arg2_pre_available || arg2_param != null)
{{{, }}}
#!if arg2_concept!=null
##======================================= argument 2
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg2_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if ar2_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg2_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg2_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg2_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg2_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg2_t_post!=null
{{{}}}
#!if arg2_param != null
{{{#!if !arg2_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg2_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg2_pre_available || arg2_param != null) && (arg3_pre_available || arg3_param != null)
{{{, }}}
#!if arg3_concept!=null
##======================================= argument 3
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg3_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg3_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg3_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg3_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg3_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg3_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg3_t_post!=null
{{{}}}
#!if arg3_param != null
{{{#!if !arg3_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg3_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if (arg3_pre_available || arg3_param != null) && (arg4_pre_available || arg4_param != null)
{{{, }}}
#!if arg4_concept!=null
##======================================= argument4
'''{{{#4ec9b0,#6fdbba {{{}}}}}}'''{{{#!if arg4_concept_params != null
{{{<}}}{{{#4ec9b0,#6fdbba {{{}}}}}}{{{#!if arg4_concept_tparam2 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{#!if arg4_concept_tparam3 != null
{{{#4ec9b0,#6fdbba {{{, }}}}}}}}}{{{>}}}}}}{{{ }}}
#!if arg4_kw != null
'''{{{#569cd6 {{{const}}}}}}'''
#!if arg4_t_kw!=null
'''{{{#CornFlowerBlue {{{int}}}}}}'''
#!if arg4_t!=null
{{{#4ec9b0,#6fdbba {{{}}}}}}
#!if arg4_t_post!=null
{{{}}}
#!if arg4_param != null
{{{#!if !arg4_pre_available
{{{#bcdce6 {{{}}}}}}}}}{{{#!if arg4_pre_available
{{{#bcdce6 {{{ }}}}}}}}}
#!if arg5_param != null
##======================================= argument5, argument6
{{{#bcdce6 {{{, }}}}}}
#!if arg6_param != null
{{{#bcdce6 {{{, }}}}}}
#!if arg_last_dots != null
{{{, ...}}}
#!if body_bopen != null
##======================================= arguments end
{{{#!if body_spec1 != null
{{{) }}}}}}{{{#!if body_spec1 == null
{{{)}}}}}}
#!if body_spec1 != null
##======================================= body end
##======================================= specifiers
'''{{{#569cd6 {{{const}}}}}}'''
#!if body_spec1_paren != null
{{{(}}}
#!if body_spec1_ref != null
{{{}}}
#!if body_spec2 != null
{{{#!if body_spec1 != null && body_spec1_paren == null
{{{ }}}}}}'''{{{#569cd6 {{{noexcept}}}}}}'''
#!if body_spec2_paren != null
{{{(}}}
#!if body_spec2_label != null
{{{}}}
#!if body_spec2_paren != null
{{{)}}}
#!if body_spec1_paren != null
{{{)}}}
#!if label_last != null
{{{}}}
#!if body_tmpopen != null
##======================================= footer
{{{>}}}
#!if last != null
{{{}}}


C++20
설명.
<bgcolor=#20b580>

3. 설명

개론.
#!syntax cpp
설명.
<C++ 예제 보기>
#!syntax cpp
실행결과.

4. 참고 사항


5. 외부 링크



==# 코드 요약 #==
#!syntax cpp
#include <compare>
 
namespace std
{
// class template optional
template<class T> class optional;

// C++20
template<class T> constexpr bool ranges::enable_view<optional<T>> = true;
// C++20
template<class T> constexpr auto format_kind<optional<T>> = range_format::disabled;

// C++20
template<class T>
concept /*is-derived-from-optional*/ = requires(const T& t)
{ // exposition-only
    []<class U>(const optional<U>&) {}(t);
};

// no-value state indicator
struct nullopt_t
{
    /* see description */
};
inline constexpr nullopt_t nullopt(/* unspecified */);

// class bad_optional_access
class bad_optional_access;

// relational operators
template<class T, class U>
constexpr bool operator==(const optional<T>&, const optional<U>&);
template<class T, class U>
constexpr bool operator!=(const optional<T>&, const optional<U>&);
template<class T, class U>
constexpr bool operator<(const optional<T>&, const optional<U>&);
template<class T, class U>
constexpr bool operator>(const optional<T>&, const optional<U>&);
template<class T, class U>
constexpr bool operator<=(const optional<T>&, const optional<U>&);
template<class T, class U>
constexpr bool operator>=(const optional<T>&, const optional<U>&);
template<class T, three_way_comparable_with<T> U>
constexpr compare_three_way_result_t<T, U> operator<=>(const optional<T>&, const optional<U>&);

// comparison with nullopt
template<class T> constexpr bool operator==(const optional<T>&, nullopt_t) noexcept;
template<class T> constexpr strong_ordering operator<=>(const optional<T>&, nullopt_t) noexcept;

// comparison with T
template<class T, class U> constexpr bool operator==(const optional<T>&, const U&);
template<class T, class U> constexpr bool operator==(const T&, const optional<U>&);
template<class T, class U> constexpr bool operator!=(const optional<T>&, const U&);
template<class T, class U> constexpr bool operator!=(const T&, const optional<U>&);
template<class T, class U> constexpr bool operator<(const optional<T>&, const U&);
template<class T, class U> constexpr bool operator<(const T&, const optional<U>&);
template<class T, class U> constexpr bool operator>(const optional<T>&, const U&);
template<class T, class U> constexpr bool operator>(const T&, const optional<U>&);
template<class T, class U> constexpr bool operator<=(const optional<T>&, const U&);
template<class T, class U> constexpr bool operator<=(const T&, const optional<U>&);
template<class T, class U> constexpr bool operator>=(const optional<T>&, const U&);
template<class T, class U> constexpr bool operator>=(const T&, const optional<U>&);
template<class T, class U>
    requires(!/*is-derived-from-optional*/<U>) && three_way_comparable_with<T, U>
constexpr compare_three_way_result_t<T, U> operator<=>(const optional<T>&, const U&);

// specialized algorithms
template<class T>
constexpr void swap(optional<T>&, optional<T>&) noexcept(/* see description */);

template<class T> constexpr optional<decay_t<T>> make_optional(T&&);
template<class T, class... Args> constexpr optional<T> make_optional(Args&&... args);
template<class T, class U, class... Args>
constexpr optional<T> make_optional(initializer_list<U> il, Args&&... args);

// hash support
template<class T> struct hash;
template<class T> struct hash<optional<T>>;

template<class T>
class optional
{
public:
    using value_type = T;
    using iterator = /* implementation-defined */;
    using const_iterator = /* implementation-defined */;

    // constructors
    constexpr optional() noexcept;
    constexpr optional(nullopt_t) noexcept;
    constexpr optional(const optional&);
    constexpr optional(optional&&) noexcept(/* see description */);
    template<class... Args> constexpr explicit optional(in_place_t, Args&&...);
    template<class U, class... Args>
    constexpr explicit optional(in_place_t, initializer_list<U>, Args&&...);
    template<class U = remove_cv_t<T>>
    constexpr explicit(/* see description */) optional(U&&);
    template<class U>
    constexpr explicit(/* see description */) optional(const optional<U>&);
    template<class U> constexpr explicit(/* see description */) optional(optional<U>&&);

    // destructor
    constexpr ~optional();

    // assignment
    constexpr optional& operator=(nullopt_t) noexcept;
    constexpr optional& operator=(const optional&);
    constexpr optional& operator=(optional&&) noexcept(/* see description */);
    template<class U = remove_cv_t<T>> constexpr optional& operator=(U&&);
    template<class U> constexpr optional& operator=(const optional<U>&);
    template<class U> constexpr optional& operator=(optional<U>&&);
    template<class... Args> constexpr T& emplace(Args&&...);
    template<class U, class... Args> constexpr T& emplace(initializer_list<U>, Args&&...);

    // swap
    constexpr void swap(optional&) noexcept(/* see description */);

    // iterator support
    constexpr iterator begin() noexcept;
    constexpr const_iterator begin() const noexcept;
    constexpr iterator end() noexcept;
    constexpr const_iterator end() const noexcept;

    // observers
    constexpr const T* operator->() const noexcept;
    constexpr T* operator->() noexcept;
    constexpr const T& operator*() const& noexcept;
    constexpr T& operator*() & noexcept;
    constexpr T&& operator*() && noexcept;
    constexpr const T&& operator*() const&& noexcept;
    constexpr explicit operator bool() const noexcept;
    constexpr bool has_value() const noexcept;
    constexpr const T& value() const&;   // freestanding-deleted
    constexpr T& value() &;              // freestanding-deleted
    constexpr T&& value() &&;            // freestanding-deleted
    constexpr const T&& value() const&&; // freestanding-deleted
    template<class U = remove_cv_t<T>> constexpr T value_or(U&&) const&;
    template<class U = remove_cv_t<T>> constexpr T value_or(U&&) &&;

    // monadic operations
    template<class F> constexpr auto and_then(F&& f) &;
    template<class F> constexpr auto and_then(F&& f) &&;
    template<class F> constexpr auto and_then(F&& f) const&;
    template<class F> constexpr auto and_then(F&& f) const&&;
    template<class F> constexpr auto transform(F&& f) &;
    template<class F> constexpr auto transform(F&& f) &&;
    template<class F> constexpr auto transform(F&& f) const&;
    template<class F> constexpr auto transform(F&& f) const&&;
    template<class F> constexpr optional or_else(F&& f) &&;
    template<class F> constexpr optional or_else(F&& f) const&;

    // modifiers
    constexpr void reset() noexcept;

private:
    T* val; // exposition-only
};

template<class T> optional(T) -> optional<T>;

class bad_optional_access : public exception
{
public:
    // for the specification of the special member functions
    constexpr const char* what() const noexcept override;
};
}

6. 둘러보기


||<:><-12><width=90%><tablewidth=100%><tablebordercolor=#20b580><rowbgcolor=#090f0a,#050b09><rowcolor=#d7d7d7,#a1a1a1>C++||||
C언어와의 차이점학습 자료평가
<bgcolor=#20b580>
<rowcolor=#090912,#bebebf>C++ 문법
<bgcolor=#ffffff>
main헤더모듈
함수구조체이름공간
한정자참조자포인터
클래스값 범주론특성
autousingdecltype
상수 표현식람다 표현식객체 이름 검색
템플릿템플릿 제약조건메타 프로그래밍
<bgcolor=#20b580>
<rowcolor=#090912,#bebebf>C++ 버전
<bgcolor=#ffffff>
C++26C++23C++20
C++17C++14C++11
C++03C++98C with Classes
<bgcolor=#20b580>
<rowcolor=#090912,#bebebf>C++ 표준 라이브러리
<rowcolor=#090912,#bebebf>문서가 있는 모듈 목록
<bgcolor=#ffffff>
#개요C++11 #개요<unordered_map>C++11 #개요
C++20 #개요#개요#개요
C++11 #개요C++11 #개요C++17 #개요
#개요<string_view>C++17 #개요C++20 #개요
C++11 #개요C++11 #개요C++11 #개요
C++20 #개요C++23 #개요
<bgcolor=#20b580>
<rowcolor=#090912,#bebebf>예제 목록
<bgcolor=#ffffff>
{{{#!wiki style=""text-align: center, margin: 0 -10px"
{{{#!folding [ 펼치기 · 접기 ]
임계 영역과 경쟁 상태
std::mutex
개선된 스레드 클래스
std::jthread
동시성 자료 구조 1
스레드 안전한 구현
동시성 자료 구조 2
스레드 안전한 집합 구현
메모리 장벽
std::atomic_thread_fence
스레드 상태 동기화 1
스레드 대기와 기상
원자적 메모리 수정
std::compare_exchange_strong
스레드 상태 동기화 2
스핀 락 구현
함수 템플릿
일반화 프로그래밍
전이 참조
완벽한 매개변수 전달
튜플 구현
가변 클래스 템플릿
직렬화 함수 구현
템플릿 매개변수 묶음
SFINAE 1
멤버 함수 검사
SFINAE 2
자료형 태그 검사
SFINAE 3
메타 데이터
SFINAE 4
자료형 트레잇
제약조건 1
개념 (Concept)
제약조건 2
상속 여부 검사
제약조건 3
클래스 명세 파헤치기
제약조건 4
튜플로 함자 실행하기
메타 프로그래밍 1
특수화 여부 검사
메타 프로그래밍 2
컴파일 시점 문자열
메타 프로그래밍 3
자료형 리스트
메타 프로그래밍 4
안전한 union
}}}
}}}||
<bgcolor=#20b580>
<rowcolor=#090912,#bebebf>외부 링크
<bgcolor=#ffffff>
{{{#!wiki style=""text-align: center, margin: 0 -10px"파일:홈페이지 아이콘.svg C++ 표준 위원회파일:홈페이지 아이콘.svg ISO C++ 표준파일:홈페이지 아이콘.svg C++ 표준 현황파일:홈페이지 아이콘.svg 공식 안내서
파일:홈페이지 아이콘.svg 참고서 위키파일:홈페이지 아이콘.svg 표준 헤더파일:홈페이지 아이콘.svg 컴파일러 지원파일:홈페이지 아이콘.svg C++ 위키백과
파일:홈페이지 아이콘.svg C++ 라이브러리파일:홈페이지 아이콘.svg C++ 패키지 관리자파일:홈페이지 아이콘.svg Boost파일:홈페이지 아이콘.svg 비야네 스트로스트룹의 홈페이지
}}}||
<bgcolor=#20b580>
<rowcolor=#090912,#bebebf>C++

분류