<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://51.250.0.107/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9+%D0%A7%D1%83%D1%81%D0%BE%D0%B2</id>
	<title>CAMaaS preliminary wiki - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="http://51.250.0.107/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9+%D0%A7%D1%83%D1%81%D0%BE%D0%B2"/>
	<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9_%D0%A7%D1%83%D1%81%D0%BE%D0%B2"/>
	<updated>2026-04-29T16:43:02Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A0%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9&amp;diff=9890</id>
		<title>Репозиторий</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A0%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9&amp;diff=9890"/>
		<updated>2022-04-02T06:17:37Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Инфраструктура переехала в облако от Яндекса&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Переходим на сервера от Яндекса. Репозитории на амазоновском сервере больше обновлять не планируется.&lt;br /&gt;
&lt;br /&gt;
Новые репозитории доступны по адресу https://www.chusov.org/git/.&lt;br /&gt;
Доступ к ним осуществляется по HTTPS и SSH протоколам, но при этом требуется [https://www.chusov.org/git/.register/register.php регистрация].&lt;br /&gt;
&lt;br /&gt;
После регистрации репозитории не будут доступны сразу, а только при дальнейшем распределении пользовательских ролей. О регистрации желательно уведомить по электронной почте или лично.&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B4%D0%B8%D0%BE%D0%B2%D0%BE%D0%BB%D0%BD_%D0%92%D0%A7/%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=9872</id>
		<title>Распространение радиоволн ВЧ/Реализация</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B4%D0%B8%D0%BE%D0%B2%D0%BE%D0%BB%D0%BD_%D0%92%D0%A7/%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=9872"/>
		<updated>2021-05-20T02:01:35Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: /* Классы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Реализующий проект - radio_hf.&lt;br /&gt;
&lt;br /&gt;
==Классы==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Класс&lt;br /&gt;
! Файл&lt;br /&gt;
! Описание&lt;br /&gt;
|-&lt;br /&gt;
| [[/Medium/]]&lt;br /&gt;
| medium.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/Medium brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/ModelMedium/]]&lt;br /&gt;
| medium.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/ModelMedium brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/InputModel/]]&lt;br /&gt;
| input_model.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/InputModel brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/Field/]]&lt;br /&gt;
| field.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/Field brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/FrequencyRange/]]&lt;br /&gt;
| input_model.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/FrequencyRange brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/Ray/]]&lt;br /&gt;
| ray.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/Ray brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/ReflectingObject/]]&lt;br /&gt;
| reflecting_object.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/ReflectingObject brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/ReflectingBoundary/]]&lt;br /&gt;
| boundary.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/ReflectingBoundary brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/Plain/]]&lt;br /&gt;
| plain.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/Plain brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/ControlPointSet/]]&lt;br /&gt;
| control_point_set.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/ControlPointSet brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/Source/]]&lt;br /&gt;
| source.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/Source brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/Antenna/]]&lt;br /&gt;
| antenna.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/Antenna brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/AntennaType/]]&lt;br /&gt;
| antenna.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/AntennaType brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/radiation_set_t/]]&lt;br /&gt;
| radiation_set.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/radiation_set_t}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/dyn_radiation_set_dim_0_enumerator/]]&lt;br /&gt;
| radiation_set.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_0_enumerator}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/dyn_radiation_set_dim_1_enumerator/]]&lt;br /&gt;
| radiation_set.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_1_enumerator}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/dyn_radiation_set_dim_0_collection/]]&lt;br /&gt;
| radiation_set.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_0_collection}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/dyn_radiation_set_dim_1_collection/]]&lt;br /&gt;
| radiation_set.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_1_collection}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/encompassing_aperture_t/]]&lt;br /&gt;
| math_primitives.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/encompassing_aperture_t}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/ExpressionFrequencyResponse/]]&lt;br /&gt;
| primary_fr.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/ExpressionFrequencyResponse brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/TableFrequencyResponse/]]&lt;br /&gt;
| primary_fr.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/TableFrequencyResponse brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/ExpressionRadiationPattern/]]&lt;br /&gt;
| primary_rp.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/ExpressionRadiationPattern brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/TableRadiationPattern/]]&lt;br /&gt;
| primary_rp.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/TableRadiationPattern brief}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:radio_hf_obj_model.png|thumb|500px|Объектная модель [[Распространение радиоволн ВЧ/Реализация|radio_hf]]]].&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B4%D0%B8%D0%BE%D0%B2%D0%BE%D0%BB%D0%BD_%D0%92%D0%A7/%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=9871</id>
		<title>Распространение радиоволн ВЧ/Реализация</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B4%D0%B8%D0%BE%D0%B2%D0%BE%D0%BB%D0%BD_%D0%92%D0%A7/%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=9871"/>
		<updated>2021-05-20T01:57:35Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: /* Классы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Реализующий проект - radio_hf.&lt;br /&gt;
&lt;br /&gt;
==Классы==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Класс&lt;br /&gt;
! Файл&lt;br /&gt;
! Описание&lt;br /&gt;
|-&lt;br /&gt;
| [[/Medium/]]&lt;br /&gt;
| medium.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/Medium brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/ModelMedium/]]&lt;br /&gt;
| medium.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/ModelMedium brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/InputModel/]]&lt;br /&gt;
| input_model.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/InputModel brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/Field/]]&lt;br /&gt;
| field.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/Field brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/FrequencyRange/]]&lt;br /&gt;
| input_model.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/FrequencyRange brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/Ray/]]&lt;br /&gt;
| ray.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/Ray brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/ReflectingObject/]]&lt;br /&gt;
| reflecting_object.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/ReflectingObject brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/ReflectingBoundary/]]&lt;br /&gt;
| boundary.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/ReflectingBoundary brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/Plain/]]&lt;br /&gt;
| plain.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/Plain brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/ControlPointSet/]]&lt;br /&gt;
| control_point_set.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/ControlPointSet brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/Source/]]&lt;br /&gt;
| source.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/Source brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/Antenna/]]&lt;br /&gt;
| antenna.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/Antenna brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/AntennaType/]]&lt;br /&gt;
| antenna.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/AntennaType brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/radiation_set_t/]]&lt;br /&gt;
| radiation_set.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/radiation_set_t}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/dyn_radiation_set_dim_0_enumerator/]]&lt;br /&gt;
| radiation_set.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_0_enumerator}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/dyn_radiation_set_dim_1_enumerator/]]&lt;br /&gt;
| radiation_set.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_1_enumerator}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/dyn_radiation_set_dim_0_collection/]]&lt;br /&gt;
| radiation_set.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_0_collection}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/dyn_radiation_set_dim_1_collection/]]&lt;br /&gt;
| radiation_set.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_1_collection}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/ExpressionFrequencyResponse/]]&lt;br /&gt;
| primary_fr.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/ExpressionFrequencyResponse brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/TableFrequencyResponse/]]&lt;br /&gt;
| primary_fr.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/TableFrequencyResponse brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/ExpressionRadiationPattern/]]&lt;br /&gt;
| primary_rp.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/ExpressionRadiationPattern brief}}&lt;br /&gt;
|-&lt;br /&gt;
| [[/TableRadiationPattern/]]&lt;br /&gt;
| primary_rp.h&lt;br /&gt;
| {{Распространение радиоволн ВЧ/Реализация/TableRadiationPattern brief}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:radio_hf_obj_model.png|thumb|500px|Объектная модель [[Распространение радиоволн ВЧ/Реализация|radio_hf]]]].&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B4%D0%B8%D0%BE%D0%B2%D0%BE%D0%BB%D0%BD_%D0%92%D0%A7/%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F/radiation_set_t&amp;diff=9870</id>
		<title>Распространение радиоволн ВЧ/Реализация/radiation set t</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B4%D0%B8%D0%BE%D0%B2%D0%BE%D0%BB%D0%BD_%D0%92%D0%A7/%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F/radiation_set_t&amp;diff=9870"/>
		<updated>2020-12-08T09:37:19Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Исправлены ошибки в коде программы и документации&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Распространение радиоволн ВЧ/Реализация/radiation_set_t}}&lt;br /&gt;
{{class|Распространение радиоволн ВЧ/Реализация/radiation_set_t}}&lt;br /&gt;
&lt;br /&gt;
Тип реализует двумерную коллекцию направлений излучения, которая создается для заданного [[Распространение радиоволн ВЧ/Реализация/Source|источника поля]] и зависит от частоты излучения, номера итерации, а также от позиций [[Распространение радиоволн ВЧ/Реализация/ReflectingObject|отражающих поверхностей]] и [[Распространение радиоволн ВЧ/Реализация/ControlPointSet|контрольных точек]] относительно источника.&lt;br /&gt;
&lt;br /&gt;
[[File:radio_hf_src_angles.svg|thumb|В первом измерении перечисляются углы &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt; (зенита), а во втором - &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; (азимута) относительно некоторого центрального направления &amp;lt;math&amp;gt;\vec{v}&amp;lt;/math&amp;gt;. В случае отсутствия оптимизации по локальности отражающих поверхностей и контрольных точек &amp;lt;math&amp;gt;\vec{v}&amp;lt;/math&amp;gt; совпадает с главной осью источника. Если же используется оптимизация, вектор &amp;lt;math&amp;gt;\vec{v}&amp;lt;/math&amp;gt; совпадает с вектором, возвращаемым методом [[Распространение радиоволн ВЧ/Реализация/encompassing_aperture_t::central_point|encompassing_aperture_t::central_point]] над объектом, в свою очередь возвращенным методом [[Распространение радиоволн ВЧ/Реализация/Source::EncompassingAperture|Source::EncompassingAperture]] источника.|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:radio_hf_src_angles_diropt.svg|thumb|Минимизация количества элементов коллекции [[Распространение радиоволн ВЧ/Реализация/radiation_set_t|radiation_set_t]] путем локализации контрольных точек и отражающих поверхностей входной модели сектором на сфере, описанной вокруг источника &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;. Сектор, возвращаемый методом [[Распространение радиоволн ВЧ/Реализация/Source::EncompassingAperture|Source::EncompassingAperture]] источника, представлен центральным направлением &amp;lt;math&amp;gt;\vec{C_p}&amp;lt;/math&amp;gt; и ангулярным радиусом &amp;lt;math&amp;gt;\varphi_{\textrm{max}}&amp;lt;/math&amp;gt; вокруг этого направления. В процессе перечисления направлений излучения азимут &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; пробегает значения диапазона &amp;lt;math&amp;gt;\left[0, 2\pi\right)&amp;lt;/math&amp;gt;, а зенит &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt; - диапазона &amp;lt;math&amp;gt;\left[0, \varphi_{\textrm{max}}\right]\subset\left[0, \pi\right]&amp;lt;/math&amp;gt;. Оба угла заданы в базисе &amp;lt;math&amp;gt;\begin{pmatrix}x_L &amp;amp; y_L &amp;amp; z_L\end{pmatrix}&amp;lt;/math&amp;gt;, в котором направление &amp;lt;math&amp;gt;\vec{c_p}&amp;lt;/math&amp;gt; совпадает с аппликатой, как показано на рисунке.|500px]]&lt;br /&gt;
&lt;br /&gt;
Измерения индексируются с нуля. Первое, внешнее, измерение реализуется классами [[Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_1_collection|dyn_radiation_set_dim_1_collection]] и [[Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_1_enumerator|dyn_radiation_set_dim_1_enumerator]], первый из которых реализует коллекцию направлений в этом измерении, а второй - перечисление коллекций нулевого измерения для каждого элемента коллекции в первом измерении. &lt;br /&gt;
&lt;br /&gt;
Нулевое измерение реализуется классами [[Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_0_collection|dyn_radiation_set_dim_0_collection]] и [[Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_0_enumerator|dyn_radiation_set_dim_0_enumerator]] соответственно. Элементами коллекции в нулевом измерении являются пары угловых значений &amp;quot;азимут-зенит&amp;quot;, реализуемые структурой [[Распространение радиоволн ВЧ/Реализация/angle_pair|angle_pair]].&lt;br /&gt;
&lt;br /&gt;
Реализация перечисленных классов определяет в нулевом измерении перечисление азимутов &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; и в первом измерении - зенитов &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
При формировании коллекции направлений излучения производится минимизация числа элементов коллекции двумя способами. Первый - это зависимость ангулярного шага от значения функции характеристики направленности в текущей ангулярной позиции, как это описано для [[Распространение_радиоволн_ВЧ/Рей-трейсинг#.D0.A3.D0.B3.D0.BB.D0.BE.D0.B2.D0.BE.D0.B9_.D1.88.D0.B0.D0.B3_.D0.B4.D0.B8.D1.81.D0.BA.D1.80.D0.B5.D1.82.D0.B8.D0.B7.D0.B0.D1.86.D0.B8.D0.B8_.D0.BA.D0.B0.D0.BA_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D1.8F_.D0.A5.D0.9D|итерационного рей-трейсинга]]. Второй способ представляет собой ограничение сферы вокруг источника так, чтобы полученный сектор охватывал все отражающие поверхности и контрольные точки входной геометрической модели, и исключение из множества направлений тех из них, которые не принадлежат этому сектору. См. описание класса [[Распространение радиоволн ВЧ/Реализация/encompassing_aperture_t|encompassing_aperture_t]], который описывает такой сектор с помощью вектора направления на центральную точку сектора и ангулярного радиуса вокруг этого вектора.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;math&amp;gt;\Delta_{0, \textrm{min}}&amp;lt;/math&amp;gt; - управляющее значение, возвращенное методом [[Распространение_радиоволн_ВЧ/Config::AngularSamplingRateMin|Config::AngularSamplingRateMin]], &amp;lt;math&amp;gt;\Delta_{0, \textrm{max}}&amp;lt;/math&amp;gt; - управляющее значение, возвращенное методом [[Распространение_радиоволн_ВЧ/Config::AngularSamplingRateMax|Config::AngularSamplingRateMax]], &amp;lt;math&amp;gt;R\left(\omega,\theta,\varphi\right)&amp;lt;/math&amp;gt; - функция характеристики направленности источника, &amp;lt;math&amp;gt;i\ge 0&amp;lt;/math&amp;gt; - номер текущей итерации, &amp;lt;math&amp;gt;\delta\left(S, \theta, \varphi\right)&amp;lt;/math&amp;gt; - функция перехода от азимута &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; и зенита &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;, выраженных относительно вектора &amp;lt;math&amp;gt;\vec{c_p}&amp;lt;/math&amp;gt; источника &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; (см. рисунок), к азимуту и зениту, выраженным относительно главной оси источника, &amp;lt;math&amp;gt;\begin{pmatrix}\theta_s &amp;amp; \varphi_s \end{pmatrix} = \delta\left(S, \theta, \varphi\right)&amp;lt;/math&amp;gt;. Тогда ангулярный шаг в нулевом измерении расчитывается как функция&lt;br /&gt;
:&amp;lt;math&amp;gt;\Delta_\theta\left(\omega,\theta,\varphi\right) = \frac{\Delta_{0, \textrm{min}} + \left(\Delta_{0, \textrm{max}} - \Delta_{0, \textrm{min}}\right)\left(1 - R\left(\omega,\theta_s,\varphi_s\right)\right)}{2^i}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Зенит перечисляется в первом измерении с шагом &amp;lt;math&amp;gt;\Delta_\varphi\left(\omega,\varphi\right)=\Delta_\theta\left(\omega,0,\varphi\right)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Функция &amp;lt;math&amp;gt;\delta\left(S, \theta, \varphi\right)&amp;lt;/math&amp;gt; преобразования ангулярных координат относительно &amp;lt;math&amp;gt;\vec{c_p}&amp;lt;/math&amp;gt; источника &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; к базису &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; реализуется поворотом вектора &amp;lt;math&amp;gt;\vec{c_p}&amp;lt;/math&amp;gt; так, чтобы он совпал с направлением главной оси источника (которая в свою очередь совпадает с аппликатой базиса источника). То есть используется матрица поворота&lt;br /&gt;
:&amp;lt;math&amp;gt;T\left(\vec{c_p}\right)=\begin{bmatrix}&lt;br /&gt;
	\textrm{cos}\varphi_{cp} &amp;amp; 0 &amp;amp; -\textrm{sin}\varphi_{cp} \\&lt;br /&gt;
	0 &amp;amp; 1 &amp;amp; 0 \\&lt;br /&gt;
	\textrm{sin}\varphi_{cp} &amp;amp; 0 &amp;amp; \textrm{cos}\varphi_{cp}&lt;br /&gt;
\end{bmatrix}\begin{bmatrix}&lt;br /&gt;
	\textrm{cos}\theta_{cp} &amp;amp; \textrm{sin}\theta_{cp} &amp;amp; 0 \\&lt;br /&gt;
	-\textrm{sin}\theta_{cp} &amp;amp; \textrm{cos}\theta_{cp} &amp;amp; 0 \\&lt;br /&gt;
	0 &amp;amp; 0 &amp;amp; 1&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
\textrm{cos}\theta_{cp}\textrm{cos}\varphi_{cp} &amp;amp; \textrm{sin}\theta_{cp}\textrm{cos}\varphi_{cp} &amp;amp; -\textrm{sin}\varphi_{cp} \\&lt;br /&gt;
-\textrm{sin}\theta_{cp} &amp;amp; \textrm{cos}\theta_{cp} &amp;amp; 0 \\&lt;br /&gt;
\textrm{cos}\theta_{cp}\textrm{sin}\varphi_{cp} &amp;amp; \textrm{sin}\theta_{cp}\textrm{sin}\varphi_{cp} &amp;amp; \textrm{cos}\varphi_{cp}&lt;br /&gt;
\end{bmatrix}&amp;lt;/math&amp;gt;,&lt;br /&gt;
в которой пара значений &amp;lt;math&amp;gt;\begin{pmatrix}\theta_{cp} &amp;amp; \varphi_{cp}\end{pmatrix}&amp;lt;/math&amp;gt; возвращается вызванным над &amp;lt;math&amp;gt;\vec{c_p}&amp;lt;/math&amp;gt; методом [[Распространение радиоволн ВЧ/Реализация/Antenna::ToSpherical|Antenna::ToSpherical]] антенны источника &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; (см. [[Распространение радиоволн ВЧ/Реализация/Source::Antenna|Source::Antenna]]).&lt;br /&gt;
&lt;br /&gt;
Тогда направление, заданное углами &amp;lt;math&amp;gt;\left(\theta,\varphi\right)&amp;lt;/math&amp;gt; относительно &amp;lt;math&amp;gt;\vec{c_p}&amp;lt;/math&amp;gt;, в базисе источника будет иметь представление&lt;br /&gt;
:&amp;lt;math&amp;gt;P\left(\vec{c_p}, \theta,\varphi\right)=\left(T\left(\vec{c_p}\right)\right)^{-1}\begin{bmatrix}&lt;br /&gt;
	\textrm{sin}\varphi\textrm{cos}\theta \\&lt;br /&gt;
	\textrm{sin}\varphi\textrm{sin}\theta \\&lt;br /&gt;
	\textrm{cos}\varphi&lt;br /&gt;
\end{bmatrix} = \left(T\left(\vec{c_p}\right)\right)^T \begin{bmatrix}&lt;br /&gt;
	\textrm{sin}\varphi\textrm{cos}\theta \\&lt;br /&gt;
	\textrm{sin}\varphi\textrm{sin}\theta \\&lt;br /&gt;
	\textrm{cos}\varphi&lt;br /&gt;
\end{bmatrix} =&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
\textrm{cos}\theta_{cp}\textrm{cos}\varphi_{cp} &amp;amp; -\textrm{sin}\theta_{cp} &amp;amp; \textrm{cos}\theta_{cp}\textrm{sin}\varphi_{cp} \\&lt;br /&gt;
\textrm{sin}\theta_{cp}\textrm{cos}\varphi_{cp} &amp;amp; \textrm{cos}\theta_{cp} &amp;amp; \textrm{sin}\theta_{cp}\textrm{sin}\varphi_{cp} \\&lt;br /&gt;
-\textrm{sin}\varphi_{cp} &amp;amp; 0 &amp;amp; \textrm{cos}\varphi_{cp}&lt;br /&gt;
\end{bmatrix} \cdot&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
	\textrm{sin}\varphi\textrm{cos}\theta \\&lt;br /&gt;
	\textrm{sin}\varphi\textrm{sin}\theta \\&lt;br /&gt;
	\textrm{cos}\varphi&lt;br /&gt;
\end{bmatrix}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поэтому результирующая пара углов вычисляется следующим образом&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{pmatrix}\theta_s &amp;amp; \varphi_s\end{pmatrix} = &lt;br /&gt;
\left[&lt;br /&gt;
	\begin{matrix}&lt;br /&gt;
		\begin{pmatrix}0 &amp;amp; 0\end{pmatrix} \Leftrightarrow P_x^2 + P_y^2 \equiv 0 \\&lt;br /&gt;
		\begin{pmatrix}\textrm{sign}\left(P_y\right)\cdot\textrm{acos}\frac{P_x}{P_x^2+P_y^2} &amp;amp; \textrm{acos}\frac{P_z}{\left|P\right|}\end{pmatrix} \Leftrightarrow P_x^2 + P_y^2 \ne 0 \\&lt;br /&gt;
	\end{matrix}&lt;br /&gt;
\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Область определения функции &amp;lt;math&amp;gt;\delta\left(S, \theta, \varphi\right)&amp;lt;/math&amp;gt;: &amp;lt;math&amp;gt;\theta\in\left[0, 2\pi\right)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\varphi\in\left[0, \varphi_{\textrm{max}}\right]\subset\left[0, \pi\right]&amp;lt;/math&amp;gt;, где &amp;lt;math&amp;gt;\varphi_{\textrm{max}}&amp;lt;/math&amp;gt; - максимально возможный зенит - ангулярный радиус, значение которого возвращается методом [[Распространение радиоволн ВЧ/Реализация/encompassing_aperture_t::radius|encompassing_aperture_t::radius]], сектора сферы вокруг источника, так что все отражающие объекты и контрольные точки геометрической модели при отображении на сферу оказываются внутри сектора. При этом вектор &amp;lt;math&amp;gt;\vec{c_p}&amp;lt;/math&amp;gt;, возвращаемый методом [[Распространение радиоволн ВЧ/Реализация/encompassing_aperture_t::central_point|encompassing_aperture_t::central_point]], направлен на центр такого сектора.&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B4%D0%B8%D0%BE%D0%B2%D0%BE%D0%BB%D0%BD_%D0%92%D0%A7/%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F/radiation_set_t&amp;diff=9869</id>
		<title>Распространение радиоволн ВЧ/Реализация/radiation set t</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B4%D0%B8%D0%BE%D0%B2%D0%BE%D0%BB%D0%BD_%D0%92%D0%A7/%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F/radiation_set_t&amp;diff=9869"/>
		<updated>2020-12-08T05:38:00Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Распространение радиоволн ВЧ/Реализация/radiation_set_t}}&lt;br /&gt;
{{class|Распространение радиоволн ВЧ/Реализация/radiation_set_t}}&lt;br /&gt;
&lt;br /&gt;
Тип реализует двумерную коллекцию направлений излучения, которая создается для заданного [[Распространение радиоволн ВЧ/Реализация/Source|источника поля]] и зависит от частоты излучения, номера итерации, а также от позиций [[Распространение радиоволн ВЧ/Реализация/ReflectingObject|отражающих поверхностей]] и [[Распространение радиоволн ВЧ/Реализация/ControlPointSet|контрольных точек]] относительно источника.&lt;br /&gt;
&lt;br /&gt;
[[File:radio_hf_src_angles.svg|thumb|В первом измерении перечисляются углы &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt; (зенита), а во втором - &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; (азимута) относительно некоторого центрального направления &amp;lt;math&amp;gt;\vec{v}&amp;lt;/math&amp;gt;. В случае отсутствия оптимизации по локальности отражающих поверхностей и контрольных точек &amp;lt;math&amp;gt;\vec{v}&amp;lt;/math&amp;gt; совпадает с главной осью источника. Если же используется оптимизация, вектор &amp;lt;math&amp;gt;\vec{v}&amp;lt;/math&amp;gt; совпадает с вектором, возвращаемым методом [[Распространение радиоволн ВЧ/Реализация/encompassing_aperture_t::central_point|encompassing_aperture_t::central_point]] над объектом, в свою очередь возвращенным методом [[Распространение радиоволн ВЧ/Реализация/Source::EncompassingAperture|Source::EncompassingAperture]] источника.|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:radio_hf_src_angles_diropt.svg|thumb|Минимизация количества элементов коллекции [[Распространение радиоволн ВЧ/Реализация/radiation_set_t|radiation_set_t]] путем локализации контрольных точек и отражающих поверхностей входной модели сектором на сфере, описанной вокруг источника &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;. Сектор, возвращаемый методом [[Распространение радиоволн ВЧ/Реализация/Source::EncompassingAperture|Source::EncompassingAperture]] источника, представлен центральным направлением &amp;lt;math&amp;gt;\vec{C_p}&amp;lt;/math&amp;gt; и ангулярным радиусом &amp;lt;math&amp;gt;\varphi_{\textrm{max}}&amp;lt;/math&amp;gt; вокруг этого направления. В процессе перечисления направлений излучения азимут &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; пробегает значения диапазона &amp;lt;math&amp;gt;\left[0, 2\pi\right)&amp;lt;/math&amp;gt;, а зенит &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt; - диапазона &amp;lt;math&amp;gt;\left[0, \varphi_{\textrm{max}}\right]\subset\left[0, \pi\right]&amp;lt;/math&amp;gt;. Оба угла заданы в базисе &amp;lt;math&amp;gt;\begin{pmatrix}x_L &amp;amp; y_L &amp;amp; z_L\end{pmatrix}&amp;lt;/math&amp;gt;, в котором направление &amp;lt;math&amp;gt;\vec{c_p}&amp;lt;/math&amp;gt; совпадает с аппликатой, как показано на рисунке.|500px]]&lt;br /&gt;
&lt;br /&gt;
Измерения индексируются с нуля. Первое, внешнее, измерение реализуется классами [[Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_1_collection|dyn_radiation_set_dim_1_collection]] и [[Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_1_enumerator|dyn_radiation_set_dim_1_enumerator]], первый из которых реализует коллекцию направлений в этом измерении, а второй - перечисление коллекций нулевого измерения для каждого элемента коллекции в первом измерении. &lt;br /&gt;
&lt;br /&gt;
Нулевое измерение реализуется классами [[Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_0_collection|dyn_radiation_set_dim_0_collection]] и [[Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_0_enumerator|dyn_radiation_set_dim_0_enumerator]] соответственно. Элементами коллекции в нулевом измерении являются пары угловых значений &amp;quot;азимут-зенит&amp;quot;, реализуемые структурой [[Распространение радиоволн ВЧ/Реализация/angle_pair|angle_pair]].&lt;br /&gt;
&lt;br /&gt;
Реализация перечисленных классов определяет в нулевом измерении перечисление азимутов &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; и в первом измерении - зенитов &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
При формировании коллекции направлений излучения производится минимизация числа элементов коллекции двумя способами. Первый - это зависимость ангулярного шага от значения функции характеристики направленности в текущей ангулярной позиции, как это описано для [[Распространение_радиоволн_ВЧ/Рей-трейсинг#.D0.A3.D0.B3.D0.BB.D0.BE.D0.B2.D0.BE.D0.B9_.D1.88.D0.B0.D0.B3_.D0.B4.D0.B8.D1.81.D0.BA.D1.80.D0.B5.D1.82.D0.B8.D0.B7.D0.B0.D1.86.D0.B8.D0.B8_.D0.BA.D0.B0.D0.BA_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D1.8F_.D0.A5.D0.9D|итерационного рей-трейсинга]]. Второй способ представляет собой ограничение сферы вокруг источника так, чтобы полученный сектор охватывал все отражающие поверхности и контрольные точки входной геометрической модели, и исключение из множества направлений тех из них, которые не принадлежат этому сектору. См. описание класса [[Распространение радиоволн ВЧ/Реализация/encompassing_aperture_t|encompassing_aperture_t]], который описывает такой сектор с помощью вектора направления на центральную точку сектора и ангулярного радиуса вокруг этого вектора.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;math&amp;gt;\Delta_{0, \textrm{min}}&amp;lt;/math&amp;gt; - управляющее значение, возвращенное методом [[Распространение_радиоволн_ВЧ/Config::AngularSamplingRateMin|Config::AngularSamplingRateMin]], &amp;lt;math&amp;gt;\Delta_{0, \textrm{max}}&amp;lt;/math&amp;gt; - управляющее значение, возвращенное методом [[Распространение_радиоволн_ВЧ/Config::AngularSamplingRateMax|Config::AngularSamplingRateMax]], &amp;lt;math&amp;gt;R\left(\omega,\theta,\varphi\right)&amp;lt;/math&amp;gt; - функция характеристики направленности источника, &amp;lt;math&amp;gt;i\ge 0&amp;lt;/math&amp;gt; - номер текущей итерации, &amp;lt;math&amp;gt;\delta\left(S, \theta, \varphi\right)&amp;lt;/math&amp;gt; - функция перехода от азимута &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; и зенита &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;, выраженных относительно вектора &amp;lt;math&amp;gt;\vec{c_p}&amp;lt;/math&amp;gt; источника &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; (см. рисунок), к азимуту и зениту, выраженным относительно главной оси источника, &amp;lt;math&amp;gt;\begin{pmatrix}\theta_s &amp;amp; \varphi_s \end{pmatrix} = \delta\left(S, \theta, \varphi\right)&amp;lt;/math&amp;gt;. Тогда ангулярный шаг в нулевом измерении расчитывается как функция&lt;br /&gt;
:&amp;lt;math&amp;gt;\Delta_\theta\left(\omega,\theta,\varphi\right) = \frac{\Delta_{0, \textrm{min}} + \left(\Delta_{0, \textrm{max}} - \Delta_{0, \textrm{min}}\right)\left(1 - R\left(\omega,\theta_s,\varphi_s\right)\right)}{2^i}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Зенит перечисляется в первом измерении с шагом &amp;lt;math&amp;gt;\Delta_\varphi\left(\omega,\varphi\right)=\Delta_\theta\left(\omega,0,\varphi\right)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Функция &amp;lt;math&amp;gt;\delta\left(S, \theta, \varphi\right)&amp;lt;/math&amp;gt; преобразования ангулярных координат относительно &amp;lt;math&amp;gt;\vec{c_p}&amp;lt;/math&amp;gt; источника &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; к базису &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; реализуется поворотом вектора &amp;lt;math&amp;gt;\vec{c_p}&amp;lt;/math&amp;gt; так, чтобы он совпал с направлением главной оси источника (которая в свою очередь совпадает с аппликатой базиса источника). То есть используется матрица поворота&lt;br /&gt;
:&amp;lt;math&amp;gt;T\left(\vec{c_p}\right)=\begin{bmatrix}&lt;br /&gt;
	\textrm{cos}\varphi_{cp} &amp;amp; 0 &amp;amp; \textrm{sin}\varphi_{cp} \\&lt;br /&gt;
	0 &amp;amp; 1 &amp;amp; 0 \\&lt;br /&gt;
	-\textrm{sin}\varphi_{cp} &amp;amp; 0 &amp;amp; \textrm{cos}\varphi_{cp}&lt;br /&gt;
\end{bmatrix}\begin{bmatrix}&lt;br /&gt;
	\textrm{cos}\theta_{cp} &amp;amp; -\textrm{sin}\theta_{cp} &amp;amp; 0 \\&lt;br /&gt;
	\textrm{sin}\theta_{cp} &amp;amp; \textrm{cos}\theta_{cp} &amp;amp; 0 \\&lt;br /&gt;
	0 &amp;amp; 0 &amp;amp; 1&lt;br /&gt;
\end{bmatrix}&amp;lt;/math&amp;gt;,&lt;br /&gt;
в которой пара значений &amp;lt;math&amp;gt;\begin{pmatrix}\theta_{cp} &amp;amp; \varphi_{cp}\end{pmatrix}&amp;lt;/math&amp;gt; возвращается вызванным над &amp;lt;math&amp;gt;\vec{c_p}&amp;lt;/math&amp;gt; методом [[Распространение радиоволн ВЧ/Реализация/Antenna::ToSpherical|Antenna::ToSpherical]] антенны источника &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; (см. [[Распространение радиоволн ВЧ/Реализация/Source::Antenna|Source::Antenna]]).&lt;br /&gt;
&lt;br /&gt;
Тогда направление, заданное углами &amp;lt;math&amp;gt;\left(\theta,\varphi\right)&amp;lt;/math&amp;gt; относительно &amp;lt;math&amp;gt;\vec{c_p}&amp;lt;/math&amp;gt;, в базисе источника будет иметь представление&lt;br /&gt;
:&amp;lt;math&amp;gt;P\left(\vec{c_p}, \theta,\varphi\right)=T\left(\vec{c_p}\right)\begin{bmatrix}&lt;br /&gt;
	\textrm{sin}\varphi\textrm{cos}\theta \\&lt;br /&gt;
	\textrm{sin}\varphi\textrm{sin}\theta \\&lt;br /&gt;
	\textrm{cos}\varphi&lt;br /&gt;
\end{bmatrix}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поэтому результирующая пара углов вычисляется следующим образом&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{pmatrix}\theta_s &amp;amp; \varphi_s\end{pmatrix} = &lt;br /&gt;
\left[&lt;br /&gt;
	\begin{matrix}&lt;br /&gt;
		\begin{pmatrix}0 &amp;amp; 1\end{pmatrix} \Leftrightarrow P_x^2 + P_y^2 \equiv 0 \\&lt;br /&gt;
		\begin{pmatrix}\textrm{sign}\left(P_y\right)\cdot\textrm{acos}\frac{P_x}{P_x^2+P_y^2} &amp;amp; \textrm{acos}\frac{P_z}{\left|P\right|}\end{pmatrix} \Leftrightarrow P_x^2 + P_y^2 \ne 0 \\&lt;br /&gt;
	\end{matrix}&lt;br /&gt;
\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Область определения функции &amp;lt;math&amp;gt;\delta\left(S, \theta, \varphi\right)&amp;lt;/math&amp;gt;: &amp;lt;math&amp;gt;\theta\in\left[0, 2\pi\right)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\varphi\in\left[0, \varphi_{\textrm{max}}\right]\subset\left[0, \pi\right]&amp;lt;/math&amp;gt;, где &amp;lt;math&amp;gt;\varphi_{\textrm{max}}&amp;lt;/math&amp;gt; - максимально возможный зенит - ангулярный радиус, значение которого возвращается методом [[Распространение радиоволн ВЧ/Реализация/encompassing_aperture_t::radius|encompassing_aperture_t::radius]], сектора сферы вокруг источника, так что все отражающие объекты и контрольные точки геометрической модели при отображении на сферу оказываются внутри сектора. При этом вектор &amp;lt;math&amp;gt;\vec{c_p}&amp;lt;/math&amp;gt;, возвращаемый методом [[Распространение радиоволн ВЧ/Реализация/encompassing_aperture_t::central_point|encompassing_aperture_t::central_point]], направлен на центр такого сектора.&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=ILoadBalancer::RegisterFreeNode&amp;diff=9868</id>
		<title>ILoadBalancer::RegisterFreeNode</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=ILoadBalancer::RegisterFreeNode&amp;diff=9868"/>
		<updated>2020-11-15T13:27:04Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NavBar|{{Системная иерархия:ILoadBalancer}} \ RegisterFreeNode}}&lt;br /&gt;
&lt;br /&gt;
{{function_begin | return_code_t PLATFORM_NATIVE_CALLING_CONVENTION RegisterFreeNode(INode* pNode); |{{ILoadBalancer::RegisterFreeNode brief}}}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|pNode|Адрес реализации узла подсистемы предметной области. В случае успешности выполнения балансировщику передается владение объектом.|paramdir=[in]}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен. Если в результате регистрации узла превысится заданное балансировщиком максимально допустимое число узлов, регистрации не произойдет, а метод завершится с ошибкой [http://www.chusov.org/doxygen/group___error_handling.html#The_special_codes CHSVERROR_OUTOFMEMORY].}}&lt;br /&gt;
{{function_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9_%D0%A7%D1%83%D1%81%D0%BE%D0%B2&amp;diff=9867</id>
		<title>Участник:Андрей Чусов</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9_%D0%A7%D1%83%D1%81%D0%BE%D0%B2&amp;diff=9867"/>
		<updated>2020-09-13T12:14:19Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.chusov.org/fp_constants.html Постоянные с плавающей точкой]&lt;br /&gt;
&lt;br /&gt;
==Описать:==&lt;br /&gt;
&lt;br /&gt;
# [[CUDA]]&lt;br /&gt;
# [[Межъязыковая совместимость интерфейсов C и C++]];&lt;br /&gt;
# Методы классов в [[Реализация подсистемы управления]];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ПОП регистрируем на стороне пользователя.&lt;br /&gt;
&lt;br /&gt;
=Используемые сущности предметной области=&lt;br /&gt;
&lt;br /&gt;
{{relation_diagram|diagram=Entity relation diagram|graph=arch_ac_concept_relations_en|size=800px|regular=true|content=&lt;br /&gt;
{{relation_diagram addref|class=&amp;quot;Source with\nRadiation Pattern&amp;quot;|ref=[[Архитектурная акустика/Источник с характеристикой направленности]]}}&lt;br /&gt;
{{relation_diagram addref|class=&amp;quot;Directions\nBased Source&amp;quot;|ref=[[Архитектурная акустика/Источник излучения в заданных направлениях]]}}&lt;br /&gt;
{{relation_diagram addref|class=Source|ref=[[Архитектурная акустика/Источник]]}}&lt;br /&gt;
{{relation_diagram addref|class=&amp;quot;Primary\nSource&amp;quot;|ref=[[Архитектурная акустика/Первичный источник]]}}&lt;br /&gt;
{{relation_diagram addref|class=&amp;quot;Secondary\nSource&amp;quot;|ref=[[Архитектурная акустика/Вторичный источник]]}}&lt;br /&gt;
{{relation_diagram addref|class=&amp;quot;Frequency Response&amp;quot;|ref=[[Архитектурная акустика/Амплитудно-частотная характеристика]]}}&lt;br /&gt;
{{relation_diagram addref|class=&amp;quot;Radiation Pattern&amp;quot;|ref=[[Архитектурная акустика/Характеристика направленности]]}}&lt;br /&gt;
{{relation_diagram addref|class=Ray|ref=[[Архитектурная акустика/Луч]]}}&lt;br /&gt;
{{relation_diagram addref|class=&amp;quot;Reflecting\nBoundary&amp;quot;|ref=[[Архитектурная акустика/Поверхность]]}}&lt;br /&gt;
{{relation_diagram addref|class=&amp;quot;Reflecting\nObject&amp;quot;|ref=[[Архитектурная акустика/Объемный геометрический объект]]}}&lt;br /&gt;
{{relation_diagram addref|class=&amp;quot;Plane of Sound\nDistribution&amp;quot;|ref=[[Архитектурная акустика/Секущая плоскость вывода результатов]]}}&lt;br /&gt;
{{relation_diagram addref|class=&amp;quot;Rayleigh\nRadiaton Pattern&amp;quot;|ref=[[Архитектурная акустика/Характеристика направленности Релея]]}}&lt;br /&gt;
{{relation_diagram addref|class=&amp;quot;Table Radiation\nPattern&amp;quot;|ref=[[Архитектурная акустика/Табличная характеристика направленности]]}}&lt;br /&gt;
{{relation_diagram addref|class=&amp;quot;Rayleigh\nBased Source&amp;quot;|ref=[[Архитектурная акустика/Вторичный источник на основе интеграла Релея]]}}&lt;br /&gt;
{{relation_diagram addref|class=&amp;quot;Ray Tracing\nSecondary Source&amp;quot;|ref=[[Архитектурная акустика/Вторичный источник при рей-трейсинге]]}}&lt;br /&gt;
{{relation_diagram addref|class=&amp;quot;Medium of Sound Propagation&amp;quot;|ref=[[Архитектурная акустика/Среда распространения звука]]}}&lt;br /&gt;
&lt;br /&gt;
{{relation_diagram add|association|&amp;quot;Medium of Sound Propagation&amp;quot;|&amp;quot;Geometric\nSpace&amp;quot;|headlabel=*}}&lt;br /&gt;
{{relation_diagram add|composition|&amp;quot;Medium of Sound Propagation&amp;quot;|&amp;quot;Reflecting\nObject&amp;quot;|headlabel=*}}&lt;br /&gt;
{{relation_diagram add|composition|&amp;quot;Medium of Sound Propagation&amp;quot;|&amp;quot;Primary\nSource&amp;quot;|headlabel=*}}&lt;br /&gt;
{{relation_diagram add|composition|&amp;quot;Medium of Sound Propagation&amp;quot;|&amp;quot;Plane of Sound\nDistribution&amp;quot;|headlabel=*}}&lt;br /&gt;
{{relation_diagram add|composition|&amp;quot;Reflecting\nObject&amp;quot;|&amp;quot;Reflecting\nBoundary&amp;quot;|headlabel=*}}&lt;br /&gt;
{{relation_diagram add|association|&amp;quot;Reflecting\nBoundary&amp;quot;|&amp;quot;Secondary\nSource&amp;quot;}}&lt;br /&gt;
{{relation_diagram add|composition|&amp;quot;Source with\nRadiation Pattern&amp;quot;|&amp;quot;Radiation Pattern&amp;quot;}}&lt;br /&gt;
{{relation_diagram add|inheritance|&amp;quot;Primary\nSource&amp;quot;|&amp;quot;Source with\nRadiation Pattern&amp;quot;}}&lt;br /&gt;
{{relation_diagram add|inheritance|&amp;quot;Secondary\nSource&amp;quot;|&amp;quot;Source with\nRadiation Pattern&amp;quot;}}&lt;br /&gt;
{{relation_diagram add|inheritance|&amp;quot;Secondary\nSource&amp;quot;|&amp;quot;Directions\nBased Source&amp;quot;}}&lt;br /&gt;
{{relation_diagram add|inheritance|&amp;quot;Source with\nRadiation Pattern&amp;quot;|Source}}&lt;br /&gt;
{{relation_diagram add|inheritance|&amp;quot;Directions\nBased Source&amp;quot;|Source}}&lt;br /&gt;
{{relation_diagram add|composition|&amp;quot;Source with\nRadiation Pattern&amp;quot;|&amp;quot;Frequency Response&amp;quot;}}&lt;br /&gt;
{{relation_diagram add|inheritance|&amp;quot;Table Radiation\nPattern&amp;quot;|&amp;quot;Radiation Pattern&amp;quot;}}&lt;br /&gt;
{{relation_diagram add|inheritance|&amp;quot;Analitically Set\nRadiation Pattern&amp;quot;|&amp;quot;Radiation Pattern&amp;quot;}}&lt;br /&gt;
{{relation_diagram add|aggregation|Source|Ray}}&lt;br /&gt;
{{relation_diagram add|inheritance|&amp;quot;Rayleigh\nBased Source&amp;quot;|&amp;quot;Secondary\nSource&amp;quot;}}&lt;br /&gt;
{{relation_diagram add|composition|&amp;quot;Rayleigh\nBased Source&amp;quot;|&amp;quot;Rayleigh\nRadiaton Pattern&amp;quot;}}&lt;br /&gt;
{{relation_diagram add|inheritance|&amp;quot;Rayleigh\nRadiaton Pattern&amp;quot;|&amp;quot;Radiation Pattern&amp;quot;}}&lt;br /&gt;
{{relation_diagram add|inheritance|&amp;quot;Ray Tracing\nSecondary Source&amp;quot;|&amp;quot;Secondary\nSource&amp;quot;}}&lt;br /&gt;
{{relation_diagram add|composition|&amp;quot;Ray Tracing\nSecondary Source&amp;quot;|&amp;quot;Ray Tracing\nRadiation Direction&amp;quot;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
;Геометрическое пространство&lt;br /&gt;
:Трехмерное линейное евклидово пространство с обычными понятиями точки (класс [[POINT3DEXT]]), отрезка, прямой, кривой, плоскости, поверхности, объемная фигура. Элементы задаются с помощью классов-наследников от [http://{{SERVERNAME}}/doxygen/class_chusov_1_1_math_1_1_matrix.html Chusov::Math::Matrix].&lt;br /&gt;
;[[Архитектурная акустика/Поверхность|Поверхность]]&lt;br /&gt;
:Отражающая звук поверхность в помещении с некоторым коэффициентом отражения.&lt;br /&gt;
;[[Архитектурная акустика/Объемный геометрический объект|Объемный геометрический объект]].&lt;br /&gt;
:Объемный объект, представимый в виде набора плоских поверхностей, возможно, бесконечно малой площади.&lt;br /&gt;
;[[Архитектурная акустика/Луч|Луч]]&lt;br /&gt;
:Основной переносчик звуковой энергии в трехмерном пространстве.&lt;br /&gt;
;[[Архитектурная акустика/Первичный источник|Первичный источник]]&lt;br /&gt;
:Источник звука, который задается как входной параметр.&lt;br /&gt;
;[[Архитектурная акустика/Вторичный источник|Вторичный источник]]&lt;br /&gt;
:Источник звука, образуемый в результате отражения звука от поверхности.&lt;br /&gt;
;[[Архитектурная акустика/Секущая плоскость вывода результатов|Секущая плоскость вывода результатов]] моделирования&lt;br /&gt;
:Некоторая плоскость, которая сечет геометрическое пространство, и которая ассоциирована с матрицей, элементы которой &amp;quot;накапливают&amp;quot; звуковую энергию от первичных и вторичных источников. Сущность известна предметно-независимой подсистеме как [[IPlainObject]].&lt;br /&gt;
;[[Архитектурная акустика/Характеристика направленности|Характеристика направленности]] (ХН).&lt;br /&gt;
:Континуальное множество - область значений функции характеристики направленности источника поля от частоты и направления излучения звука. Задается реализацией функции направленности или таблицами значений нормированных значений интенсивности по направлениям и частотам.&lt;br /&gt;
;[[Архитектурная акустика/Амплитудно-частотная характеристика|Амплитудно-частотная характеристика]] (АЧХ)&lt;br /&gt;
:Континуальное множество - область значений функции зависимости интенсивности источника поля от частоты. Задается реализацией функции направленности или таблицами значений.&lt;br /&gt;
;[[Архитектурная акустика/Среда распространения звука|Среда распространения звука]]&lt;br /&gt;
: Определенная в геометрическом пространстве модель помещения с отражающими поверхностями, источниками звука, а также плоскостями вывода результатов моделирования.&lt;br /&gt;
&lt;br /&gt;
==Дополнительные сущности==&lt;br /&gt;
&lt;br /&gt;
;[[Архитектурная акустика/Табличная характеристика направленности|Табличная характеристика направленности]]&lt;br /&gt;
:Таблица значений характеристики звука для каждого из направлений. Таблица дискретна, ХН континуальна, поэтому внетабличные значения характеристики вычисляются путем вычисления среднего арифметического.&lt;br /&gt;
;[[Архитектурная акустика/Характеристика направленности Релея|Характеристика направленности Релея]]&lt;br /&gt;
:[[Архитектурная акустика/Характеристика направленности|Частично определенная]] характеристика направленности, расчитанная для колеблющегося поршня с помощью интеграла Релея.&lt;br /&gt;
;[[Архитектурная акустика/Вторичный источник на основе интеграла Релея|Вторичный источник на основе интеграла Релея]]&lt;br /&gt;
:Вторичный источник, связанный с колеблющимся поршнем, образуемым элементом поверхности. Является источником на основе характеристики направленности Релея.&lt;br /&gt;
;Множество направлений излучения при рей-трейсинге&lt;br /&gt;
:Множество из одного элемента-направления отражения звука при рей-трейсинге. Чисто логическая сущность, реализуемая классом [[Архитектурная акустика/CRayTracingCollection|CRayTracingCollection]].&lt;br /&gt;
;[[Архитектурная акустика/Вторичный источник при рей-трейсинге|Вторичный источник при рей-трейсинге]]&lt;br /&gt;
:Вторичный источник, связанный поверхностью, которая отражает падающий на нее луч по законам геометрической акустики (угол падения равен углу отражения). Является источником звука в одном заданном направлении, которая определяется сущностью &amp;quot;Множество направлений излучения при рей-трейсинге&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=Interface_implementation_base::RepresentAs&amp;diff=9866</id>
		<title>Interface implementation base::RepresentAs</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=Interface_implementation_base::RepresentAs&amp;diff=9866"/>
		<updated>2019-09-24T08:59:45Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:interface_implementation_base::RepresentAs}}&lt;br /&gt;
{{function_begin |return_code_t PLATFORM_NATIVE_CALLING_CONVENTION RepresentAs(typename interface_conversion_policy::interface_identifier_type type_id, void** ppInterface) noexcept; |{{interface_implementation_base::RepresentAs brief}}}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|type_id|Идентификатор интерфейса, имеющий тип &amp;lt;tt&amp;gt;interface_conversion_policy::interface_identifier_type&amp;lt;/tt&amp;gt;.}}&lt;br /&gt;
{{function_paramlist add|ppInterface|Выходной указатель, принимающий интерфейс типа, заданного идентификатором, или 0 в случае ошибки.|paramdir=[out]}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_return_value|32-битовый целый код ошибки, который в случае успешного выполнения неотрицателен (старший бит сброшен). В случае, если интерфейс, заданный идентификатором, не поддерживается, возвращается код [https://www.chusov.org/doxygen/group___error_handling.html CHSVERROR_INVALID_PARAMETER].}}&lt;br /&gt;
{{function_end}}&lt;br /&gt;
&lt;br /&gt;
Если шаблон [[interface_implementation_base]] специализирован с политикой {{param|interface_ref_ctr_policy}}, определяющей подсчет ссылок, то владение объектом, возвращенным через параметр {{param|ppInterface}}, разделяется с клиентом, вызвавшим [[interface_implementation_base::RepresentAs|RepresentAs]]. В случае, если подсчет ссылок не производится, например, если в качестве {{param|interface_ref_ctr_policy}} указана политика [[ref_ctr_policy_none]], разделения владениея не производится.&lt;br /&gt;
&lt;br /&gt;
Поэтому в случае успешного завершения функции, объект возвращенный через параметр &amp;lt;tt&amp;gt;ppInterface&amp;lt;/tt&amp;gt;, необходимо закрывать вызовом его метода [[InterfaceBase::Release|Release]] отдельно и независимо от объекта, над которым применен метод [[interface_implementation_base::RepresentAs|RepresentAs]], но только когда реализация осуществляет подсчет ссылок.&lt;br /&gt;
&lt;br /&gt;
Для проверки доступности того или иного интерфейса предпочтительно использовать метод [[interface_implementation_base::IsInterfaceAvailable|IsInterfaceAvailable]].&lt;br /&gt;
&lt;br /&gt;
Метод определен только в случае, если преобразование типов задано политикой &amp;lt;tt&amp;gt;interface_conversion_policy&amp;lt;/tt&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=Interface_implementation_base::RepresentAs&amp;diff=9865</id>
		<title>Interface implementation base::RepresentAs</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=Interface_implementation_base::RepresentAs&amp;diff=9865"/>
		<updated>2019-09-24T08:29:28Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:interface_implementation_base::RepresentAs}}&lt;br /&gt;
{{function_begin |return_code_t PLATFORM_NATIVE_CALLING_CONVENTION RepresentAs(typename interface_conversion_policy::interface_identifier_type type_id, void** ppInterface) noexcept; |{{interface_implementation_base::RepresentAs brief}}}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|type_id|Идентификатор интерфейса, имеющий тип &amp;lt;tt&amp;gt;interface_conversion_policy::interface_identifier_type&amp;lt;/tt&amp;gt;.}}&lt;br /&gt;
{{function_paramlist add|ppInterface|Выходной указатель, принимающий интерфейс типа, заданного идентификатором, или 0 в случае ошибки.|paramdir=[out]}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_return_value|32-битовый целый код ошибки, который в случае успешного выполнения неотрицателен (старший бит сброшен). В случае, если интерфейс, заданный идентификатором, не поддерживается, возвращается код [https://www.chusov.org/doxygen/group___error_handling.html CHSVERROR_INVALID_PARAMETER].}}&lt;br /&gt;
{{function_end}}&lt;br /&gt;
&lt;br /&gt;
В случае успешного завершения функции, полученный через параметр &amp;lt;tt&amp;gt;ppInterface&amp;lt;/tt&amp;gt; объект необходимо закрывать вызовом его метода [[InterfaceBase::Release|Release]] отдельно и независимо от объекта, над которым применен метод [[interface_implementation_base::RepresentAs|RepresentAs]].&lt;br /&gt;
&lt;br /&gt;
Для проверки доступности того или иного интерфейса предпочтительно использовать метод [[interface_implementation_base::IsInterfaceAvailable|IsInterfaceAvailable]].&lt;br /&gt;
&lt;br /&gt;
Метод определен только в случае, если преобразование типов задано политикой &amp;lt;tt&amp;gt;interface_conversion_policy&amp;lt;/tt&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%90%D0%B4%D0%B0%D0%BF%D1%82%D0%B5%D1%80_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0&amp;diff=9864</id>
		<title>Адаптер программного интерфейса</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%90%D0%B4%D0%B0%D0%BF%D1%82%D0%B5%D1%80_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0&amp;diff=9864"/>
		<updated>2019-09-11T20:24:58Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: /* Адаптер с владением AdapterOwn */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Адаптер над указателем на абстрактный интерфейс=&lt;br /&gt;
==Адаптер без владения AdapterRef==&lt;br /&gt;
&lt;br /&gt;
* Определен открытый псевдоним '''interface_type''' для типа интерфейса, над которым определен адаптер.&lt;br /&gt;
&lt;br /&gt;
* '''Конструктор по умолчанию''' определен, но доступен только классу AdapterOwn и порожденным классам, только '''если''' реализация интерфейсного указателя DefaultConstuctible (напр. nullptr). Интерфейсный указатель default-initialized. &lt;br /&gt;
&lt;br /&gt;
* '''Неявно преобразуем''' конструированием из интерфейсного указателя.&lt;br /&gt;
&lt;br /&gt;
* '''Конструктор копирования'''. Копирует интерфейсный указатель.&lt;br /&gt;
&lt;br /&gt;
* '''Конструктор перемещения'''. Копирует интерфейсный указатель.&lt;br /&gt;
&lt;br /&gt;
* '''Оператор присваивания с копированием'''.  '''Если''' через методы интерфейса определено глубокое копирование, выполнить глубокое копирование. Иначе оператор запрещен.&lt;br /&gt;
&lt;br /&gt;
* '''Оператор присваивания с перемещением'''. '''Если''' через методы интерфейса определено глубокое перемещение, выполнить глубокое перемещение. Иначе оператор запрещен.&lt;br /&gt;
&lt;br /&gt;
* Ссылка на экземпляр AdapterRef может быть '''получена неявно''' из ссылки на AdapterOwn, если есть.&lt;br /&gt;
&lt;br /&gt;
* Определен, но доступен только классу AdapterOwn и порожденным классам, метод '''reset_interface''', устанавливающий новый интерфейсный указатель из указателя на интерфейс, заданного в качестве параметра.&lt;br /&gt;
&lt;br /&gt;
* Определен метод '''get_interface''', возвращающий интерфейсный указатель, ассоциированный с адаптером.&lt;br /&gt;
&lt;br /&gt;
==Адаптер с владением AdapterOwn==&lt;br /&gt;
&lt;br /&gt;
* Определен открытый псевдоним '''interface_type''' для типа интерфейса, над которым определен адаптер.&lt;br /&gt;
&lt;br /&gt;
* '''Конструктор по умолчанию''' определен. При этом интерфейсный указатель должен быть default-initialized.&lt;br /&gt;
&lt;br /&gt;
* '''Конструктор копирования''' определен, '''если''' определен метод Clone интерфейса. Конструктор вызывает метод Clone для конструирования нового объекта.&lt;br /&gt;
&lt;br /&gt;
* '''Конструктор перемещения''' определен. Копирует интерфейсный указатель в конструируемый адаптер и default-initializes интерфейсный указатель перемещаемого адаптера.&lt;br /&gt;
&lt;br /&gt;
* '''Явный конструктор из AdapterRef''' определен, '''если''' определен метод Clone интерфейса. При вызове созданный AdapterOwn завладевает клоном объекта.&lt;br /&gt;
&lt;br /&gt;
* '''Оператор присваивания с копированием'''. Определен '''только если''' определен интерфейсный метод Clone или определено глубокое копирование.&lt;br /&gt;
Если оператор определен:&lt;br /&gt;
Присваивание default-initialized адаптера не default-initialized адаптеру не допускается и генерирует ошибку InvalidParameterException.&lt;br /&gt;
Присваивание default-initialized адаптера default-initialized адаптеру разрешено и не выполняет никаких действий.&lt;br /&gt;
Присваивание не default-initialized адаптера default-initialized адаптеру – определено, '''если''' определен интерфейсный метод Clone, вызов которого создает копию для нового адаптера.&lt;br /&gt;
Присваивание не default-initialized адаптера не default-initialized адаптеру определено через '''глубокое копирование''' через аксессоры адаптируемого объекта. &lt;br /&gt;
Если оператор определен, но не определена лишь одна из двух последних ветвей, генерируется ошибка вызова UnsupportedCallException.&lt;br /&gt;
&lt;br /&gt;
* '''Оператор присваивания из AdapterRef'''. Для default-initialized адаптера – определен, '''если''' определен интерфейсный метод Clone, вызов которого создает копию для нового адаптера.&lt;br /&gt;
&lt;br /&gt;
* '''Оператор присваивания с перемещением'''. Определен. Для default-initialized адаптера осуществляет копирование интерфейсного указателя и последующую инициализацию-по-умолчанию интерфейсного указателя вмещаемого адаптера. Если присваиваемый адаптер default-initialized, операция разрешена только если текущий хранимый интерфейсный указатель также default-initialized, иначе генерируется ошибка InvalidParameterException. Присваивание не default-initialized адаптеру не default-initialized адаптера определено через глубокое перемещение через аксессоры адаптируемого объекта. Если глубокое перемещение не определено, генерируется ошибка вызова UnsupportedCallException.&lt;br /&gt;
&lt;br /&gt;
* '''Явный конструктор из интерфейсного указателя.''' При вызове владение объектом переносится на созданный экземпляр AdapterOwn.&lt;br /&gt;
* Определен метод '''get_interface''', возвращающий интерфейсный указатель, ассоциированный с адаптером.&lt;br /&gt;
* Определен метод '''reset_ownership''', который закрывает ассоциированную с адаптером реализацию интерфейса, если она есть, и задает новую ассоциацию через указатель, заданный параметрически.&lt;br /&gt;
* Определен метод '''release_ownership''', возвращающий интерфейсный указатель, ассоциированный с адаптером и передающий владение интерфейсом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:AdapterUML.png|thumb|600px|Пример реализации адаптеров]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
# Глубокое перемещение может быть эквивалентно вызову Clone и заменой указателя.&lt;br /&gt;
# Для присваивания с перемещением может быть достаточно перемещение интерфейсного указателя в назначение и сброс его в источнике.&lt;br /&gt;
1 и 2 – напр. если адаптером и интерфейсом реализуется только семантика указателя/адреса.&lt;br /&gt;
&lt;br /&gt;
# Если на момент присваивания AdapterOwn&amp;lt;Int&amp;gt; не владеет объектом (т.е. является default-initialized), копия должна создаваться через вызов Int::Clone. Иначе должно выполняться глубокое копирование через accessor’ы. &lt;br /&gt;
# Если статически присваивание определено и, если (а) выполняется присваивание default-initialized адаптеру, интерфейс которого не определяет Clone, либо (б) выполняется присваивание адаптеру, уже содержащему интерфейс Int, accessor’ы которого не позволяют выполнить глубокое копирование, то должно генерироваться исключение о недопустимом вызове, напр. Chusov::Exceptions:: UnsupportedCallException.&lt;br /&gt;
# NB: AdapterRef – семантика ссылки, AdapterOwn – семантика объекта.&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=Ip4_address_t&amp;diff=9863</id>
		<title>Ip4 address t</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=Ip4_address_t&amp;diff=9863"/>
		<updated>2019-09-04T05:16:40Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:ip4_address_t}}&lt;br /&gt;
{{class|ip4_address_t}}&lt;br /&gt;
{{example_begin}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
ip4_address_t addr = {IPV4_ADDRESS, 0x7f000001}; //127.0.0.1&lt;br /&gt;
IInternetConnectionEndPoint pCP;&lt;br /&gt;
return_code_t err = CreateTCPClient(&amp;amp;addr, 80, &amp;amp;pCP) noexcept;&lt;br /&gt;
if (err &amp;lt; 0)&lt;br /&gt;
	std::cerr &amp;lt;&amp;lt; &amp;quot;Error &amp;quot; &amp;lt;&amp;lt; err &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
	//...&lt;br /&gt;
	pCP-&amp;gt;Release();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
{{example_end}}&lt;br /&gt;
{{sa_list_begin}}&lt;br /&gt;
{{sa_list_add|make_ip4_address}}&lt;br /&gt;
{{sa_list_add|ip6_address_t}}&lt;br /&gt;
{{sa_list_add|dns_address_t}}&lt;br /&gt;
{{sa_list_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=Make_ip6_address&amp;diff=9862</id>
		<title>Make ip6 address</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=Make_ip6_address&amp;diff=9862"/>
		<updated>2019-09-03T18:40:36Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Отмена правки 9861, сделанной Андрей Чусов (обсуждение)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:make_ip6_address}}&lt;br /&gt;
{{function_begin|constexpr ip6_address_t make_ip6_address(std::uint16_t w1, std::uint16_t w2, std::uint16_t w3, std::uint16_t w4, std::uint16_t w5, std::uint16_t w6, std::uint16_t w7, std::uint16_t w8, std::uint32_t nScope {{=}} 0) noexcept;|{{make_ip6_address brief}}}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|w1...w8|Шестнадцатибитные компоненты IPv6 адреса, среди которых {{param|w1}} - старший, а {{param|w8}} - младший.}}&lt;br /&gt;
{{function_paramlist add|nScope|Индекс области действия и зоны адреса IPv6.}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_return_value|Адрес IPv6, выраженный в формате [[ip6_address_t]].}}&lt;br /&gt;
{{function_sa_begin}}&lt;br /&gt;
{{function_sa_add|[[make_tcp_client]]|{{make_tcp_client brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_tcp_server]]|{{make_tcp_server brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_multipoint_tcp_server]]|{{make_multipoint_tcp_server brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_ip4_address]]|{{make_ip4_address brief}}}}&lt;br /&gt;
{{function_sa_end}}&lt;br /&gt;
{{function_end}}&lt;br /&gt;
&lt;br /&gt;
Функция является {{cpp_constexpr}} только на языке C++17.&lt;br /&gt;
{{example_begin|Формирование адреса IPv6 с помощью функции [[make_ip6_address]].}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
//1234:5678:9abc:def0:1234:5678:9abc:def0&lt;br /&gt;
auto addr = make_ip6_address(0x1234, 0x5678, 0x9abc, 0xdef0, 0x1234, 0x5678, 0x9abc, 0xdef0);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
{{example_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=Make_ip6_address&amp;diff=9861</id>
		<title>Make ip6 address</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=Make_ip6_address&amp;diff=9861"/>
		<updated>2019-09-03T18:40:15Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:make_ip6_address}}&lt;br /&gt;
{{function_begin|constexpr ip6_address_t make_ip6_address(std::uint16_t w1, std::uint16_t w2, std::uint16_t w3, std::uint16_t w4, std::uint16_t w5, std::uint16_t w6, std::uint16_t w7, std::uint16_t w8, std::uint32_t nScope {{=}} 0) noexcept;|{{make_ip6_address brief}}}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|w1...w8|Шестнадцатибитные компоненты IPv6 адреса, среди которых {{param|w1}} - старший, а {{param|w8}} - младший.}}&lt;br /&gt;
{{function_paramlist add|nScope|Индекс области действия и зоны адреса IPv6.}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_return_value|Адрес IPv6, выраженный в формате [[ip6_address_t]].}}&lt;br /&gt;
{{function_sa_begin}}&lt;br /&gt;
{{function_sa_add|[[make_tcp_client]]|{{make_tcp_client brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_tcp_server]]|{{make_tcp_server brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_multipoint_tcp_server]]|{{make_multipoint_tcp_server brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_ip4_address]]|{{make_ip4_address brief}}}}&lt;br /&gt;
{{function_sa_end}}&lt;br /&gt;
{{function_end}}&lt;br /&gt;
&lt;br /&gt;
Функция является {{cpp_constexpr}} только на языке C++17.&lt;br /&gt;
{{example_begin|Формирование адреса IPv6 с помощью функции [[make_ip6_address]].}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
//1234:5678:9abc:def0:1234:5678:9abc:def0&lt;br /&gt;
auto addr = make_ip6_address(0x1234, 0x5678, 0x9abc, 0xdef0, 0x1234, 0x5678, 0x9abc, 0xdef0, 0);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
{{example_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=Ip4_address_t&amp;diff=9860</id>
		<title>Ip4 address t</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=Ip4_address_t&amp;diff=9860"/>
		<updated>2019-09-03T18:39:12Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:ip4_address_t}}&lt;br /&gt;
{{class|ip4_address_t}}&lt;br /&gt;
{{example_begin}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
ip4_address_t addr = {IPV4_ADDRESS, 0xff000001}; //127.0.0.1&lt;br /&gt;
IInternetConnectionEndPoint pCP;&lt;br /&gt;
return_code_t err = CreateTCPClient(&amp;amp;addr, 80, &amp;amp;pCP) noexcept;&lt;br /&gt;
if (err &amp;lt; 0)&lt;br /&gt;
	std::cerr &amp;lt;&amp;lt; &amp;quot;Error &amp;quot; &amp;lt;&amp;lt; err &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
	//...&lt;br /&gt;
	pCP-&amp;gt;Release();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
{{example_end}}&lt;br /&gt;
{{sa_list_begin}}&lt;br /&gt;
{{sa_list_add|make_ip4_address}}&lt;br /&gt;
{{sa_list_add|ip6_address_t}}&lt;br /&gt;
{{sa_list_add|dns_address_t}}&lt;br /&gt;
{{sa_list_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=Ip6_address_t&amp;diff=9859</id>
		<title>Ip6 address t</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=Ip6_address_t&amp;diff=9859"/>
		<updated>2019-09-03T18:38:48Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:ip6_address_t}}&lt;br /&gt;
{{class|ip6_address_t}}&lt;br /&gt;
Компоненты адреса, кроме &amp;lt;tt&amp;gt;nScope&amp;lt;/tt&amp;gt;, связаны объединением. Элементы массива &amp;lt;tt&amp;gt;pScope&amp;lt;/tt&amp;gt; задаются в порядке от младшего байта адреса к старшему, а остальные компоненты [[ip6_address_t]], включая &amp;lt;tt&amp;gt;nScope&amp;lt;/tt&amp;gt;, - в формате Little-Endian.&lt;br /&gt;
&lt;br /&gt;
Определение структуры:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
struct ip6_address_t:remote_address_t&lt;br /&gt;
{&lt;br /&gt;
	union&lt;br /&gt;
	{&lt;br /&gt;
		struct&lt;br /&gt;
		{&lt;br /&gt;
			std::uint64_t nValueLow;&lt;br /&gt;
			std::uint64_t nValueHigh;&lt;br /&gt;
		} dq;&lt;br /&gt;
		std::uint16_t pWords[8];&lt;br /&gt;
		std::uint8_t pBytes[16];&lt;br /&gt;
	};&lt;br /&gt;
	std::uint32_t nScope;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
{{example_begin}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
ip6_address_t addr =&lt;br /&gt;
{&lt;br /&gt;
	IPV6_ADDRESS,&lt;br /&gt;
	{0x8888, 0x2001486048600000}, //2001:4860:4860::8888&lt;br /&gt;
	0 // default scope&lt;br /&gt;
};&lt;br /&gt;
IInternetConnectionEndPoint pCP;&lt;br /&gt;
return_code_t err = CreateTCPClient(&amp;amp;addr, 80, &amp;amp;pCP) noexcept;&lt;br /&gt;
if (err &amp;lt; 0)&lt;br /&gt;
	std::cerr &amp;lt;&amp;lt; &amp;quot;Error &amp;quot; &amp;lt;&amp;lt; err &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
	//...&lt;br /&gt;
	pCP-&amp;gt;Release();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
{{example_end}}&lt;br /&gt;
{{sa_list_begin}}&lt;br /&gt;
{{sa_list_add|make_ip6_address}}&lt;br /&gt;
{{sa_list_add|ip4_address_t}}&lt;br /&gt;
{{sa_list_add|dns_address_t}}&lt;br /&gt;
{{sa_list_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=Make_ip6_address&amp;diff=9858</id>
		<title>Make ip6 address</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=Make_ip6_address&amp;diff=9858"/>
		<updated>2019-09-03T18:38:05Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:make_ip6_address}}&lt;br /&gt;
{{function_begin|constexpr ip6_address_t make_ip6_address(std::uint16_t w1, std::uint16_t w2, std::uint16_t w3, std::uint16_t w4, std::uint16_t w5, std::uint16_t w6, std::uint16_t w7, std::uint16_t w8, std::uint32_t nScope {{=}} 0) noexcept;|{{make_ip6_address brief}}}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|w1...w8|Шестнадцатибитные компоненты IPv6 адреса, среди которых {{param|w1}} - старший, а {{param|w8}} - младший.}}&lt;br /&gt;
{{function_paramlist add|nScope|Индекс области действия и зоны адреса IPv6.}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_return_value|Адрес IPv6, выраженный в формате [[ip6_address_t]].}}&lt;br /&gt;
{{function_sa_begin}}&lt;br /&gt;
{{function_sa_add|[[make_tcp_client]]|{{make_tcp_client brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_tcp_server]]|{{make_tcp_server brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_multipoint_tcp_server]]|{{make_multipoint_tcp_server brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_ip4_address]]|{{make_ip4_address brief}}}}&lt;br /&gt;
{{function_sa_end}}&lt;br /&gt;
{{function_end}}&lt;br /&gt;
&lt;br /&gt;
Функция является {{cpp_constexpr}} только на языке C++17.&lt;br /&gt;
{{example_begin|Формирование адреса IPv6 с помощью функции [[make_ip6_address]].}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
//1234:5678:9abc:def0:1234:5678:9abc:def0&lt;br /&gt;
auto addr = make_ip6_address(0x1234, 0x5678, 0x9abc, 0xdef0, 0x1234, 0x5678, 0x9abc, 0xdef0);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
{{example_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=Make_ip6_address&amp;diff=9857</id>
		<title>Make ip6 address</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=Make_ip6_address&amp;diff=9857"/>
		<updated>2019-09-03T17:56:25Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:make_ip6_address}}&lt;br /&gt;
{{function_begin|constexpr ip6_address_t make_ip6_address(std::uint16_t w1, std::uint16_t w2, std::uint16_t w3, std::uint16_t w4, std::uint16_t w5, std::uint16_t w6, std::uint16_t w7, std::uint16_t w8, std::uint32_t nScope {{=}} 0) noexcept;|{{make_ip6_address brief}}}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|w1...w8|Шестнадцатибитные Little-Endian компоненты IPv6 адреса, среди которых {{param|w1}} - старший, а {{param|w8}} - младший.}}&lt;br /&gt;
{{function_paramlist add|nScope|Индекс области действия и зоны адреса IPv6.}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_return_value|Адрес IPv6, выраженный в формате [[ip6_address_t]].}}&lt;br /&gt;
{{function_sa_begin}}&lt;br /&gt;
{{function_sa_add|[[make_tcp_client]]|{{make_tcp_client brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_tcp_server]]|{{make_tcp_server brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_multipoint_tcp_server]]|{{make_multipoint_tcp_server brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_ip4_address]]|{{make_ip4_address brief}}}}&lt;br /&gt;
{{function_sa_end}}&lt;br /&gt;
{{function_end}}&lt;br /&gt;
&lt;br /&gt;
Функция является {{cpp_constexpr}} только на языке C++17.&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=IOutputStream::Write&amp;diff=9856</id>
		<title>IOutputStream::Write</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=IOutputStream::Write&amp;diff=9856"/>
		<updated>2019-08-25T08:25:40Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{function_begin|return_code_t Write( const void* pElement) noexcept; |{{IOutputStream::Write brief}}}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|pElement|Обобщенный указатель на один элемент. Если элементом является скалярный тип, в качестве параметра передается указатель на него. Если элементом является [[Программный интерфейс|интерфейс]], в качестве параметра передается указатель на реализацию (в отличие от метода [[IInputStream::Read]], который предполагает двойное разыменовывание).|paramdir=[In]}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен.}}&lt;br /&gt;
{{function_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=IOutputByteStream::WriteArray&amp;diff=9855</id>
		<title>IOutputByteStream::WriteArray</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=IOutputByteStream::WriteArray&amp;diff=9855"/>
		<updated>2019-08-25T08:25:15Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{function_begin|return_code_t PLATFORM_NATIVE_CALLING_CONVENTION WriteArray(const void* pBuf, std::uint64_t cbBuf) noexcept; |{{IOutputByteStream::WriteArray brief}}}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|pBuf|Указатель на вектор байт, которые необходимо записать в выходной поток.|paramdir=[in]}}&lt;br /&gt;
{{function_paramlist add|cbBuf|Длина вектора в байтах.}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен. В случае, если все данные успешно записаны, возвращается [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS] (0x20000000). При отмене данной операции в другом потоке выполнения возвращается [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS_CANCELLED] (0x2417000f). Также реализация может определять дополнительные коды успешного завершения, при которых данные будут записаны не полностью. В случае, если возвращается код успешного завершения операции, отличный от [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS] (0x20000000), результат последующих попыток записи в поток не определен.}}&lt;br /&gt;
{{function_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=IInputByteStream::ReadArray&amp;diff=9854</id>
		<title>IInputByteStream::ReadArray</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=IInputByteStream::ReadArray&amp;diff=9854"/>
		<updated>2019-08-25T08:24:36Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{function_begin|return_code_t PLATFORM_NATIVE_CALLING_CONVENTION ReadArray(void* pBuf, std::uint64_t* pcbRead) noexcept; |{{IInputStream::ReadArray brief}}}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|pBuf|Указатель на буфер, принимающий массив. Объем буфера, доступный для записи, задается входным значением *pcbRead.|paramdir=[out]}}&lt;br /&gt;
{{function_paramlist add|pcbRead|Указатель на 8-ми байтовый буфер, который на входе функции задает объем буфера &amp;lt;tt&amp;gt;pBuf&amp;lt;/tt&amp;gt;. На выходе принимает объем записанных в буфер данных.|paramdir=[in,out]}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен. В случае, если весь объем данных, заданный параметром *pcbRead, успешно считан, возвращается [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS] (0x20000000). Если в потоке имелось меньше данных, чем *pcbRead, возвращается [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS_FALSE] (0x20000001). При отмене данной операции в другом потоке выполнения возвращается [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS_CANCELLED] (0x2417000f). Также реализация может определять дополнительные коды успешного завершения, при которых данные будут считаны не полностью. В случае, если возвращается код успешного завершения операции, отличный от [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS] (0x20000000), результат последующих попыток считывания из потока на уровне абстракции [[IInputByteStream]] не определен.}}&lt;br /&gt;
{{function_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=IInputStream::Read&amp;diff=9853</id>
		<title>IInputStream::Read</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=IInputStream::Read&amp;diff=9853"/>
		<updated>2019-08-25T08:24:10Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{function_begin|return_code_t PLATFORM_NATIVE_CALLING_CONVENTION Read( void* pElement) noexcept; |{{IInputStream::Read brief}}}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|pElement|Выходной указатель на один элемент, приведенный к общему виду. Предполагается осведомленность клиента о типе элемента - это либо скалярный тип, либо [[Программный интерфейс|интерфейс]]. Если элементом является скалярный тип, метод принимает указатель на неинициализированное значение. Если элементом является интерфейс, то в качестве параметра задается указатель, значению которого методом присваивается адрес реализации интерфейса, которую нужно закрывать с помощью ее метода [[InterfaceBase::Release|Release]].|paramdir=[out]}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_return_value|32-битовый беззнаковый целый код ошибки, который в случае успешного выполнения неотрицателен. Если элемент успешно считан возвращается [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS] (0x20000000). Если элемент считать не удалось по причине отсутствия в потоке элементов, возвращается [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS_FALSE] (0x20000001). Также реализация может определять дополнительные коды успешного завершения, при которых данные будут считаны не полностью. В случае, если возвращается код успешного завершения операции, отличный от [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS] (0x20000000), результат последующих попыток считывания из потока на уровне абстракции [[IInputStream]] не определен.}}&lt;br /&gt;
{{function_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Reading_policy_flags&amp;diff=9852</id>
		<title>Шаблон:Reading policy flags</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Reading_policy_flags&amp;diff=9852"/>
		<updated>2019-08-25T04:55:23Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{enum_begin}}&lt;br /&gt;
{{enum_add|force_fill_buffer|&lt;br /&gt;
Операции чтения из потоков [[InputByteStreamRef]] блокируют осуществляющий чтение поток выполнения до тех пор, пока поданный на вход операции буфер не будет заполнен полностью, или операция чтения не будет явно отменена. Если данная политика не задана, операции чтения завершаются, как только из потока удается считать хоть какое-то количество данных, или происходит явная отмена операции. &lt;br /&gt;
&lt;br /&gt;
Например, если в результате неполного чтения достигнут конец данных, и флаг &amp;lt;tt&amp;gt;force_fill_buffer&amp;lt;/tt&amp;gt; сброшен, операции чтения вернут управление вызывающей чтение стороне. Если же флаг установлен, операции чтения будут пытаться читать данные до тех пор, пока выходной буфер не будет заполен полностью, или операция чтения не будет отменена.|value=1}}&lt;br /&gt;
{{enum_add|get_error_code|Операции чтения возвращают коды ошибок типа [[return_code_t]] вместо генерации исключений для типичных ошибок чтения.}}&lt;br /&gt;
{{enum_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=Reading_policy&amp;diff=9851</id>
		<title>Reading policy</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=Reading_policy&amp;diff=9851"/>
		<updated>2019-08-25T04:46:12Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «{{DISPLAYTITLE:reading_policy}} {{class|reading_policy}} {{reading_policy_example}} {{sa_list_begin}} {{sa_list_add|InputByteStreamRef::read}} {{sa_list_add|Input…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:reading_policy}}&lt;br /&gt;
{{class|reading_policy}}&lt;br /&gt;
{{reading_policy_example}}&lt;br /&gt;
{{sa_list_begin}}&lt;br /&gt;
{{sa_list_add|InputByteStreamRef::read}}&lt;br /&gt;
{{sa_list_add|InputByteStreamRef::read_as}}&lt;br /&gt;
{{sa_list_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Reading_policy_example&amp;diff=9850</id>
		<title>Шаблон:Reading policy example</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Reading_policy_example&amp;diff=9850"/>
		<updated>2019-08-25T04:45:41Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «{{Пример чтения из потока данных с заполнением буфера полностью и с использованием сигна…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Пример чтения из потока данных с заполнением буфера полностью и с использованием сигнализации об ошибках чтения с помощью кода завершения}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=InputByteStreamRef::read&amp;diff=9849</id>
		<title>InputByteStreamRef::read</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=InputByteStreamRef::read&amp;diff=9849"/>
		<updated>2019-08-25T04:44:55Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{function_begin |std::size_t read(void* pBuffer, std::size_t cbBuffer); /*1*/&lt;br /&gt;
 template &amp;lt;class ReadingPolicy&amp;gt;&lt;br /&gt;
/*см. ниже*/ read(void* pBuffer, std::size_t cbBuffer, ReadingPolicy); /*2*/ |{{InputByteStreamRef::read brief}}}}&lt;br /&gt;
{{function template paramlist begin}}&lt;br /&gt;
{{function template paramlist add|ReadingPolicy|Вычисляемый дедукцией тип политики чтения, используемой перегрузкой 2. Тип должен определять статическую константу компиляции &amp;lt;tt&amp;gt;value&amp;lt;/tt&amp;gt;, содержащую битовую маску идентификаторов компонент политики. Эти идентификаторы заданы перечислением [[reading_policy_flags]] и имеют следующие значения.&lt;br /&gt;
{{reading_policy_flags}}&lt;br /&gt;
&lt;br /&gt;
Существует также метафункция [[reading_policy]], которая позволяет задать маску политик шаблонными параметрами, как указано в примере ниже.}}&lt;br /&gt;
{{function template paramlist end}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|pBuffer|Указатель, который в случае успешного завершения функции принимает считанные данные. Объем считанных данных возвращается, прямо или опосредовано через пару, методами.|paramdir=[out]}}&lt;br /&gt;
{{function_paramlist add|cbBuffer|Размер буфера в байтах.}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_return_value|Перегрузка 1 возвращает объем прочитанных данных. Тип значения, возвращаемого перегрузкой 2, зависит от политики &amp;lt;tt&amp;gt;ReadingPolicy&amp;lt;/tt&amp;gt;. Если политикой не указан флаг &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;reading_policy_flags::get_error_code&amp;lt;/source&amp;gt;, перегрузка 2 возвращает объем считанных данных аналогично перегрузке 1. Если флаг &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;reading_policy_flags::get_error_code&amp;lt;/source&amp;gt; установлен, возвращается пара [https://en.cppreference.com/w/cpp/utility/pair std::pair] значений &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::pair&amp;lt;return_code_t, std::size_t&amp;gt;&amp;lt;/source&amp;gt; - код завершения чтения в качестве первого элемента пары, и объем считанных байт - в качестве второго.}}&lt;br /&gt;
{{function_sa_begin}}&lt;br /&gt;
{{function_sa_add|[[IInputByteStream::ReadArray]]}}&lt;br /&gt;
{{function_sa_add|[[InputByteStreamRef::read_as]]}}&lt;br /&gt;
{{function_sa_add|[[InputByteStreamRef::read_all_as]]}}&lt;br /&gt;
{{function_sa_end}}&lt;br /&gt;
{{function_end}}&lt;br /&gt;
&lt;br /&gt;
Если чтение блокирует вызывающий поток выполнения, и эта блокировка прерывается нормальным образом (например, когда поток осуществляет чтение из интернет канала, и другой поток вызывает метод [[IInternetConnectionEndPoint::CancelOperations]] над этим каналом, или по TCP каналу связи поступает сигнал &amp;lt;tt&amp;gt;[https://tools.ietf.org/html/rfc793#page-15 FIN])&amp;lt;/tt&amp;gt;), перегрузка 2, в зависимости от значения флага политики &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt; reading_policy_flags::get_error_code&amp;lt;/source&amp;gt;, возвращает код успешного завершения [https://www.chusov.org/doxygen/group___error_handling.html#CHSVCODES CHSVERROR_SUCCESS_CANCELLED] (0x2417000f) или генерирует исключение [https://www.chusov.org/doxygen/struct_chusov_1_1_exceptions_1_1_operation_cancelled_exception.html Chusov::Exceptions::OperationCancelledException]. Перегрузка 1 в таких случаях всегда генерирует это исключение.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tt&amp;gt;is&amp;lt;/tt&amp;gt; - объект класса [[InputByteStreamRef]]. Тогда вызов перегрузки 1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
is.read(pBuf, cbBuf);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
эквивалентен вызову перегрузки 2 следующим образом.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
is.read(pBuf, cbBuf, reading_policy&amp;lt;&amp;gt;());&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В отличие от метода [[InputByteStreamRef::read|read]] метод [[InputByteStreamRef::read_as|read_as]] по умолчанию использует политику &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;reading_policy_flags::force_fill_buffer&amp;lt;/source&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{InputByteStreamRef::read example}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:InputByteStreamRef::read_example&amp;diff=9848</id>
		<title>Шаблон:InputByteStreamRef::read example</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:InputByteStreamRef::read_example&amp;diff=9848"/>
		<updated>2019-08-25T04:44:46Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «{{Пример чтения из потока данных с заполнением буфера полностью и с использованием сигна…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Пример чтения из потока данных с заполнением буфера полностью и с использованием сигнализации об ошибках чтения с помощью кода завершения}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B8%D0%B7_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D1%81_%D0%B7%D0%B0%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D0%B1%D1%83%D1%84%D0%B5%D1%80%D0%B0_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B8_%D1%81_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC_%D1%81%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BE%D0%B1_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%D1%85_%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BA%D0%BE%D0%B4%D0%B0_%D0%B7%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%B8%D1%8F&amp;diff=9847</id>
		<title>Шаблон:Пример чтения из потока данных с заполнением буфера полностью и с использованием сигнализации об ошибках чтения с помощью кода завершения</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B8%D0%B7_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D1%81_%D0%B7%D0%B0%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_%D0%B1%D1%83%D1%84%D0%B5%D1%80%D0%B0_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E_%D0%B8_%D1%81_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC_%D1%81%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BE%D0%B1_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%D1%85_%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BA%D0%BE%D0%B4%D0%B0_%D0%B7%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%B8%D1%8F&amp;diff=9847"/>
		<updated>2019-08-25T04:44:38Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «{{example_begin|Чтение из потока с заполнением буфера полностью и с использованием сигнализаци…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{example_begin|Чтение из потока с заполнением буфера полностью и с использованием сигнализации об ошибках чтения с помощью кода завершения.}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;tuple&amp;gt;&lt;br /&gt;
#include &amp;lt;cstdint&amp;gt;&lt;br /&gt;
#include &amp;lt;camaas/istream.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
std::uint32_t read_dword(CAMaaS::InputByteStreamRef is)&lt;br /&gt;
{&lt;br /&gt;
    std::uint32_t result;&lt;br /&gt;
    return_code_t err;&lt;br /&gt;
    std::tie(err, std::ignore) = is.read(&amp;amp;result, sizeof(result), reading_policy&amp;lt;&lt;br /&gt;
        reading_policy_flags::force_fill_buffer, reading_policy_flags::get_error_code&amp;gt;());&lt;br /&gt;
    if (ChsvFailed(err))&lt;br /&gt;
        return std::uint32_t(-1);&lt;br /&gt;
    return result;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
{{example_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Reading_policy_body&amp;diff=9846</id>
		<title>Шаблон:Reading policy body</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Reading_policy_body&amp;diff=9846"/>
		<updated>2019-08-25T04:39:59Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «{{source_header|lang=cpp|template &amp;lt;reading_policy_flags...rpf&amp;gt; struct reading_policy;}} {{class template paramlist begin}} {{class template paramlist add|rpf|На…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{source_header|lang=cpp|template &amp;lt;reading_policy_flags...rpf&amp;gt;&lt;br /&gt;
struct reading_policy;}}&lt;br /&gt;
{{class template paramlist begin}}&lt;br /&gt;
{{class template paramlist add|rpf|Набор политик, определяемых константами перечисления [[reading_policy_flags]].}}&lt;br /&gt;
{{class template paramlist end}}&lt;br /&gt;
{{type_list_title|access=public}}&lt;br /&gt;
{{type_list_begin}}&lt;br /&gt;
{{type_list_add|reading_policy::type|Псевдоним целочисленного типа &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::underlying_type_t&amp;lt;reading_policy_flags&amp;gt;&amp;lt;/source&amp;gt;, реализующего перечисление [[reading_policy_flags]].}}&lt;br /&gt;
{{type_list_end}}&lt;br /&gt;
{{constant_list_begin}}&lt;br /&gt;
{{constant_list_add|reading_policy::value|Битовая маска политик {{param|rpf}}.|value=rpf {{!}} ...}}&lt;br /&gt;
{{constant_list_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Reading_policy_brief&amp;diff=9845</id>
		<title>Шаблон:Reading policy brief</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Reading_policy_brief&amp;diff=9845"/>
		<updated>2019-08-25T04:31:30Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «Создает политику чтения данных с помощью потоков.»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Создает политику чтения данных с помощью потоков.&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=Make_multipoint_tcp_server&amp;diff=9844</id>
		<title>Make multipoint tcp server</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=Make_multipoint_tcp_server&amp;diff=9844"/>
		<updated>2019-08-20T03:08:05Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:make_multipoint_tcp_server}}&lt;br /&gt;
{{function_begin|template &amp;lt;class traits_t, class alloc_t&amp;gt;&lt;br /&gt;
InternetConnectionEndPointOwn make_multipoint_tcp_server(const std::basic_string&amp;lt;char, traits_t, alloc_t&amp;gt;&amp;amp; strClientAddress, std::uint16_t nPortLE, std::size_t cBackLog); //1&lt;br /&gt;
InternetConnectionEndPointOwn make_multipoint_tcp_server(const char* pszClientAddress, std::uint16_t nPortLE, std::size_t cBackLog); //2&lt;br /&gt;
InternetConnectionEndPointOwn make_multipoint_tcp_server(const char* pClientAddress, std::size_t cchClientAddress, std::uint16_t nPortLE, std::size_t cBackLog); //3&lt;br /&gt;
InternetConnectionEndPointOwn make_multipoint_tcp_server(const ip4_address_t&amp;amp; ip4Client, std::uint16_t nPortLE, std::size_t cBackLog); //4&lt;br /&gt;
InternetConnectionEndPointOwn make_multipoint_tcp_server(std::uint32_t nClientAddressLE, std::uint16_t nPortLE, std::size_t cBackLog); //5&lt;br /&gt;
InternetConnectionEndPointOwn make_multipoint_tcp_server(const ip6_address_t&amp;amp; ip6Client, std::uint16_t nPortLE, std::size_t cBackLog); //6&lt;br /&gt;
InternetConnectionEndPointOwn make_multipoint_tcp_server(const std::uint8_t* pClientAddressLE, std::uint32_t nScope, std::uint16_t nPortLE, std::size_t cBackLog); //7&lt;br /&gt;
InternetConnectionEndPointOwn make_multipoint_tcp_server(std::uint16_t nPortLE, std::size_t cBackLog); //8|{{make_multipoint_tcp_server brief}}&lt;br /&gt;
# Создает сервер, который впоследствии будет принимать запросы на соединение от клиента, адрес которого задается строкой [https://en.cppreference.com/w/cpp/string/basic_string std::basic_string].&lt;br /&gt;
# Адрес клиента задается C-строкой, завершающейся терминальным нулем.&lt;br /&gt;
# Адрес клиента задается строкой байт заданной длины и без терминального нуля.&lt;br /&gt;
# Адрес клиента задается IPv4 адресом, заданным с помощью структуры [[ip4_address_t]].&lt;br /&gt;
# Адрес клиента задается IPv4 адресом, заданным четырехбайтовым целым в формате Little-Endian. Данная перегрузка менее предпочтительна по сравнению с более удобной в использовании связкой функции [[make_ip4_address]] и перегрузки 4, что реализует автоматическое форматирование и статический контроль типа адреса.&lt;br /&gt;
# Адрес клиента задается IPv6 адресом, заданным с помощью структуры [[ip6_address_t]].&lt;br /&gt;
# Адрес клиента задается IPv6 адресом, заданным указателем на буфер из шестнадцати байт в формате Little-Endian. Данная перегрузка менее предпочтительна по сравнению с более удобной в использовании связкой функции [[make_ip6_address]] и перегрузки 6, что реализует автоматическое форматирование и статический контроль типа адреса.&lt;br /&gt;
# Создает сервер, который будет удовлетворять запросы на соединение от любых клиентов.&lt;br /&gt;
}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|strClientAddress|Строка [https://en.cppreference.com/w/cpp/string/basic_string std::basic_string] с адресом клиента, запросы на соединения от которых будут удовлетворены сервером.}}&lt;br /&gt;
{{function_paramlist add|pszClientAddress|C-строка с терминальным нулем, содержащая адрес ожидаемого клиента.|paramdir=[in]}}&lt;br /&gt;
{{function_paramlist add|pClientAddress|Строка с адресом клиента, длина которой задается параметром {{param|cchClientAddress}}.|paramdir=[in]}}&lt;br /&gt;
{{function_paramlist add|cchClientAddress|Длина строки {{param|pClientAddress}} в байтах.}}&lt;br /&gt;
{{function_paramlist add|ip4Client|Ссылка на структуру [[ip4_address_t]] с IPv4 адресом ожидаемого клиента.}}&lt;br /&gt;
{{function_paramlist add|nClientAddressLE|Четырехбайтовое целое, задающее в Little-Endian формате IPv4 адрес ожидаемого клиента. Вместо вызова перегрузки 5 предпочтительно использование перегрузки 4 и вспомогательной функции [[make_ip4_address]]. При таком создании соединения осуществляется контроль форматирования IPv4 адреса, заданного побайтово, со статическим контролем типа адреса.}}&lt;br /&gt;
{{function_paramlist add|ip6|Ссылка на структуру [[ip6_address_t]] с IPv6 адресом ожидаемого клиента.}}&lt;br /&gt;
{{function_paramlist add|pClientAddressLE|Шестнадцатибайтовое целое, задающее в Little-Endian формате IPv4 адрес ожидаемого клиента. Вместо вызова перегрузки 7 предпочтительно использование перегрузки 6 и вспомогательной функции [[make_ip6_address]]. При таком создании соединения осуществляется контроль форматирования IPv6 адреса, заданного покомпонентно, со статическим контролем типа адреса.|paramdir=[in]}}&lt;br /&gt;
{{function_paramlist add|nScope|Контекст IPv6.}}&lt;br /&gt;
{{function_paramlist add|nPortLE|16-битовый порт, который должен быть прослушиваем сервером на предмет TCP подключений. Порт задается в Little-Endian формате.}}&lt;br /&gt;
{{function_paramlist add|cBackLog|Размер очереди TCP подключений к серверу по порту {{param|nPortLE}}. Если значение {{param|cBackLog}} равно 1, вызов полностью аналогичен вызову функции [[make_tcp_server]] с теми же значениями остальных параметров.}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_return_value|Объект [[InternetConnectionEndPointOwn]], реализующий точку доступа, которая будет прослушиваться сервером на предмет подключений со стороны клиента или клиентов.}}&lt;br /&gt;
{{function_sa_begin}}&lt;br /&gt;
{{function_sa_add|[[CreateMultipointTCPServer]]|{{CreateMultipointTCPServer brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_tcp_client]]|{{make_tcp_client brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_tcp_server]]|{{make_tcp_server brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_ip4_address]]|{{make_ip4_address brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_ip6_address]]|{{make_ip6_address brief}}}}&lt;br /&gt;
{{function_sa_end}}&lt;br /&gt;
{{function_end}}&lt;br /&gt;
&lt;br /&gt;
Вызов функции не переводит сервер в состояние прослушивания порта и не блокирует вызывающий поток выполнения до тех пор, пока сервер не осуществит первое чтение или запись с использованием потоков, соответственно, чтения и записи, которые для точки доступа &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;InternetConnectionEndPointOwn cp = make_multipoint_tcp_server(/*...*/);&amp;lt;/source&amp;gt; получены вызовами &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;cp.get_connection_handler().read();&amp;lt;/source&amp;gt; и &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;cp.get_connection_handler().write();&amp;lt;/source&amp;gt; (или аналогичными).&lt;br /&gt;
&lt;br /&gt;
В отличие от функции [[make_tcp_server]], сервер, созданный функцей [[make_multipoint_tcp_server]], реализует очередь соединений, позволяющую держать открытыми одновременно несколько соединений от одного или множества клиентов.&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=Make_tcp_server&amp;diff=9843</id>
		<title>Make tcp server</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=Make_tcp_server&amp;diff=9843"/>
		<updated>2019-08-20T03:07:36Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:make_tcp_server}}&lt;br /&gt;
{{function_begin|template &amp;lt;class traits_t, class alloc_t&amp;gt;&lt;br /&gt;
InternetConnectionEndPointOwn make_tcp_server(const std::basic_string&amp;lt;char, traits_t, alloc_t&amp;gt;&amp;amp; strClientAddress, std::uint16_t nPortLE); //1&lt;br /&gt;
InternetConnectionEndPointOwn make_tcp_server(const char* pszClientAddress, std::uint16_t nPortLE); //2&lt;br /&gt;
InternetConnectionEndPointOwn make_tcp_server(const char* pClientAddress, std::size_t cchClientAddress, std::uint16_t nPortLE); //3&lt;br /&gt;
InternetConnectionEndPointOwn make_tcp_server(const ip4_address_t&amp;amp; ip4Client, std::uint16_t nPortLE); //4&lt;br /&gt;
InternetConnectionEndPointOwn make_tcp_server(std::uint32_t nClientAddressLE, std::uint16_t nPortLE); //5&lt;br /&gt;
InternetConnectionEndPointOwn make_tcp_server(const ip6_address_t&amp;amp; ip6Client, std::uint16_t nPortLE); //6&lt;br /&gt;
InternetConnectionEndPointOwn make_tcp_server(const std::uint8_t* pClientAddressLE, std::uint32_t nScope, std::uint16_t nPortLE); //7&lt;br /&gt;
InternetConnectionEndPointOwn make_tcp_server(std::uint16_t nPortLE); //8|{{make_tcp_server brief}}&lt;br /&gt;
# Создает сервер, который впоследствии будет принимать запросы на соединение от клиента, адрес которого задается строкой [https://en.cppreference.com/w/cpp/string/basic_string std::basic_string].&lt;br /&gt;
# Адрес клиента задается C-строкой, завершающейся терминальным нулем.&lt;br /&gt;
# Адрес клиента задается строкой байт заданной длины и без терминального нуля.&lt;br /&gt;
# Адрес клиента задается IPv4 адресом, заданным с помощью структуры [[ip4_address_t]].&lt;br /&gt;
# Адрес клиента задается IPv4 адресом, заданным четырехбайтовым целым в формате Little-Endian. Данная перегрузка менее предпочтительна по сравнению с более удобной в использовании связкой функции [[make_ip4_address]] и перегрузки 4, что реализует автоматическое форматирование и статический контроль типа адреса.&lt;br /&gt;
# Адрес клиента задается IPv6 адресом, заданным с помощью структуры [[ip6_address_t]].&lt;br /&gt;
# Адрес клиента задается IPv6 адресом, заданным указателем на буфер из шестнадцати байт в формате Little-Endian. Данная перегрузка менее предпочтительна по сравнению с более удобной в использовании связкой функции [[make_ip6_address]] и перегрузки 6, что реализует автоматическое форматирование и статический контроль типа адреса.&lt;br /&gt;
# Создает сервер, который будет удовлетворять запросы на соединение от любых клиентов.&lt;br /&gt;
}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|strClientAddress|Строка [https://en.cppreference.com/w/cpp/string/basic_string std::basic_string] с адресом клиента, запросы на соединения от которых будут удовлетворены сервером.}}&lt;br /&gt;
{{function_paramlist add|pszClientAddress|C-строка с терминальным нулем, содержащая адрес ожидаемого клиента.|paramdir=[in]}}&lt;br /&gt;
{{function_paramlist add|pClientAddress|Строка с адресом клиента, длина которой задается параметром {{param|cchClientAddress}}.|paramdir=[in]}}&lt;br /&gt;
{{function_paramlist add|cchClientAddress|Длина строки {{param|pClientAddress}} в байтах.}}&lt;br /&gt;
{{function_paramlist add|ip4Client|Ссылка на структуру [[ip4_address_t]] с IPv4 адресом ожидаемого клиента.}}&lt;br /&gt;
{{function_paramlist add|nClientAddressLE|Четырехбайтовое целое, задающее в Little-Endian формате IPv4 адрес ожидаемого клиента. Вместо вызова перегрузки 5 предпочтительно использование перегрузки 4 и вспомогательной функции [[make_ip4_address]]. При таком создании соединения осуществляется контроль форматирования IPv4 адреса, заданного побайтово, со статическим контролем типа адреса.}}&lt;br /&gt;
{{function_paramlist add|ip6|Ссылка на структуру [[ip6_address_t]] с IPv6 адресом ожидаемого клиента.}}&lt;br /&gt;
{{function_paramlist add|pClientAddressLE|Шестнадцатибайтовое целое, задающее в Little-Endian формате IPv4 адрес ожидаемого клиента. Вместо вызова перегрузки 7 предпочтительно использование перегрузки 6 и вспомогательной функции [[make_ip6_address]]. При таком создании соединения осуществляется контроль форматирования IPv6 адреса, заданного покомпонентно, со статическим контролем типа адреса.|paramdir=[in]}}&lt;br /&gt;
{{function_paramlist add|nScope|Контекст IPv6.}}&lt;br /&gt;
{{function_paramlist add|nPortLE|16-битовый порт, который должен быть прослушиваем сервером на предмет TCP подключений. Порт задается в Little-Endian формате.}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_return_value|Объект [[InternetConnectionEndPointOwn]], реализующий точку доступа, которая будет прослушиваться сервером на предмет подключений со стороны клиента.}}&lt;br /&gt;
{{function_sa_begin}}&lt;br /&gt;
{{function_sa_add|[[CreateTCPServer]]|{{CreateTCPServer brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_tcp_client]]|{{make_tcp_client brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_multipoint_tcp_server]]|{{make_multipoint_tcp_server brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_ip4_address]]|{{make_ip4_address brief}}}}&lt;br /&gt;
{{function_sa_add|[[make_ip6_address]]|{{make_ip6_address brief}}}}&lt;br /&gt;
{{function_sa_end}}&lt;br /&gt;
{{function_end}}&lt;br /&gt;
&lt;br /&gt;
Вызов функции не переводит сервер в состояние прослушивания порта и не блокирует вызывающий поток выполнения до тех пор, пока сервер не осуществит первое чтение или запись с использованием потоков, соответственно, чтения и записи, которые для точки доступа &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;InternetConnectionEndPointOwn cp = make_tcp_server(/*...*/);&amp;lt;/source&amp;gt; получены вызовами &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;cp.get_connection_handler().read();&amp;lt;/source&amp;gt; и &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;cp.get_connection_handler().write();&amp;lt;/source&amp;gt; (или аналогичными).&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%9A%D0%BB%D1%8E%D1%87%D0%B5%D0%B2%D1%8B%D0%B5_%D1%81%D0%BB%D0%BE%D0%B2%D0%B0_C%2B%2B&amp;diff=9842</id>
		<title>Ключевые слова C++</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%9A%D0%BB%D1%8E%D1%87%D0%B5%D0%B2%D1%8B%D0%B5_%D1%81%D0%BB%D0%BE%D0%B2%D0%B0_C%2B%2B&amp;diff=9842"/>
		<updated>2019-08-20T03:05:20Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Шаблон:cpp_alignas]]: &amp;lt;nowiki&amp;gt;{{cpp_alignas}}&amp;lt;/nowiki&amp;gt; → {{cpp_alignas}}&lt;br /&gt;
* [[Шаблон:cpp_alignof]]: &amp;lt;nowiki&amp;gt;{{cpp_alignof}}&amp;lt;/nowiki&amp;gt; → {{cpp_alignof}}&lt;br /&gt;
* [[Шаблон:cpp_asm]]: &amp;lt;nowiki&amp;gt;{{cpp_asm}}&amp;lt;/nowiki&amp;gt; → {{cpp_asm}}&lt;br /&gt;
* [[Шаблон:cpp_atomic_cancel]]: &amp;lt;nowiki&amp;gt;{{cpp_atomic_cancel}}&amp;lt;/nowiki&amp;gt; → {{cpp_atomic_cancel}}&lt;br /&gt;
* [[Шаблон:cpp_atomic_commit]]: &amp;lt;nowiki&amp;gt;{{cpp_atomic_commit}}&amp;lt;/nowiki&amp;gt; → {{cpp_atomic_commit}}&lt;br /&gt;
* [[Шаблон:cpp_atomic_noexcept]]: &amp;lt;nowiki&amp;gt;{{cpp_atomic_noexcept}}&amp;lt;/nowiki&amp;gt; → {{cpp_atomic_noexcept}}&lt;br /&gt;
* [[Шаблон:cpp_auto]]: &amp;lt;nowiki&amp;gt;{{cpp_auto}}&amp;lt;/nowiki&amp;gt; → {{cpp_auto}}&lt;br /&gt;
* [[Шаблон:cpp_bool]]: &amp;lt;nowiki&amp;gt;{{cpp_bool}}&amp;lt;/nowiki&amp;gt; → {{cpp_bool}}&lt;br /&gt;
* [[Шаблон:cpp_break]]: &amp;lt;nowiki&amp;gt;{{cpp_break}}&amp;lt;/nowiki&amp;gt; → {{cpp_break}}&lt;br /&gt;
* [[Шаблон:cpp_case]]: &amp;lt;nowiki&amp;gt;{{cpp_case}}&amp;lt;/nowiki&amp;gt; → {{cpp_case}}&lt;br /&gt;
* [[Шаблон:cpp_catch]]: &amp;lt;nowiki&amp;gt;{{cpp_catch}}&amp;lt;/nowiki&amp;gt; → {{cpp_catch}}&lt;br /&gt;
* [[Шаблон:cpp_char]]: &amp;lt;nowiki&amp;gt;{{cpp_char}}&amp;lt;/nowiki&amp;gt; → {{cpp_char}}&lt;br /&gt;
* [[Шаблон:cpp_char8_t]]: &amp;lt;nowiki&amp;gt;{{cpp_char8_t}}&amp;lt;/nowiki&amp;gt; → {{cpp_char8_t}}&lt;br /&gt;
* [[Шаблон:cpp_char16_t]]: &amp;lt;nowiki&amp;gt;{{cpp_char16_t}}&amp;lt;/nowiki&amp;gt; → {{cpp_char16_t}}&lt;br /&gt;
* [[Шаблон:cpp_char32_t]]: &amp;lt;nowiki&amp;gt;{{cpp_char32_t}}&amp;lt;/nowiki&amp;gt; → {{cpp_char32_t}}&lt;br /&gt;
* [[Шаблон:cpp_const]]: &amp;lt;nowiki&amp;gt;{{cpp_const}}&amp;lt;/nowiki&amp;gt; → {{cpp_const}}&lt;br /&gt;
* [[Шаблон:cpp_consteval]]: &amp;lt;nowiki&amp;gt;{{cpp_consteval}}&amp;lt;/nowiki&amp;gt; → {{cpp_consteval}}&lt;br /&gt;
* [[Шаблон:cpp_constexpr]]: &amp;lt;nowiki&amp;gt;{{cpp_constexpr}}&amp;lt;/nowiki&amp;gt; → {{cpp_constexpr}}&lt;br /&gt;
* [[Шаблон:cpp_const_cast]]: &amp;lt;nowiki&amp;gt;{{cpp_const_cast}}&amp;lt;/nowiki&amp;gt; → {{cpp_const_cast}}&lt;br /&gt;
* [[Шаблон:cpp_continue]]: &amp;lt;nowiki&amp;gt;{{cpp_continue}}&amp;lt;/nowiki&amp;gt; → {{cpp_continue}}&lt;br /&gt;
* [[Шаблон:cpp_co_await]]: &amp;lt;nowiki&amp;gt;{{cpp_co_await}}&amp;lt;/nowiki&amp;gt; → {{cpp_co_await}}&lt;br /&gt;
* [[Шаблон:cpp_co_return]]: &amp;lt;nowiki&amp;gt;{{cpp_co_return}}&amp;lt;/nowiki&amp;gt; → {{cpp_co_return}}&lt;br /&gt;
* [[Шаблон:cpp_co_yield]]: &amp;lt;nowiki&amp;gt;{{cpp_co_yield}}&amp;lt;/nowiki&amp;gt; → {{cpp_co_yield}}&lt;br /&gt;
* [[Шаблон:cpp_decltype]]: &amp;lt;nowiki&amp;gt;{{cpp_decltype}}&amp;lt;/nowiki&amp;gt; → {{cpp_decltype}}&lt;br /&gt;
* [[Шаблон:cpp_default]]: &amp;lt;nowiki&amp;gt;{{cpp_default}}&amp;lt;/nowiki&amp;gt; → {{cpp_default}}&lt;br /&gt;
* [[Шаблон:cpp_delete]]: &amp;lt;nowiki&amp;gt;{{cpp_delete}}&amp;lt;/nowiki&amp;gt; → {{cpp_delete}}&lt;br /&gt;
* [[Шаблон:cpp_do]]: &amp;lt;nowiki&amp;gt;{{cpp_do}}&amp;lt;/nowiki&amp;gt; → {{cpp_do}}&lt;br /&gt;
* [[Шаблон:cpp_double]]: &amp;lt;nowiki&amp;gt;{{cpp_double}}&amp;lt;/nowiki&amp;gt; → {{cpp_double}}&lt;br /&gt;
* [[Шаблон:cpp_dynamic_cast]]: &amp;lt;nowiki&amp;gt;{{cpp_dynamic_cast}}&amp;lt;/nowiki&amp;gt; → {{cpp_dynamic_cast}}&lt;br /&gt;
* [[Шаблон:cpp_else]]: &amp;lt;nowiki&amp;gt;{{cpp_else}}&amp;lt;/nowiki&amp;gt; → {{cpp_else}}&lt;br /&gt;
* [[Шаблон:cpp_enum]]: &amp;lt;nowiki&amp;gt;{{cpp_enum}}&amp;lt;/nowiki&amp;gt; → {{cpp_enum}}&lt;br /&gt;
* [[Шаблон:cpp_explicit]]: &amp;lt;nowiki&amp;gt;{{cpp_explicit}}&amp;lt;/nowiki&amp;gt; → {{cpp_explicit}}&lt;br /&gt;
* [[Шаблон:cpp_export]]: &amp;lt;nowiki&amp;gt;{{cpp_export}}&amp;lt;/nowiki&amp;gt; → {{cpp_export}}&lt;br /&gt;
* [[Шаблон:cpp_extern]]: &amp;lt;nowiki&amp;gt;{{cpp_extern}}&amp;lt;/nowiki&amp;gt; → {{cpp_extern}}&lt;br /&gt;
* [[Шаблон:cpp_false]]: &amp;lt;nowiki&amp;gt;{{cpp_false}}&amp;lt;/nowiki&amp;gt; → {{cpp_false}}&lt;br /&gt;
* [[Шаблон:cpp_float]]: &amp;lt;nowiki&amp;gt;{{cpp_float}}&amp;lt;/nowiki&amp;gt; → {{cpp_float}}&lt;br /&gt;
* [[Шаблон:cpp_for]]: &amp;lt;nowiki&amp;gt;{{cpp_for}}&amp;lt;/nowiki&amp;gt; → {{cpp_for}}&lt;br /&gt;
* [[Шаблон:cpp_friend]]: &amp;lt;nowiki&amp;gt;{{cpp_friend}}&amp;lt;/nowiki&amp;gt; → {{cpp_friend}}&lt;br /&gt;
* [[Шаблон:cpp_goto]]: &amp;lt;nowiki&amp;gt;{{cpp_goto}}&amp;lt;/nowiki&amp;gt; → {{cpp_goto}}&lt;br /&gt;
* [[Шаблон:cpp_if]]: &amp;lt;nowiki&amp;gt;{{cpp_if}}&amp;lt;/nowiki&amp;gt; → {{cpp_if}}&lt;br /&gt;
* [[Шаблон:cpp_inline]]: &amp;lt;nowiki&amp;gt;{{cpp_inline}}&amp;lt;/nowiki&amp;gt; → {{cpp_inline}}&lt;br /&gt;
* [[Шаблон:cpp_int]]: &amp;lt;nowiki&amp;gt;{{cpp_int}}&amp;lt;/nowiki&amp;gt; → {{cpp_int}}&lt;br /&gt;
* [[Шаблон:cpp_long]]: &amp;lt;nowiki&amp;gt;{{cpp_long}}&amp;lt;/nowiki&amp;gt; → {{cpp_long}}&lt;br /&gt;
* [[Шаблон:cpp_mutable]]: &amp;lt;nowiki&amp;gt;{{cpp_mutable}}&amp;lt;/nowiki&amp;gt; → {{cpp_mutable}}&lt;br /&gt;
* [[Шаблон:cpp_namespace]]: &amp;lt;nowiki&amp;gt;{{cpp_namespace}}&amp;lt;/nowiki&amp;gt; → {{cpp_namespace}}&lt;br /&gt;
* [[Шаблон:cpp_new]]: &amp;lt;nowiki&amp;gt;{{cpp_new}}&amp;lt;/nowiki&amp;gt; → {{cpp_new}}&lt;br /&gt;
* [[Шаблон:cpp_noexcept]]: &amp;lt;nowiki&amp;gt;{{cpp_noexcept}}&amp;lt;/nowiki&amp;gt; → {{cpp_noexcept}}&lt;br /&gt;
* [[Шаблон:cpp_nullptr]]: &amp;lt;nowiki&amp;gt;{{cpp_nullptr}}&amp;lt;/nowiki&amp;gt; → {{cpp_nullptr}}&lt;br /&gt;
* [[Шаблон:cpp_operator]]: &amp;lt;nowiki&amp;gt;{{cpp_operator}}&amp;lt;/nowiki&amp;gt; → {{cpp_operator}}&lt;br /&gt;
* [[Шаблон:cpp_private]]: &amp;lt;nowiki&amp;gt;{{cpp_private}}&amp;lt;/nowiki&amp;gt; → {{cpp_private}}&lt;br /&gt;
* [[Шаблон:cpp_protected]]: &amp;lt;nowiki&amp;gt;{{cpp_protected}}&amp;lt;/nowiki&amp;gt; → {{cpp_protected}}&lt;br /&gt;
* [[Шаблон:cpp_public]]: &amp;lt;nowiki&amp;gt;{{cpp_public}}&amp;lt;/nowiki&amp;gt; → {{cpp_public}}&lt;br /&gt;
* [[Шаблон:cpp_reinterpret_cast]]: &amp;lt;nowiki&amp;gt;{{cpp_reinterpret_cast}}&amp;lt;/nowiki&amp;gt; → {{cpp_reinterpret_cast}}&lt;br /&gt;
* [[Шаблон:cpp_requires]]: &amp;lt;nowiki&amp;gt;{{cpp_requires}}&amp;lt;/nowiki&amp;gt; → {{cpp_requires}}&lt;br /&gt;
* [[Шаблон:cpp_return]]: &amp;lt;nowiki&amp;gt;{{cpp_return}}&amp;lt;/nowiki&amp;gt; → {{cpp_return}}&lt;br /&gt;
* [[Шаблон:cpp_short]]: &amp;lt;nowiki&amp;gt;{{cpp_short}}&amp;lt;/nowiki&amp;gt; → {{cpp_short}}&lt;br /&gt;
* [[Шаблон:cpp_signed]]: &amp;lt;nowiki&amp;gt;{{cpp_signed}}&amp;lt;/nowiki&amp;gt; → {{cpp_signed}}&lt;br /&gt;
* [[Шаблон:cpp_sizeof]]: &amp;lt;nowiki&amp;gt;{{cpp_sizeof}}&amp;lt;/nowiki&amp;gt; → {{cpp_sizeof}}&lt;br /&gt;
* [[Шаблон:cpp_static]]: &amp;lt;nowiki&amp;gt;{{cpp_static}}&amp;lt;/nowiki&amp;gt; → {{cpp_static}}&lt;br /&gt;
* [[Шаблон:cpp_static_assert]]: &amp;lt;nowiki&amp;gt;{{cpp_static_assert}}&amp;lt;/nowiki&amp;gt; → {{cpp_static_assert}}&lt;br /&gt;
* [[Шаблон:cpp_static_cast]]: &amp;lt;nowiki&amp;gt;{{cpp_static_cast}}&amp;lt;/nowiki&amp;gt; → {{cpp_static_cast}}&lt;br /&gt;
* [[Шаблон:cpp_struct]]: &amp;lt;nowiki&amp;gt;{{cpp_struct}}&amp;lt;/nowiki&amp;gt; → {{cpp_struct}}&lt;br /&gt;
* [[Шаблон:cpp_switch]]: &amp;lt;nowiki&amp;gt;{{cpp_switch}}&amp;lt;/nowiki&amp;gt; → {{cpp_switch}}&lt;br /&gt;
* [[Шаблон:cpp_synchronized]]: &amp;lt;nowiki&amp;gt;{{cpp_synchronized}}&amp;lt;/nowiki&amp;gt; → {{cpp_synchronized}}&lt;br /&gt;
* [[Шаблон:cpp_template]]: &amp;lt;nowiki&amp;gt;{{cpp_template}}&amp;lt;/nowiki&amp;gt; → {{cpp_template}}&lt;br /&gt;
* [[Шаблон:cpp_this]]: &amp;lt;nowiki&amp;gt;{{cpp_this}}&amp;lt;/nowiki&amp;gt; → {{cpp_this}}&lt;br /&gt;
* [[Шаблон:cpp_thread_local]]: &amp;lt;nowiki&amp;gt;{{cpp_thread_local}}&amp;lt;/nowiki&amp;gt; → {{cpp_thread_local}}&lt;br /&gt;
* [[Шаблон:cpp_throw]]: &amp;lt;nowiki&amp;gt;{{cpp_throw}}&amp;lt;/nowiki&amp;gt; → {{cpp_throw}}&lt;br /&gt;
* [[Шаблон:cpp_true]]: &amp;lt;nowiki&amp;gt;{{cpp_true}}&amp;lt;/nowiki&amp;gt; → {{cpp_true}}&lt;br /&gt;
* [[Шаблон:cpp_try]]: &amp;lt;nowiki&amp;gt;{{cpp_try}}&amp;lt;/nowiki&amp;gt; → {{cpp_try}}&lt;br /&gt;
* [[Шаблон:cpp_typedef]]: &amp;lt;nowiki&amp;gt;{{cpp_typedef}}&amp;lt;/nowiki&amp;gt; → {{cpp_typedef}}&lt;br /&gt;
* [[Шаблон:cpp_typeid]]: &amp;lt;nowiki&amp;gt;{{cpp_typeid}}&amp;lt;/nowiki&amp;gt; → {{cpp_typeid}}&lt;br /&gt;
* [[Шаблон:cpp_typename]]: &amp;lt;nowiki&amp;gt;{{cpp_typename}}&amp;lt;/nowiki&amp;gt; → {{cpp_typename}}&lt;br /&gt;
* [[Шаблон:cpp_union]]: &amp;lt;nowiki&amp;gt;{{cpp_union}}&amp;lt;/nowiki&amp;gt; → {{cpp_union}}&lt;br /&gt;
* [[Шаблон:cpp_unsigned]]: &amp;lt;nowiki&amp;gt;{{cpp_unsigned}}&amp;lt;/nowiki&amp;gt; → {{cpp_unsigned}}&lt;br /&gt;
* [[Шаблон:cpp_using]]: &amp;lt;nowiki&amp;gt;{{cpp_using}}&amp;lt;/nowiki&amp;gt; → {{cpp_using}}&lt;br /&gt;
* [[Шаблон:cpp_virtual]]: &amp;lt;nowiki&amp;gt;{{cpp_virtual}}&amp;lt;/nowiki&amp;gt; → {{cpp_virtual}}&lt;br /&gt;
* [[Шаблон:cpp_void]]: &amp;lt;nowiki&amp;gt;{{cpp_void}}&amp;lt;/nowiki&amp;gt; → {{cpp_void}}&lt;br /&gt;
* [[Шаблон:cpp_volatile]]: &amp;lt;nowiki&amp;gt;{{cpp_volatile}}&amp;lt;/nowiki&amp;gt; → {{cpp_volatile}}&lt;br /&gt;
* [[Шаблон:cpp_wchar_t]]: &amp;lt;nowiki&amp;gt;{{cpp_wchar_t}}&amp;lt;/nowiki&amp;gt; → {{cpp_wchar_t}}&lt;br /&gt;
* [[Шаблон:cpp_while]]: &amp;lt;nowiki&amp;gt;{{cpp_while}}&amp;lt;/nowiki&amp;gt; → {{cpp_while}}&lt;br /&gt;
* [[Шаблон:cpp_override]]: &amp;lt;nowiki&amp;gt;{{cpp_override}}&amp;lt;/nowiki&amp;gt; → {{cpp_override}}&lt;br /&gt;
* [[Шаблон:cpp_final]]: &amp;lt;nowiki&amp;gt;{{cpp_final}}&amp;lt;/nowiki&amp;gt; → {{cpp_final}}&lt;br /&gt;
* [[Шаблон:cpp_import]]: &amp;lt;nowiki&amp;gt;{{cpp_import}}&amp;lt;/nowiki&amp;gt; → {{cpp_import}}&lt;br /&gt;
* [[Шаблон:cpp_module]]: &amp;lt;nowiki&amp;gt;{{cpp_module}}&amp;lt;/nowiki&amp;gt; → {{cpp_module}}&lt;br /&gt;
* [[Шаблон:cpp_pragma]]: &amp;lt;nowiki&amp;gt;{{cpp_pragma}}&amp;lt;/nowiki&amp;gt; → {{cpp_pragma}}&lt;br /&gt;
===Дополнительно===&lt;br /&gt;
* [[Шаблон:cpp_signed_char]]: &amp;lt;nowiki&amp;gt;{{cpp_signed_char}}&amp;lt;/nowiki&amp;gt; → {{cpp_signed_char}}&lt;br /&gt;
* [[Шаблон:cpp_unsigned_char]]: &amp;lt;nowiki&amp;gt;{{cpp_unsigned_char}}&amp;lt;/nowiki&amp;gt; → {{cpp_unsigned_char}}&lt;br /&gt;
* [[Шаблон:cpp_signed_short]]: &amp;lt;nowiki&amp;gt;{{cpp_signed_short}}&amp;lt;/nowiki&amp;gt; → {{cpp_signed_short}}&lt;br /&gt;
* [[Шаблон:cpp_unsigned_short]]: &amp;lt;nowiki&amp;gt;{{cpp_unsigned_short}}&amp;lt;/nowiki&amp;gt; → {{cpp_unsigned_short}}&lt;br /&gt;
* [[Шаблон:cpp_signed_int]]: &amp;lt;nowiki&amp;gt;{{cpp_signed_int}}&amp;lt;/nowiki&amp;gt; → {{cpp_signed_int}}&lt;br /&gt;
* [[Шаблон:cpp_unsigned_int]]: &amp;lt;nowiki&amp;gt;{{cpp_unsigned_int}}&amp;lt;/nowiki&amp;gt; → {{cpp_unsigned_int}}&lt;br /&gt;
* [[Шаблон:cpp_signed_long]]: &amp;lt;nowiki&amp;gt;{{cpp_signed_long}}&amp;lt;/nowiki&amp;gt; → {{cpp_signed_long}}&lt;br /&gt;
* [[Шаблон:cpp_unsigned_long]]: &amp;lt;nowiki&amp;gt;{{cpp_unsigned_long}}&amp;lt;/nowiki&amp;gt; → {{cpp_unsigned_long}}&lt;br /&gt;
* [[Шаблон:cpp_long_long]]: &amp;lt;nowiki&amp;gt;{{cpp_long_long}}&amp;lt;/nowiki&amp;gt; → {{cpp_long_long}}&lt;br /&gt;
* [[Шаблон:cpp_signed_long_long]]: &amp;lt;nowiki&amp;gt;{{cpp_signed_long_long}}&amp;lt;/nowiki&amp;gt; → {{cpp_signed_long_long}}&lt;br /&gt;
* [[Шаблон:cpp_unsigned_long_long]]: &amp;lt;nowiki&amp;gt;{{cpp_unsigned_long_long}}&amp;lt;/nowiki&amp;gt; → {{cpp_unsigned_long_long}}&lt;br /&gt;
* [[Шаблон:cpp_long_long_int]]: &amp;lt;nowiki&amp;gt;{{cpp_long_long_int}}&amp;lt;/nowiki&amp;gt; → {{cpp_long_long_int}}&lt;br /&gt;
* [[Шаблон:cpp_signed_long_long_int]]: &amp;lt;nowiki&amp;gt;{{cpp_signed_long_long_int}}&amp;lt;/nowiki&amp;gt; → {{cpp_signed_long_long_int}}&lt;br /&gt;
* [[Шаблон:cpp_unsigned_long_long_int]]: &amp;lt;nowiki&amp;gt;{{cpp_unsigned_long_long_int}}&amp;lt;/nowiki&amp;gt; → {{cpp_unsigned_long_long_int}}&lt;br /&gt;
* [[Шаблон:cpp_long_double]]: &amp;lt;nowiki&amp;gt;{{cpp_long_double}}&amp;lt;/nowiki&amp;gt; → {{cpp_long_double}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_long_double&amp;diff=9841</id>
		<title>Шаблон:Cpp long double</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_long_double&amp;diff=9841"/>
		<updated>2019-08-20T03:05:17Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_long_double}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_long_double}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;long double&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_unsigned_long_long_int&amp;diff=9840</id>
		<title>Шаблон:Cpp unsigned long long int</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_unsigned_long_long_int&amp;diff=9840"/>
		<updated>2019-08-20T03:05:07Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_unsigned_long_long_int}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_unsigned_long_long_int}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;unsigned long long int&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_signed_long_long_int&amp;diff=9839</id>
		<title>Шаблон:Cpp signed long long int</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_signed_long_long_int&amp;diff=9839"/>
		<updated>2019-08-20T03:04:59Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_signed_long_long_int}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;sp…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_signed_long_long_int}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;signed long long int&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_long_long_int&amp;diff=9838</id>
		<title>Шаблон:Cpp long long int</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_long_long_int&amp;diff=9838"/>
		<updated>2019-08-20T03:04:41Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_long_long_int}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span clas…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_long_long_int}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;long long int&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_unsigned_long_long&amp;diff=9837</id>
		<title>Шаблон:Cpp unsigned long long</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_unsigned_long_long&amp;diff=9837"/>
		<updated>2019-08-20T03:04:31Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_unsigned_long_long}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_unsigned_long_long}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;unsigned long long&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_signed_long_long&amp;diff=9836</id>
		<title>Шаблон:Cpp signed long long</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_signed_long_long&amp;diff=9836"/>
		<updated>2019-08-20T03:04:23Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_signed_long_long}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span c…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_signed_long_long}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;signed long long&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_long_long&amp;diff=9835</id>
		<title>Шаблон:Cpp long long</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_long_long&amp;diff=9835"/>
		<updated>2019-08-20T03:04:14Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_long_long}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;c…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_long_long}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;long long&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_unsigned_long&amp;diff=9834</id>
		<title>Шаблон:Cpp unsigned long</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_unsigned_long&amp;diff=9834"/>
		<updated>2019-08-20T03:04:05Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_unsigned_long}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span clas…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_unsigned_long}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;unsigned long&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_signed_long&amp;diff=9833</id>
		<title>Шаблон:Cpp signed long</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_signed_long&amp;diff=9833"/>
		<updated>2019-08-20T03:03:56Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_signed_long}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_signed_long}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;signed long&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_unsigned_int&amp;diff=9832</id>
		<title>Шаблон:Cpp unsigned int</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_unsigned_int&amp;diff=9832"/>
		<updated>2019-08-20T03:03:46Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_unsigned_int}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_unsigned_int}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;unsigned int&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_signed_int&amp;diff=9831</id>
		<title>Шаблон:Cpp signed int</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_signed_int&amp;diff=9831"/>
		<updated>2019-08-20T03:03:37Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_signed_int}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_signed_int}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;signed int&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_unsigned_short&amp;diff=9830</id>
		<title>Шаблон:Cpp unsigned short</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_unsigned_short&amp;diff=9830"/>
		<updated>2019-08-20T03:03:29Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_unsigned_short}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span cla…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_unsigned_short}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;unsigned short&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_signed_short&amp;diff=9829</id>
		<title>Шаблон:Cpp signed short</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_signed_short&amp;diff=9829"/>
		<updated>2019-08-20T03:03:17Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_signed_short}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_signed_short}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;signed short&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_unsigned_char&amp;diff=9828</id>
		<title>Шаблон:Cpp unsigned char</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_unsigned_char&amp;diff=9828"/>
		<updated>2019-08-20T03:03:05Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_unsigned_char}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span clas…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_unsigned_char}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;unsigned char&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_signed_char&amp;diff=9827</id>
		<title>Шаблон:Cpp signed char</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_signed_char&amp;diff=9827"/>
		<updated>2019-08-20T03:02:56Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_signed_char}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка фундаментального типа C++ {{cpp_signed_char}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;signed char&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%9A%D0%BB%D1%8E%D1%87%D0%B5%D0%B2%D1%8B%D0%B5_%D1%81%D0%BB%D0%BE%D0%B2%D0%B0_C%2B%2B&amp;diff=9826</id>
		<title>Ключевые слова C++</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%9A%D0%BB%D1%8E%D1%87%D0%B5%D0%B2%D1%8B%D0%B5_%D1%81%D0%BB%D0%BE%D0%B2%D0%B0_C%2B%2B&amp;diff=9826"/>
		<updated>2019-08-19T16:27:34Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Шаблон:cpp_alignas]]: &amp;lt;nowiki&amp;gt;{{cpp_alignas}}&amp;lt;/nowiki&amp;gt; → {{cpp_alignas}}&lt;br /&gt;
