최근 수정 시각 : 2024-05-28 20:23:40

틀:C++ 요소

[[@fn_attribute=attr1@]]
[[@fn_attribute_lnk=attr1@]]
@kw1=contexpr@
@kw1_post=_kwp1@
@kw2=long long@
@kw2_post=&&@
[[@cls_attribute=attr2@]]
[[@cls_attribute_lnk=attr2@]]
@ns1=std@
::@ns2=chrono@
::
@pre1_t=system_clock@
::@pre2_t=duration@
::@pre_e=enum@
@pre_post=_pre@

@body_v=val@
@body_f=fun@
@body_mf=mem_fn@
@body_post@
<
(
@arg1_concept=concept1@
<
@arg1_concept_tparam1=T1@
, @arg1_concept_tparam2=T2@
, @arg1_concept_tparam3=T3@
>
@arg1_kw=const@
@arg1_t_kw=int@
@arg1_t=type1@
@arg1_t_post=&@
@arg1_param=param1@
,
@arg2_concept=concept2@
<
@arg2_concept_tparam1=T1@
, @arg2_concept_tparam2=T2@
, @arg2_concept_tparam3=T3@
>
@arg2_kw=const@
@arg2_t_kw=int@
@arg2_t=type2@
@arg2_t_post=&@
@arg2_param=param2@
,
@arg3_concept=concept3@
<
@arg3_concept_tparam1=T1@
, @arg3_concept_tparam2=T2@
, @arg3_concept_tparam3=T3@
>
@arg3_kw=const@
@arg3_t_kw=int@
@arg3_t=type3@
@arg3_t_post=&@
@arg3_param=param3@
, @arg4_param=param4@
, @arg5_param=param5@
@arg_last_dots=, @...
)

@body_spec1=const@
@body_spec1_ref=&@
@body_spec2=noexcept@
>
@last=;@



1. 개요2. 사용법

1. 개요

현재 C++에서 사용가능한 모듈들을 일관적으로 표현하기 위한 템플릿 틀입니다.

2. 사용법

문법 [include(틀: C++11 요소), )]

  • 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: 요소의 이름 뒤에 붙는 첨자입니다.
  • body_tmpopen: 아무 문자열을 입력하면 여는 꺽쇠 괄호(<)를 추가합니다.
  • body_bopen: 아무 문자열을 입력하면 여는 괄호(()를 추가합니다.

  • 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: 첫 번째 매개변수의 식별자입니다.

arg1_param이 입력되었다면 두 번째 매개변수 앞에는 자동으로 , 가 붙습니다.
  • arg2_concept: 두 번째 매개변수에 사용된 컨셉트를 입력합니다.
    • arg2_concept_params: 아무 문자열을 입력하면 하단의 tparam을 감싸는 꺽쇠 괄호(<>)를 추가합니다.
      • arg2_concept_tparam1: 컨셉트 내부의 첫 번째 템플릿 매개변수입니다.
      • arg2_concept_tparam2: 컨셉트 내부의 두 번째 템플릿 매개변수입니다.
      • arg2_concept_tparam3: 컨셉트 내부의 세 번째 템플릿 매개변수입니다.
  • arg2_kw: 두 번째 매개변수의 맨 앞에 붙은 키워드입니다. 보통 const, volatile을 입력합니다.
  • arg2_t_kw: 원시자료형을 표현하기 위한 두 번째 매개변수의 자료형입니다.외양은 arg2_kw와는 차이가 없습니다.
  • arg2_t: 두 번째 매개변수의 자료형입니다. 만약 자료형이 int, float 같은 원시자료형이라면 arg2_t_kw을 사용하는 것이 보기 좋습니다.
  • arg2_t_post: 두 번째 매개변수의 자료형 뒤에 붙은 첨자입니다. 보통 *,&, &&을 입력합니다.
  • arg2_param: 두 번째 매개변수의 식별자입니다.

arg2_param이 입력되었다면 세 번째 매개변수 앞에는 자동으로 , 가 붙습니다.
  • arg3_concept: 세 번째 매개변수에 사용된 컨셉트를 입력합니다.
    • arg3_concept_params: 아무 문자열을 입력하면 하단의 tparam을 감싸는 꺽쇠 괄호(<>)를 추가합니다.
      • arg3_concept_tparam1: 컨셉트 내부의 첫 번째 템플릿 매개변수입니다.
      • arg3_concept_tparam2: 컨셉트 내부의 두 번째 템플릿 매개변수입니다.
      • arg3_concept_tparam3: 컨셉트 내부의 세 번째 템플릿 매개변수입니다.
  • arg3_kw: 세 번째 매개변수의 맨 앞에 붙은 키워드입니다. 보통 const, volatile을 입력합니다.
  • arg3_t_kw: 원시자료형을 표현하기 위한 세번째 매개변수의 자료형입니다.외양은 arg3_kw와는 차이가 없습니다.
  • arg3_t: 세 번째 매개변수의 자료형입니다. 만약 자료형이 int, float 같은 원시자료형이라면 arg3_t_kw을 사용하는 것이 보기 좋습니다.
  • arg3_t_post: 세 번째 매개변수의 자료형 뒤에 붙은 첨자입니다. 보통 *,&, &&을 입력합니다.
  • arg3_param: 세 번째 매개변수의 식별자입니다.
  • arg4_param: 네 번째 매개변수의 식별자입니다.
  • arg5_param: 다섯 번째 매개변수의 식별자입니다.
  • arg_last_dots: 아무 문자열을 입력하면 마지막 매개변수 뒤에 , ...을 붙입니다.

  • body_bclose: 아무 문자열을 입력하면 닫는 괄호())를 추가합니다.
  • body_lnb: 아무 문자열을 입력하면 개행합니다.

  • body_spec1: 함수의 명세를 지정합니다. 보통 const 혹은 noexcept를 입력합니다.
  • body_spec1_ref: 한정자를 지정합니다. 첫번째 함수 명세가 const, volatile 따위의 공변성 한정자라면 &, &&를 입력합니다.
  • body_spec2: 참조 한정자 뒤에 붙은 함수의 명세를 지정합니다. 보통 noexcept를 입력합니다. 그러나 굳이 함수의 한정자가 필요없다면 전부 body_spec1에 입력할 수 있습니다.

  • last: 모든 내용 마지막에 붙는 첨자입니다. 보통 ;을 입력합니다.
  • body_tmpclose: 아무 문자열을 입력하면 닫는 꺽쇠 괄호(>)를 추가합니다.