Шаблон:Enum add: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
 
Строка 1: Строка 1:
<noinclude>{{Enum usage}}</noinclude><includeonly>{{#vardefine:enum_val_name|{{#explode:{{{1}}}|::|1}}}}{{#vardefine:enum_val_name|{{#if:{{#var:enum_val_name}}|{{#enum_val_name}}|{{#explode:{{{1}}}|::|0}}}}}}<tr id="constant_list_tr"><td><tt>{{#ifexist: {{{1}}}|[[{{{1}}}|{{#var:enum_val_name}}]]|{{#var:enum_val_name}}}}</tt></td><td>{{{value|{{#var:enum_val}}}}}</td><td>{{{2|{{{{{1}}} brief}}}}}</td></tr>{{#vardefine:enum_val|{{#expr: {{{value|{{#var:enum_val}}}}} + 1}}}}</includeonly>
<noinclude>{{Enum usage}}</noinclude><includeonly>{{#vardefine:enum_val_name|{{#explode:{{{1}}}|::|1}}}}{{#vardefine:enum_val_name|{{#if:{{#var:enum_val_name}}|{{#var:enum_val_name}}|{{#explode:{{{1}}}|::|0}}}}}}<tr id="constant_list_tr"><td><tt>{{#ifexist: {{{1}}}|[[{{{1}}}|{{#var:enum_val_name}}]]|{{#var:enum_val_name}}}}</tt></td><td>{{{value|{{#var:enum_val}}}}}</td><td>{{{2|{{{{{1}}} brief}}}}}</td></tr>{{#vardefine:enum_val|{{#expr: {{{value|{{#var:enum_val}}}}} + 1}}}}</includeonly>

Текущая версия на 17:57, 11 декабря 2017

Шаблоны Шаблон:enum_begin, Шаблон:enum_add и Шаблон:enum_end позволяют описать поля перечисления C++. Шаблон:enum_begin задает начало перечисления, Шаблон:enum_end задает конец перечисления, а Шаблон:enum_add, специализируемый внутри Шаблон:enum_begin и Шаблон:enum_end, позволяет добавить в перечисление новый элемент.

Первый параметр шаблона Шаблон:enum_add задает имя описываемого поля перечисления, второй параметр - текстовое описание. Опциональный параметр value позволяет ассоциировать с добавляемым полем перечисления произвольную пользовательскую константу. По умолчанию, для первого значения перечисления значение целочисленной константы - 0, для второго - 1 и т.д.

Использование:

{{enum_begin}}
{{enum_add|Val0|Значение Val0.}}
{{enum_add|Val1|Значение Val1.}}
{{enum_add|Val20|Значение Val0.|value=20}}
{{enum_add|Val21|Значение Val1.}}
{{enum_add|Val22}}
{{enum_add|ThisEnum::Val23|С указанием перечисления.}}
{{enum_end}}

Результат:

Символическое имяЦелочисленное значениеОписание
Val00Значение Val0.
Val11Значение Val1.
Val2020Значение Val0.
Val2121Значение Val1.
Val2222Шаблон:Val22 brief
Val2323С указанием перечисления.