* [[Шаблон:cpp_alignof]]: &amp;lt;nowiki&amp;gt;{{cpp_alignof}}&amp;lt;/nowiki&amp;gt; → {{cpp_alignof}}&lt;br /&gt;
* [[Шаблон:cpp_asm]]: &amp;lt;nowiki&amp;gt;{{cpp_asm}}&amp;lt;/nowiki&amp;gt; → {{cpp_asm}}&lt;br /&gt;
* [[Шаблон:cpp_atomic_cancel]]: &amp;lt;nowiki&amp;gt;{{cpp_atomic_cancel}}&amp;lt;/nowiki&amp;gt; → {{cpp_atomic_cancel}}&lt;br /&gt;
* [[Шаблон:cpp_atomic_commit]]: &amp;lt;nowiki&amp;gt;{{cpp_atomic_commit}}&amp;lt;/nowiki&amp;gt; → {{cpp_atomic_commit}}&lt;br /&gt;
* [[Шаблон:cpp_atomic_noexcept]]: &amp;lt;nowiki&amp;gt;{{cpp_atomic_noexcept}}&amp;lt;/nowiki&amp;gt; → {{cpp_atomic_noexcept}}&lt;br /&gt;
* [[Шаблон:cpp_auto]]: &amp;lt;nowiki&amp;gt;{{cpp_auto}}&amp;lt;/nowiki&amp;gt; → {{cpp_auto}}&lt;br /&gt;
* [[Шаблон:cpp_bool]]: &amp;lt;nowiki&amp;gt;{{cpp_bool}}&amp;lt;/nowiki&amp;gt; → {{cpp_bool}}&lt;br /&gt;
* [[Шаблон:cpp_break]]: &amp;lt;nowiki&amp;gt;{{cpp_break}}&amp;lt;/nowiki&amp;gt; → {{cpp_break}}&lt;br /&gt;
* [[Шаблон:cpp_case]]: &amp;lt;nowiki&amp;gt;{{cpp_case}}&amp;lt;/nowiki&amp;gt; → {{cpp_case}}&lt;br /&gt;
* [[Шаблон:cpp_catch]]: &amp;lt;nowiki&amp;gt;{{cpp_catch}}&amp;lt;/nowiki&amp;gt; → {{cpp_catch}}&lt;br /&gt;
* [[Шаблон:cpp_char]]: &amp;lt;nowiki&amp;gt;{{cpp_char}}&amp;lt;/nowiki&amp;gt; → {{cpp_char}}&lt;br /&gt;
* [[Шаблон:cpp_char8_t]]: &amp;lt;nowiki&amp;gt;{{cpp_char8_t}}&amp;lt;/nowiki&amp;gt; → {{cpp_char8_t}}&lt;br /&gt;
* [[Шаблон:cpp_char16_t]]: &amp;lt;nowiki&amp;gt;{{cpp_char16_t}}&amp;lt;/nowiki&amp;gt; → {{cpp_char16_t}}&lt;br /&gt;
* [[Шаблон:cpp_char32_t]]: &amp;lt;nowiki&amp;gt;{{cpp_char32_t}}&amp;lt;/nowiki&amp;gt; → {{cpp_char32_t}}&lt;br /&gt;
* [[Шаблон:cpp_const]]: &amp;lt;nowiki&amp;gt;{{cpp_const}}&amp;lt;/nowiki&amp;gt; → {{cpp_const}}&lt;br /&gt;
* [[Шаблон:cpp_consteval]]: &amp;lt;nowiki&amp;gt;{{cpp_consteval}}&amp;lt;/nowiki&amp;gt; → {{cpp_consteval}}&lt;br /&gt;
* [[Шаблон:cpp_constexpr]]: &amp;lt;nowiki&amp;gt;{{cpp_constexpr}}&amp;lt;/nowiki&amp;gt; → {{cpp_constexpr}}&lt;br /&gt;
* [[Шаблон:cpp_const_cast]]: &amp;lt;nowiki&amp;gt;{{cpp_const_cast}}&amp;lt;/nowiki&amp;gt; → {{cpp_const_cast}}&lt;br /&gt;
* [[Шаблон:cpp_continue]]: &amp;lt;nowiki&amp;gt;{{cpp_continue}}&amp;lt;/nowiki&amp;gt; → {{cpp_continue}}&lt;br /&gt;
* [[Шаблон:cpp_co_await]]: &amp;lt;nowiki&amp;gt;{{cpp_co_await}}&amp;lt;/nowiki&amp;gt; → {{cpp_co_await}}&lt;br /&gt;
* [[Шаблон:cpp_co_return]]: &amp;lt;nowiki&amp;gt;{{cpp_co_return}}&amp;lt;/nowiki&amp;gt; → {{cpp_co_return}}&lt;br /&gt;
* [[Шаблон:cpp_co_yield]]: &amp;lt;nowiki&amp;gt;{{cpp_co_yield}}&amp;lt;/nowiki&amp;gt; → {{cpp_co_yield}}&lt;br /&gt;
* [[Шаблон:cpp_decltype]]: &amp;lt;nowiki&amp;gt;{{cpp_decltype}}&amp;lt;/nowiki&amp;gt; → {{cpp_decltype}}&lt;br /&gt;
* [[Шаблон:cpp_default]]: &amp;lt;nowiki&amp;gt;{{cpp_default}}&amp;lt;/nowiki&amp;gt; → {{cpp_default}}&lt;br /&gt;
* [[Шаблон:cpp_delete]]: &amp;lt;nowiki&amp;gt;{{cpp_delete}}&amp;lt;/nowiki&amp;gt; → {{cpp_delete}}&lt;br /&gt;
* [[Шаблон:cpp_do]]: &amp;lt;nowiki&amp;gt;{{cpp_do}}&amp;lt;/nowiki&amp;gt; → {{cpp_do}}&lt;br /&gt;
* [[Шаблон:cpp_double]]: &amp;lt;nowiki&amp;gt;{{cpp_double}}&amp;lt;/nowiki&amp;gt; → {{cpp_double}}&lt;br /&gt;
* [[Шаблон:cpp_dynamic_cast]]: &amp;lt;nowiki&amp;gt;{{cpp_dynamic_cast}}&amp;lt;/nowiki&amp;gt; → {{cpp_dynamic_cast}}&lt;br /&gt;
* [[Шаблон:cpp_else]]: &amp;lt;nowiki&amp;gt;{{cpp_else}}&amp;lt;/nowiki&amp;gt; → {{cpp_else}}&lt;br /&gt;
* [[Шаблон:cpp_enum]]: &amp;lt;nowiki&amp;gt;{{cpp_enum}}&amp;lt;/nowiki&amp;gt; → {{cpp_enum}}&lt;br /&gt;
* [[Шаблон:cpp_explicit]]: &amp;lt;nowiki&amp;gt;{{cpp_explicit}}&amp;lt;/nowiki&amp;gt; → {{cpp_explicit}}&lt;br /&gt;
* [[Шаблон:cpp_export]]: &amp;lt;nowiki&amp;gt;{{cpp_export}}&amp;lt;/nowiki&amp;gt; → {{cpp_export}}&lt;br /&gt;
* [[Шаблон:cpp_extern]]: &amp;lt;nowiki&amp;gt;{{cpp_extern}}&amp;lt;/nowiki&amp;gt; → {{cpp_extern}}&lt;br /&gt;
* [[Шаблон:cpp_false]]: &amp;lt;nowiki&amp;gt;{{cpp_false}}&amp;lt;/nowiki&amp;gt; → {{cpp_false}}&lt;br /&gt;
* [[Шаблон:cpp_float]]: &amp;lt;nowiki&amp;gt;{{cpp_float}}&amp;lt;/nowiki&amp;gt; → {{cpp_float}}&lt;br /&gt;
* [[Шаблон:cpp_for]]: &amp;lt;nowiki&amp;gt;{{cpp_for}}&amp;lt;/nowiki&amp;gt; → {{cpp_for}}&lt;br /&gt;
* [[Шаблон:cpp_friend]]: &amp;lt;nowiki&amp;gt;{{cpp_friend}}&amp;lt;/nowiki&amp;gt; → {{cpp_friend}}&lt;br /&gt;
* [[Шаблон:cpp_goto]]: &amp;lt;nowiki&amp;gt;{{cpp_goto}}&amp;lt;/nowiki&amp;gt; → {{cpp_goto}}&lt;br /&gt;
* [[Шаблон:cpp_if]]: &amp;lt;nowiki&amp;gt;{{cpp_if}}&amp;lt;/nowiki&amp;gt; → {{cpp_if}}&lt;br /&gt;
* [[Шаблон:cpp_inline]]: &amp;lt;nowiki&amp;gt;{{cpp_inline}}&amp;lt;/nowiki&amp;gt; → {{cpp_inline}}&lt;br /&gt;
* [[Шаблон:cpp_int]]: &amp;lt;nowiki&amp;gt;{{cpp_int}}&amp;lt;/nowiki&amp;gt; → {{cpp_int}}&lt;br /&gt;
* [[Шаблон:cpp_long]]: &amp;lt;nowiki&amp;gt;{{cpp_long}}&amp;lt;/nowiki&amp;gt; → {{cpp_long}}&lt;br /&gt;
* [[Шаблон:cpp_mutable]]: &amp;lt;nowiki&amp;gt;{{cpp_mutable}}&amp;lt;/nowiki&amp;gt; → {{cpp_mutable}}&lt;br /&gt;
* [[Шаблон:cpp_namespace]]: &amp;lt;nowiki&amp;gt;{{cpp_namespace}}&amp;lt;/nowiki&amp;gt; → {{cpp_namespace}}&lt;br /&gt;
* [[Шаблон:cpp_new]]: &amp;lt;nowiki&amp;gt;{{cpp_new}}&amp;lt;/nowiki&amp;gt; → {{cpp_new}}&lt;br /&gt;
* [[Шаблон:cpp_noexcept]]: &amp;lt;nowiki&amp;gt;{{cpp_noexcept}}&amp;lt;/nowiki&amp;gt; → {{cpp_noexcept}}&lt;br /&gt;
* [[Шаблон:cpp_nullptr]]: &amp;lt;nowiki&amp;gt;{{cpp_nullptr}}&amp;lt;/nowiki&amp;gt; → {{cpp_nullptr}}&lt;br /&gt;
* [[Шаблон:cpp_operator]]: &amp;lt;nowiki&amp;gt;{{cpp_operator}}&amp;lt;/nowiki&amp;gt; → {{cpp_operator}}&lt;br /&gt;
* [[Шаблон:cpp_private]]: &amp;lt;nowiki&amp;gt;{{cpp_private}}&amp;lt;/nowiki&amp;gt; → {{cpp_private}}&lt;br /&gt;
* [[Шаблон:cpp_protected]]: &amp;lt;nowiki&amp;gt;{{cpp_protected}}&amp;lt;/nowiki&amp;gt; → {{cpp_protected}}&lt;br /&gt;
* [[Шаблон:cpp_public]]: &amp;lt;nowiki&amp;gt;{{cpp_public}}&amp;lt;/nowiki&amp;gt; → {{cpp_public}}&lt;br /&gt;
* [[Шаблон:cpp_reinterpret_cast]]: &amp;lt;nowiki&amp;gt;{{cpp_reinterpret_cast}}&amp;lt;/nowiki&amp;gt; → {{cpp_reinterpret_cast}}&lt;br /&gt;
* [[Шаблон:cpp_requires]]: &amp;lt;nowiki&amp;gt;{{cpp_requires}}&amp;lt;/nowiki&amp;gt; → {{cpp_requires}}&lt;br /&gt;
* [[Шаблон:cpp_return]]: &amp;lt;nowiki&amp;gt;{{cpp_return}}&amp;lt;/nowiki&amp;gt; → {{cpp_return}}&lt;br /&gt;
* [[Шаблон:cpp_short]]: &amp;lt;nowiki&amp;gt;{{cpp_short}}&amp;lt;/nowiki&amp;gt; → {{cpp_short}}&lt;br /&gt;
* [[Шаблон:cpp_signed]]: &amp;lt;nowiki&amp;gt;{{cpp_signed}}&amp;lt;/nowiki&amp;gt; → {{cpp_signed}}&lt;br /&gt;
* [[Шаблон:cpp_sizeof]]: &amp;lt;nowiki&amp;gt;{{cpp_sizeof}}&amp;lt;/nowiki&amp;gt; → {{cpp_sizeof}}&lt;br /&gt;
* [[Шаблон:cpp_static]]: &amp;lt;nowiki&amp;gt;{{cpp_static}}&amp;lt;/nowiki&amp;gt; → {{cpp_static}}&lt;br /&gt;
* [[Шаблон:cpp_static_assert]]: &amp;lt;nowiki&amp;gt;{{cpp_static_assert}}&amp;lt;/nowiki&amp;gt; → {{cpp_static_assert}}&lt;br /&gt;
* [[Шаблон:cpp_static_cast]]: &amp;lt;nowiki&amp;gt;{{cpp_static_cast}}&amp;lt;/nowiki&amp;gt; → {{cpp_static_cast}}&lt;br /&gt;
* [[Шаблон:cpp_struct]]: &amp;lt;nowiki&amp;gt;{{cpp_struct}}&amp;lt;/nowiki&amp;gt; → {{cpp_struct}}&lt;br /&gt;
* [[Шаблон:cpp_switch]]: &amp;lt;nowiki&amp;gt;{{cpp_switch}}&amp;lt;/nowiki&amp;gt; → {{cpp_switch}}&lt;br /&gt;
* [[Шаблон:cpp_synchronized]]: &amp;lt;nowiki&amp;gt;{{cpp_synchronized}}&amp;lt;/nowiki&amp;gt; → {{cpp_synchronized}}&lt;br /&gt;
* [[Шаблон:cpp_template]]: &amp;lt;nowiki&amp;gt;{{cpp_template}}&amp;lt;/nowiki&amp;gt; → {{cpp_template}}&lt;br /&gt;
* [[Шаблон:cpp_this]]: &amp;lt;nowiki&amp;gt;{{cpp_this}}&amp;lt;/nowiki&amp;gt; → {{cpp_this}}&lt;br /&gt;
* [[Шаблон:cpp_thread_local]]: &amp;lt;nowiki&amp;gt;{{cpp_thread_local}}&amp;lt;/nowiki&amp;gt; → {{cpp_thread_local}}&lt;br /&gt;
* [[Шаблон:cpp_throw]]: &amp;lt;nowiki&amp;gt;{{cpp_throw}}&amp;lt;/nowiki&amp;gt; → {{cpp_throw}}&lt;br /&gt;
* [[Шаблон:cpp_true]]: &amp;lt;nowiki&amp;gt;{{cpp_true}}&amp;lt;/nowiki&amp;gt; → {{cpp_true}}&lt;br /&gt;
* [[Шаблон:cpp_try]]: &amp;lt;nowiki&amp;gt;{{cpp_try}}&amp;lt;/nowiki&amp;gt; → {{cpp_try}}&lt;br /&gt;
* [[Шаблон:cpp_typedef]]: &amp;lt;nowiki&amp;gt;{{cpp_typedef}}&amp;lt;/nowiki&amp;gt; → {{cpp_typedef}}&lt;br /&gt;
* [[Шаблон:cpp_typeid]]: &amp;lt;nowiki&amp;gt;{{cpp_typeid}}&amp;lt;/nowiki&amp;gt; → {{cpp_typeid}}&lt;br /&gt;
* [[Шаблон:cpp_typename]]: &amp;lt;nowiki&amp;gt;{{cpp_typename}}&amp;lt;/nowiki&amp;gt; → {{cpp_typename}}&lt;br /&gt;
* [[Шаблон:cpp_union]]: &amp;lt;nowiki&amp;gt;{{cpp_union}}&amp;lt;/nowiki&amp;gt; → {{cpp_union}}&lt;br /&gt;
* [[Шаблон:cpp_unsigned]]: &amp;lt;nowiki&amp;gt;{{cpp_unsigned}}&amp;lt;/nowiki&amp;gt; → {{cpp_unsigned}}&lt;br /&gt;
* [[Шаблон:cpp_using]]: &amp;lt;nowiki&amp;gt;{{cpp_using}}&amp;lt;/nowiki&amp;gt; → {{cpp_using}}&lt;br /&gt;
* [[Шаблон:cpp_virtual]]: &amp;lt;nowiki&amp;gt;{{cpp_virtual}}&amp;lt;/nowiki&amp;gt; → {{cpp_virtual}}&lt;br /&gt;
* [[Шаблон:cpp_void]]: &amp;lt;nowiki&amp;gt;{{cpp_void}}&amp;lt;/nowiki&amp;gt; → {{cpp_void}}&lt;br /&gt;
* [[Шаблон:cpp_volatile]]: &amp;lt;nowiki&amp;gt;{{cpp_volatile}}&amp;lt;/nowiki&amp;gt; → {{cpp_volatile}}&lt;br /&gt;
* [[Шаблон:cpp_wchar_t]]: &amp;lt;nowiki&amp;gt;{{cpp_wchar_t}}&amp;lt;/nowiki&amp;gt; → {{cpp_wchar_t}}&lt;br /&gt;
* [[Шаблон:cpp_while]]: &amp;lt;nowiki&amp;gt;{{cpp_while}}&amp;lt;/nowiki&amp;gt; → {{cpp_while}}&lt;br /&gt;
* [[Шаблон:cpp_override]]: &amp;lt;nowiki&amp;gt;{{cpp_override}}&amp;lt;/nowiki&amp;gt; → {{cpp_override}}&lt;br /&gt;
* [[Шаблон:cpp_final]]: &amp;lt;nowiki&amp;gt;{{cpp_final}}&amp;lt;/nowiki&amp;gt; → {{cpp_final}}&lt;br /&gt;
* [[Шаблон:cpp_import]]: &amp;lt;nowiki&amp;gt;{{cpp_import}}&amp;lt;/nowiki&amp;gt; → {{cpp_import}}&lt;br /&gt;
* [[Шаблон:cpp_module]]: &amp;lt;nowiki&amp;gt;{{cpp_module}}&amp;lt;/nowiki&amp;gt; → {{cpp_module}}&lt;br /&gt;
* [[Шаблон:cpp_pragma]]: &amp;lt;nowiki&amp;gt;{{cpp_pragma}}&amp;lt;/nowiki&amp;gt; → {{cpp_pragma}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_pragma&amp;diff=9825</id>
		<title>Шаблон:Cpp pragma</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_pragma&amp;diff=9825"/>
		<updated>2019-08-19T16:27:26Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка ключевого слова {{cpp_pragma}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlig…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка ключевого слова {{cpp_pragma}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;pragma&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_module&amp;diff=9824</id>
		<title>Шаблон:Cpp module</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Cpp_module&amp;diff=9824"/>
		<updated>2019-08-19T16:26:37Z</updated>

		<summary type="html">&lt;p&gt;Андрей Чусов: Новая страница: «&amp;lt;noinclude&amp;gt;Подсветка ключевого слова {{cpp_module}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlig…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Подсветка ключевого слова {{cpp_module}} в тексте статей.&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;code_keyword_highlight&amp;quot;&amp;gt;module&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
</feed>