<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://51.250.0.107/w/index.php?action=history&amp;feed=atom&amp;title=ConsequentDataStorageInputOwn%3A%3AConsequentDataStorageInputOwn</id>
	<title>ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://51.250.0.107/w/index.php?action=history&amp;feed=atom&amp;title=ConsequentDataStorageInputOwn%3A%3AConsequentDataStorageInputOwn"/>
	<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;action=history"/>
	<updated>2026-05-01T09:42:53Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;diff=9310&amp;oldid=prev</id>
		<title>Андрей Чусов в 12:21, 16 августа 2019</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;diff=9310&amp;oldid=prev"/>
		<updated>2019-08-16T12:21:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия 22:21, 16 августа 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_begin|ConsequentDataStorageInputOwn() noexcept; //1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_begin|ConsequentDataStorageInputOwn() noexcept; //1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit ConsequentDataStorageInputOwn(const IConsequentDataStorageInput* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pArbitrarilyAccessedDataStorage&lt;/del&gt;) noexcept; //2&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit ConsequentDataStorageInputOwn(const IConsequentDataStorageInput* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pStorage&lt;/ins&gt;) noexcept; //2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ConsequentDataStorageInputOwn(ConsequentDataStorageInputOwn&amp;amp;&amp;amp; right) noexcept; //3&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ConsequentDataStorageInputOwn(ConsequentDataStorageInputOwn&amp;amp;&amp;amp; right) noexcept; //3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterRef&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterRef&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot;&gt;Строка 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist end}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist end}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pArbitrarilyAccessedDataStorage&lt;/del&gt;|Указатель на адаптируемую реализацию накопителя данных [[IConsequentDataStorageInput]].|paramdir=[in]}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pStorage&lt;/ins&gt;|Указатель на адаптируемую реализацию накопителя данных [[IConsequentDataStorageInput]].|paramdir=[in]}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[ConsequentDataStorageInputOwn]], как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[ConsequentDataStorageInputOwn]], как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|refRight|[[Ссылочный адаптер]], реализация интерфейса которого клонируется с целью создания копии, управляемой создаваемым адаптером, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|refRight|[[Ссылочный адаптер]], реализация интерфейса которого клонируется с целью создания копии, управляемой создаваемым адаптером, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;diff=9309&amp;oldid=prev</id>
		<title>Андрей Чусов: Отмена правки 9306, сделанной Андрей Чусов (обсуждение)</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;diff=9309&amp;oldid=prev"/>
		<updated>2019-08-16T12:20:33Z</updated>

		<summary type="html">&lt;p&gt;Отмена правки 9306, сделанной &lt;a href=&quot;/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&quot; title=&quot;Служебная:Вклад/Андрей Чусов&quot;&gt;Андрей Чусов&lt;/a&gt; (&lt;a href=&quot;/w/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9_%D0%A7%D1%83%D1%81%D0%BE%D0%B2&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Обсуждение участника:Андрей Чусов (страница не существует)&quot;&gt;обсуждение&lt;/a&gt;)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия 22:20, 16 августа 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_begin|ConsequentDataStorageInputOwn() noexcept; //1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_begin|ConsequentDataStorageInputOwn() noexcept; //1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit ConsequentDataStorageInputOwn(const IConsequentDataStorageInput* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pStorage&lt;/del&gt;) noexcept; //2&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit ConsequentDataStorageInputOwn(const IConsequentDataStorageInput* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pArbitrarilyAccessedDataStorage&lt;/ins&gt;) noexcept; //2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ConsequentDataStorageInputOwn(ConsequentDataStorageInputOwn&amp;amp;&amp;amp; right) noexcept; //3&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ConsequentDataStorageInputOwn(ConsequentDataStorageInputOwn&amp;amp;&amp;amp; right) noexcept; //3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterRef&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterRef&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot;&gt;Строка 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist end}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist end}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pStorage&lt;/del&gt;|Указатель на адаптируемую реализацию накопителя данных [[IConsequentDataStorageInput]].|paramdir=[in]}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pArbitrarilyAccessedDataStorage&lt;/ins&gt;|Указатель на адаптируемую реализацию накопителя данных [[IConsequentDataStorageInput]].|paramdir=[in]}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[ConsequentDataStorageInputOwn]], как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[ConsequentDataStorageInputOwn]], как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|refRight|[[Ссылочный адаптер]], реализация интерфейса которого клонируется с целью создания копии, управляемой создаваемым адаптером, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|refRight|[[Ссылочный адаптер]], реализация интерфейса которого клонируется с целью создания копии, управляемой создаваемым адаптером, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|ownRight|[[Владеющий адаптер]], реализация интерфейса которого клонируется или переносится на создаваемый адаптер. Копирование выполняется перегрузкой 5, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;. Перемещение выполняется перегрузкой 6, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|ownRight|[[Владеющий адаптер]], реализация интерфейса которого клонируется или переносится на создаваемый адаптер. Копирование выполняется перегрузкой 5, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;. Перемещение выполняется перегрузкой 6, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;function_paramli&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;function_paramlist end}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{function_end}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;diff=9308&amp;oldid=prev</id>
		<title>Андрей Чусов: Отмена правки 9307, сделанной Андрей Чусов (обсуждение)</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;diff=9308&amp;oldid=prev"/>
		<updated>2019-08-16T12:19:57Z</updated>

		<summary type="html">&lt;p&gt;Отмена правки 9307, сделанной &lt;a href=&quot;/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&quot; title=&quot;Служебная:Вклад/Андрей Чусов&quot;&gt;Андрей Чусов&lt;/a&gt; (&lt;a href=&quot;/w/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9_%D0%A7%D1%83%D1%81%D0%BE%D0%B2&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Обсуждение участника:Андрей Чусов (страница не существует)&quot;&gt;обсуждение&lt;/a&gt;)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия 22:19, 16 августа 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_begin|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/del&gt;() noexcept; //1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_begin|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/ins&gt;() noexcept; //1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/del&gt;(const &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/del&gt;* pStorage) noexcept; //2&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/ins&gt;(const &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/ins&gt;* pStorage) noexcept; //2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/del&gt;(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/del&gt;&amp;amp;&amp;amp; right) noexcept; //3&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/ins&gt;&amp;amp;&amp;amp; right) noexcept; //3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterRef&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterRef&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/del&gt;(const AnotherAdapterRef&amp;amp; refRight) noexcept; //4&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/ins&gt;(const AnotherAdapterRef&amp;amp; refRight) noexcept; //4&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterOwn&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterOwn&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/del&gt;(const AnotherAdapterOwn&amp;amp; ownRight) noexcept; //5&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/ins&gt;(const AnotherAdapterOwn&amp;amp; ownRight) noexcept; //5&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterOwn&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterOwn&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/del&gt;(AnotherAdapterOwn&amp;amp;&amp;amp; ownRight) noexcept; //6&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/ins&gt;(AnotherAdapterOwn&amp;amp;&amp;amp; ownRight) noexcept; //6&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/del&gt;::&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn &lt;/del&gt;brief}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/ins&gt;::&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn &lt;/ins&gt;brief}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор по умолчанию, инициализирующий создаваемый экземпляр адаптера нулевым адресом.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор по умолчанию, инициализирующий создаваемый экземпляр адаптера нулевым адресом.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Явный конструктор, инициализирующий создаваемый экземпляр адаптера адресом реализации накопителя данных.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Явный конструктор, инициализирующий создаваемый экземпляр адаптера адресом реализации накопителя данных.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, выполняющий инициализацию адаптера с перемещением адреса реализации, с которой ассоциирован параметр. Адаптер {{param|right}} в результате операции теряет владение реализацией накопителя данных, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt; с присваиванием возвращенного адреса создаваемому адаптеру.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, выполняющий инициализацию адаптера с перемещением адреса реализации, с которой ассоциирован параметр. Адаптер {{param|right}} в результате операции теряет владение реализацией накопителя данных, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt; с присваиванием возвращенного адреса создаваемому адаптеру.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Явный конструктор, создающий адаптер с адресом реализации интерфейса, полученным из [[ссылочный адаптер|ссылочного адаптера]] {{param|refRight}} путем вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone()&amp;lt;/source&amp;gt; с неявным приведением результата к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/del&gt;*&amp;lt;/source&amp;gt;. Данный конструктор участвует в разрешении перегрузки, только если подтип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt; существует и поддерживает метод &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type::Clone()&amp;lt;/source&amp;gt;, указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type*&amp;lt;/source&amp;gt; приводим неявно к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/del&gt;*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterRef}} является [[ссылочный адаптер|ссылочным адаптером]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Явный конструктор, создающий адаптер с адресом реализации интерфейса, полученным из [[ссылочный адаптер|ссылочного адаптера]] {{param|refRight}} путем вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone()&amp;lt;/source&amp;gt; с неявным приведением результата к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/ins&gt;*&amp;lt;/source&amp;gt;. Данный конструктор участвует в разрешении перегрузки, только если подтип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt; существует и поддерживает метод &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type::Clone()&amp;lt;/source&amp;gt;, указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type*&amp;lt;/source&amp;gt; приводим неявно к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/ins&gt;*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterRef}} является [[ссылочный адаптер|ссылочным адаптером]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, создающий экземпляр адаптера на основе заданного параметрически владеющего адаптера путем клонирования интерфейса (то есть вызова метода &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone()&amp;lt;/source&amp;gt;). Данный конструктор участвует в разрешении перегрузки, только если подтип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; существует и поддерживает метод &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type::Clone()&amp;lt;/source&amp;gt;, указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type*&amp;lt;/source&amp;gt; приводим неявно к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/del&gt;*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterOwn}} является [[владеющий адаптер|адаптером с владением]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, создающий экземпляр адаптера на основе заданного параметрически владеющего адаптера путем клонирования интерфейса (то есть вызова метода &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone()&amp;lt;/source&amp;gt;). Данный конструктор участвует в разрешении перегрузки, только если подтип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; существует и поддерживает метод &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type::Clone()&amp;lt;/source&amp;gt;, указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type*&amp;lt;/source&amp;gt; приводим неявно к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/ins&gt;*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterOwn}} является [[владеющий адаптер|адаптером с владением]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, создающий экземпляр адаптера путем переноса адреса реализации интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; с приведением его к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/del&gt;*&amp;lt;/source&amp;gt;. В результате вызова адаптер {{param|ownRight}} теряет владение своим экземпляром реализации интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; и инициализируется нулевым адресом, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, создающий экземпляр адаптера путем переноса адреса реализации интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; с приведением его к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/ins&gt;*&amp;lt;/source&amp;gt;. В результате вызова адаптер {{param|ownRight}} теряет владение своим экземпляром реализации интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; и инициализируется нулевым адресом, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist add|AnotherAdapterRef|Тип ссылочного адаптера, участвующего в качестве параметра {{param|refRight}} в конструкторе 4. Значение &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::is_convertible_v&amp;lt;typename AnotherAdapterRef::interface_type*, const &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/del&gt;*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[ссылочный адаптер|ссылочным]], а интерфейс &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt; должен поддерживать вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;pI-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;, где &amp;lt;tt&amp;gt;pI&amp;lt;/tt&amp;gt; - указатель оригинальную реализацию интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt;, &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt; - указатель, на выходе функции &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt; принимающий адрес копии оригинальной реализации.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist add|AnotherAdapterRef|Тип ссылочного адаптера, участвующего в качестве параметра {{param|refRight}} в конструкторе 4. Значение &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::is_convertible_v&amp;lt;typename AnotherAdapterRef::interface_type*, const &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/ins&gt;*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[ссылочный адаптер|ссылочным]], а интерфейс &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt; должен поддерживать вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;pI-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;, где &amp;lt;tt&amp;gt;pI&amp;lt;/tt&amp;gt; - указатель оригинальную реализацию интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt;, &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt; - указатель, на выходе функции &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt; принимающий адрес копии оригинальной реализации.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist add|AnotherAdapterOwn|Тип адаптера с владением, участвующего в качестве параметра {{param|ownRight}} в конструкторах 5 и 6. Значение &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::is_convertible_v&amp;lt;typename AnotherAdapterOwn::interface_type*, const &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/del&gt;*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[владеющий адаптер|владеющим]]. Для копирования перегрузкой 5 интерфейс &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; также должен поддерживать вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;pI-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;, где &amp;lt;tt&amp;gt;pI&amp;lt;/tt&amp;gt; - указатель оригинальную реализацию интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt;, &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt; - указатель, на выходе функции &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt; принимающий адрес копии оригинальной реализации.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist add|AnotherAdapterOwn|Тип адаптера с владением, участвующего в качестве параметра {{param|ownRight}} в конструкторах 5 и 6. Значение &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::is_convertible_v&amp;lt;typename AnotherAdapterOwn::interface_type*, const &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/ins&gt;*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[владеющий адаптер|владеющим]]. Для копирования перегрузкой 5 интерфейс &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; также должен поддерживать вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;pI-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;, где &amp;lt;tt&amp;gt;pI&amp;lt;/tt&amp;gt; - указатель оригинальную реализацию интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt;, &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt; - указатель, на выходе функции &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt; принимающий адрес копии оригинальной реализации.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist end}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist end}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|pStorage|Указатель на адаптируемую реализацию накопителя данных [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/del&gt;]].|paramdir=[in]}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|pStorage|Указатель на адаптируемую реализацию накопителя данных [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/ins&gt;]].|paramdir=[in]}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/del&gt;]], как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/ins&gt;]], как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|refRight|[[Ссылочный адаптер]], реализация интерфейса которого клонируется с целью создания копии, управляемой создаваемым адаптером, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|refRight|[[Ссылочный адаптер]], реализация интерфейса которого клонируется с целью создания копии, управляемой создаваемым адаптером, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|ownRight|[[Владеющий адаптер]], реализация интерфейса которого клонируется или переносится на создаваемый адаптер. Копирование выполняется перегрузкой 5, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;. Перемещение выполняется перегрузкой 6, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|ownRight|[[Владеющий адаптер]], реализация интерфейса которого клонируется или переносится на создаваемый адаптер. Копирование выполняется перегрузкой 5, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;. Перемещение выполняется перегрузкой 6, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;function_paramlist end}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;function_paramli&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{function_end}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki1:diff::1.12:old-9307:rev-9308 --&gt;
&lt;/table&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;diff=9307&amp;oldid=prev</id>
		<title>Андрей Чусов в 12:18, 16 августа 2019</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;diff=9307&amp;oldid=prev"/>
		<updated>2019-08-16T12:18:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия 22:18, 16 августа 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_begin|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/del&gt;() noexcept; //1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_begin|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/ins&gt;() noexcept; //1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/del&gt;(const &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/del&gt;* pStorage) noexcept; //2&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/ins&gt;(const &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/ins&gt;* pStorage) noexcept; //2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/del&gt;(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/del&gt;&amp;amp;&amp;amp; right) noexcept; //3&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/ins&gt;&amp;amp;&amp;amp; right) noexcept; //3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterRef&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterRef&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/del&gt;(const AnotherAdapterRef&amp;amp; refRight) noexcept; //4&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/ins&gt;(const AnotherAdapterRef&amp;amp; refRight) noexcept; //4&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterOwn&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterOwn&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/del&gt;(const AnotherAdapterOwn&amp;amp; ownRight) noexcept; //5&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/ins&gt;(const AnotherAdapterOwn&amp;amp; ownRight) noexcept; //5&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterOwn&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterOwn&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/del&gt;(AnotherAdapterOwn&amp;amp;&amp;amp; ownRight) noexcept; //6&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/ins&gt;(AnotherAdapterOwn&amp;amp;&amp;amp; ownRight) noexcept; //6&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/del&gt;::&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn &lt;/del&gt;brief}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/ins&gt;::&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn &lt;/ins&gt;brief}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор по умолчанию, инициализирующий создаваемый экземпляр адаптера нулевым адресом.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор по умолчанию, инициализирующий создаваемый экземпляр адаптера нулевым адресом.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Явный конструктор, инициализирующий создаваемый экземпляр адаптера адресом реализации накопителя данных.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Явный конструктор, инициализирующий создаваемый экземпляр адаптера адресом реализации накопителя данных.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, выполняющий инициализацию адаптера с перемещением адреса реализации, с которой ассоциирован параметр. Адаптер {{param|right}} в результате операции теряет владение реализацией накопителя данных, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt; с присваиванием возвращенного адреса создаваемому адаптеру.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, выполняющий инициализацию адаптера с перемещением адреса реализации, с которой ассоциирован параметр. Адаптер {{param|right}} в результате операции теряет владение реализацией накопителя данных, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt; с присваиванием возвращенного адреса создаваемому адаптеру.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Явный конструктор, создающий адаптер с адресом реализации интерфейса, полученным из [[ссылочный адаптер|ссылочного адаптера]] {{param|refRight}} путем вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone()&amp;lt;/source&amp;gt; с неявным приведением результата к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/del&gt;*&amp;lt;/source&amp;gt;. Данный конструктор участвует в разрешении перегрузки, только если подтип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt; существует и поддерживает метод &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type::Clone()&amp;lt;/source&amp;gt;, указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type*&amp;lt;/source&amp;gt; приводим неявно к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/del&gt;*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterRef}} является [[ссылочный адаптер|ссылочным адаптером]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Явный конструктор, создающий адаптер с адресом реализации интерфейса, полученным из [[ссылочный адаптер|ссылочного адаптера]] {{param|refRight}} путем вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone()&amp;lt;/source&amp;gt; с неявным приведением результата к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/ins&gt;*&amp;lt;/source&amp;gt;. Данный конструктор участвует в разрешении перегрузки, только если подтип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt; существует и поддерживает метод &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type::Clone()&amp;lt;/source&amp;gt;, указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type*&amp;lt;/source&amp;gt; приводим неявно к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/ins&gt;*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterRef}} является [[ссылочный адаптер|ссылочным адаптером]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, создающий экземпляр адаптера на основе заданного параметрически владеющего адаптера путем клонирования интерфейса (то есть вызова метода &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone()&amp;lt;/source&amp;gt;). Данный конструктор участвует в разрешении перегрузки, только если подтип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; существует и поддерживает метод &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type::Clone()&amp;lt;/source&amp;gt;, указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type*&amp;lt;/source&amp;gt; приводим неявно к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/del&gt;*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterOwn}} является [[владеющий адаптер|адаптером с владением]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, создающий экземпляр адаптера на основе заданного параметрически владеющего адаптера путем клонирования интерфейса (то есть вызова метода &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone()&amp;lt;/source&amp;gt;). Данный конструктор участвует в разрешении перегрузки, только если подтип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; существует и поддерживает метод &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type::Clone()&amp;lt;/source&amp;gt;, указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type*&amp;lt;/source&amp;gt; приводим неявно к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/ins&gt;*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterOwn}} является [[владеющий адаптер|адаптером с владением]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, создающий экземпляр адаптера путем переноса адреса реализации интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; с приведением его к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/del&gt;*&amp;lt;/source&amp;gt;. В результате вызова адаптер {{param|ownRight}} теряет владение своим экземпляром реализации интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; и инициализируется нулевым адресом, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, создающий экземпляр адаптера путем переноса адреса реализации интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; с приведением его к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;const &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/ins&gt;*&amp;lt;/source&amp;gt;. В результате вызова адаптер {{param|ownRight}} теряет владение своим экземпляром реализации интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; и инициализируется нулевым адресом, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist add|AnotherAdapterRef|Тип ссылочного адаптера, участвующего в качестве параметра {{param|refRight}} в конструкторе 4. Значение &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::is_convertible_v&amp;lt;typename AnotherAdapterRef::interface_type*, const &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/del&gt;*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[ссылочный адаптер|ссылочным]], а интерфейс &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt; должен поддерживать вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;pI-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;, где &amp;lt;tt&amp;gt;pI&amp;lt;/tt&amp;gt; - указатель оригинальную реализацию интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt;, &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt; - указатель, на выходе функции &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt; принимающий адрес копии оригинальной реализации.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist add|AnotherAdapterRef|Тип ссылочного адаптера, участвующего в качестве параметра {{param|refRight}} в конструкторе 4. Значение &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::is_convertible_v&amp;lt;typename AnotherAdapterRef::interface_type*, const &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/ins&gt;*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[ссылочный адаптер|ссылочным]], а интерфейс &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt; должен поддерживать вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;pI-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;, где &amp;lt;tt&amp;gt;pI&amp;lt;/tt&amp;gt; - указатель оригинальную реализацию интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt;, &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt; - указатель, на выходе функции &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt; принимающий адрес копии оригинальной реализации.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist add|AnotherAdapterOwn|Тип адаптера с владением, участвующего в качестве параметра {{param|ownRight}} в конструкторах 5 и 6. Значение &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::is_convertible_v&amp;lt;typename AnotherAdapterOwn::interface_type*, const &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/del&gt;*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[владеющий адаптер|владеющим]]. Для копирования перегрузкой 5 интерфейс &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; также должен поддерживать вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;pI-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;, где &amp;lt;tt&amp;gt;pI&amp;lt;/tt&amp;gt; - указатель оригинальную реализацию интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt;, &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt; - указатель, на выходе функции &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt; принимающий адрес копии оригинальной реализации.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist add|AnotherAdapterOwn|Тип адаптера с владением, участвующего в качестве параметра {{param|ownRight}} в конструкторах 5 и 6. Значение &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::is_convertible_v&amp;lt;typename AnotherAdapterOwn::interface_type*, const &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/ins&gt;*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[владеющий адаптер|владеющим]]. Для копирования перегрузкой 5 интерфейс &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; также должен поддерживать вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;pI-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;, где &amp;lt;tt&amp;gt;pI&amp;lt;/tt&amp;gt; - указатель оригинальную реализацию интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt;, &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt; - указатель, на выходе функции &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt; принимающий адрес копии оригинальной реализации.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist end}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist end}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|pStorage|Указатель на адаптируемую реализацию накопителя данных [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IConsequentDataStorageInput&lt;/del&gt;]].|paramdir=[in]}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|pStorage|Указатель на адаптируемую реализацию накопителя данных [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IContiguousDataStorageInput&lt;/ins&gt;]].|paramdir=[in]}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ConsequentDataStorageInputOwn&lt;/del&gt;]], как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ContiguousDataStorageInputOwn&lt;/ins&gt;]], как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|refRight|[[Ссылочный адаптер]], реализация интерфейса которого клонируется с целью создания копии, управляемой создаваемым адаптером, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|refRight|[[Ссылочный адаптер]], реализация интерфейса которого клонируется с целью создания копии, управляемой создаваемым адаптером, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|ownRight|[[Владеющий адаптер]], реализация интерфейса которого клонируется или переносится на создаваемый адаптер. Копирование выполняется перегрузкой 5, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;. Перемещение выполняется перегрузкой 6, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|ownRight|[[Владеющий адаптер]], реализация интерфейса которого клонируется или переносится на создаваемый адаптер. Копирование выполняется перегрузкой 5, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;. Перемещение выполняется перегрузкой 6, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;function_paramli&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;function_paramlist end}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{function_end}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki1:diff::1.12:old-9306:rev-9307 --&gt;
&lt;/table&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;diff=9306&amp;oldid=prev</id>
		<title>Андрей Чусов в 12:17, 16 августа 2019</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;diff=9306&amp;oldid=prev"/>
		<updated>2019-08-16T12:17:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия 22:17, 16 августа 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_begin|ConsequentDataStorageInputOwn() noexcept; //1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_begin|ConsequentDataStorageInputOwn() noexcept; //1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit ConsequentDataStorageInputOwn(const IConsequentDataStorageInput* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pArbitrarilyAccessedDataStorage&lt;/del&gt;) noexcept; //2&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit ConsequentDataStorageInputOwn(const IConsequentDataStorageInput* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pStorage&lt;/ins&gt;) noexcept; //2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ConsequentDataStorageInputOwn(ConsequentDataStorageInputOwn&amp;amp;&amp;amp; right) noexcept; //3&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ConsequentDataStorageInputOwn(ConsequentDataStorageInputOwn&amp;amp;&amp;amp; right) noexcept; //3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterRef&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterRef&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot;&gt;Строка 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist end}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist end}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pArbitrarilyAccessedDataStorage&lt;/del&gt;|Указатель на адаптируемую реализацию накопителя данных [[IConsequentDataStorageInput]].|paramdir=[in]}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pStorage&lt;/ins&gt;|Указатель на адаптируемую реализацию накопителя данных [[IConsequentDataStorageInput]].|paramdir=[in]}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[ConsequentDataStorageInputOwn]], как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[ConsequentDataStorageInputOwn]], как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|refRight|[[Ссылочный адаптер]], реализация интерфейса которого клонируется с целью создания копии, управляемой создаваемым адаптером, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|refRight|[[Ссылочный адаптер]], реализация интерфейса которого клонируется с целью создания копии, управляемой создаваемым адаптером, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|ownRight|[[Владеющий адаптер]], реализация интерфейса которого клонируется или переносится на создаваемый адаптер. Копирование выполняется перегрузкой 5, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;. Перемещение выполняется перегрузкой 6, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|ownRight|[[Владеющий адаптер]], реализация интерфейса которого клонируется или переносится на создаваемый адаптер. Копирование выполняется перегрузкой 5, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;. Перемещение выполняется перегрузкой 6, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;function_paramlist end}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;function_paramli&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{function_end}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;diff=9037&amp;oldid=prev</id>
		<title>Андрей Чусов в 07:21, 15 августа 2019</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;diff=9037&amp;oldid=prev"/>
		<updated>2019-08-15T07:21:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия 17:21, 15 августа 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_begin|ConsequentDataStorageInputOwn() noexcept; //1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_begin|ConsequentDataStorageInputOwn() noexcept; //1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit ConsequentDataStorageInputOwn(IConsequentDataStorageInput* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pConsequentDataStorageInput&lt;/del&gt;) noexcept; //2&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;explicit ConsequentDataStorageInputOwn(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;const &lt;/ins&gt;IConsequentDataStorageInput* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pArbitrarilyAccessedDataStorage&lt;/ins&gt;) noexcept; //2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ConsequentDataStorageInputOwn(ConsequentDataStorageInputOwn&amp;amp;&amp;amp; right) noexcept; //3&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ConsequentDataStorageInputOwn(ConsequentDataStorageInputOwn&amp;amp;&amp;amp; right) noexcept; //3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterRef&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;template &amp;lt;class AnotherAdapterRef&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l12&quot;&gt;Строка 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Явный конструктор, инициализирующий создаваемый экземпляр адаптера адресом реализации накопителя данных.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Явный конструктор, инициализирующий создаваемый экземпляр адаптера адресом реализации накопителя данных.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, выполняющий инициализацию адаптера с перемещением адреса реализации, с которой ассоциирован параметр. Адаптер {{param|right}} в результате операции теряет владение реализацией накопителя данных, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt; с присваиванием возвращенного адреса создаваемому адаптеру.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, выполняющий инициализацию адаптера с перемещением адреса реализации, с которой ассоциирован параметр. Адаптер {{param|right}} в результате операции теряет владение реализацией накопителя данных, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt; с присваиванием возвращенного адреса создаваемому адаптеру.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Явный конструктор, создающий адаптер с адресом реализации интерфейса, полученным из [[ссылочный адаптер|ссылочного адаптера]] {{param|refRight}} путем вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone()&amp;lt;/source&amp;gt; с неявным приведением результата к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;IConsequentDataStorageInput*&amp;lt;/source&amp;gt;. Данный конструктор участвует в разрешении перегрузки, только если подтип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt; существует и поддерживает метод &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type::Clone()&amp;lt;/source&amp;gt;, указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type*&amp;lt;/source&amp;gt; приводим неявно к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;IConsequentDataStorageInput*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterRef}} является [[ссылочный адаптер|ссылочным адаптером]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Явный конструктор, создающий адаптер с адресом реализации интерфейса, полученным из [[ссылочный адаптер|ссылочного адаптера]] {{param|refRight}} путем вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone()&amp;lt;/source&amp;gt; с неявным приведением результата к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;const &lt;/ins&gt;IConsequentDataStorageInput*&amp;lt;/source&amp;gt;. Данный конструктор участвует в разрешении перегрузки, только если подтип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt; существует и поддерживает метод &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type::Clone()&amp;lt;/source&amp;gt;, указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type*&amp;lt;/source&amp;gt; приводим неявно к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;const &lt;/ins&gt;IConsequentDataStorageInput*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterRef}} является [[ссылочный адаптер|ссылочным адаптером]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, создающий экземпляр адаптера на основе заданного параметрически владеющего адаптера путем клонирования интерфейса (то есть вызова метода &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone()&amp;lt;/source&amp;gt;). Данный конструктор участвует в разрешении перегрузки, только если подтип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; существует и поддерживает метод &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type::Clone()&amp;lt;/source&amp;gt;, указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type*&amp;lt;/source&amp;gt; приводим неявно к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;IConsequentDataStorageInput*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterOwn}} является [[владеющий адаптер|адаптером с владением]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, создающий экземпляр адаптера на основе заданного параметрически владеющего адаптера путем клонирования интерфейса (то есть вызова метода &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone()&amp;lt;/source&amp;gt;). Данный конструктор участвует в разрешении перегрузки, только если подтип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; существует и поддерживает метод &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type::Clone()&amp;lt;/source&amp;gt;, указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type*&amp;lt;/source&amp;gt; приводим неявно к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;const &lt;/ins&gt;IConsequentDataStorageInput*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterOwn}} является [[владеющий адаптер|адаптером с владением]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, создающий экземпляр адаптера путем переноса адреса реализации интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; с приведением его к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;IConsequentDataStorageInput*&amp;lt;/source&amp;gt;. В результате вызова адаптер {{param|ownRight}} теряет владение своим экземпляром реализации интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; и инициализируется нулевым адресом, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Конструктор, создающий экземпляр адаптера путем переноса адреса реализации интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; с приведением его к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;const &lt;/ins&gt;IConsequentDataStorageInput*&amp;lt;/source&amp;gt;. В результате вызова адаптер {{param|ownRight}} теряет владение своим экземпляром реализации интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; и инициализируется нулевым адресом, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist add|AnotherAdapterRef|Тип ссылочного адаптера, участвующего в качестве параметра {{param|refRight}} в конструкторе 4. Значение &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::is_convertible_v&amp;lt;typename AnotherAdapterRef::interface_type*, IConsequentDataStorageInput*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[ссылочный адаптер|ссылочным]], а интерфейс &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt; должен поддерживать вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;pI-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;, где &amp;lt;tt&amp;gt;pI&amp;lt;/tt&amp;gt; - указатель оригинальную реализацию интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt;, &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt; - указатель, на выходе функции &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt; принимающий адрес копии оригинальной реализации.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist add|AnotherAdapterRef|Тип ссылочного адаптера, участвующего в качестве параметра {{param|refRight}} в конструкторе 4. Значение &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::is_convertible_v&amp;lt;typename AnotherAdapterRef::interface_type*, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;const &lt;/ins&gt;IConsequentDataStorageInput*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[ссылочный адаптер|ссылочным]], а интерфейс &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt; должен поддерживать вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;pI-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;, где &amp;lt;tt&amp;gt;pI&amp;lt;/tt&amp;gt; - указатель оригинальную реализацию интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt;, &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt; - указатель, на выходе функции &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt; принимающий адрес копии оригинальной реализации.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist add|AnotherAdapterOwn|Тип адаптера с владением, участвующего в качестве параметра {{param|ownRight}} в конструкторах 5 и 6. Значение &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::is_convertible_v&amp;lt;typename AnotherAdapterOwn::interface_type*, IConsequentDataStorageInput*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[владеющий адаптер|владеющим]]. Для копирования перегрузкой 5 интерфейс &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; также должен поддерживать вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;pI-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;, где &amp;lt;tt&amp;gt;pI&amp;lt;/tt&amp;gt; - указатель оригинальную реализацию интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt;, &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt; - указатель, на выходе функции &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt; принимающий адрес копии оригинальной реализации.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist add|AnotherAdapterOwn|Тип адаптера с владением, участвующего в качестве параметра {{param|ownRight}} в конструкторах 5 и 6. Значение &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::is_convertible_v&amp;lt;typename AnotherAdapterOwn::interface_type*, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;const &lt;/ins&gt;IConsequentDataStorageInput*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[владеющий адаптер|владеющим]]. Для копирования перегрузкой 5 интерфейс &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; также должен поддерживать вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;pI-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;, где &amp;lt;tt&amp;gt;pI&amp;lt;/tt&amp;gt; - указатель оригинальную реализацию интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt;, &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt; - указатель, на выходе функции &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt; принимающий адрес копии оригинальной реализации.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist end}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function template paramlist end}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist begin}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pConsequentDataStorageInput&lt;/del&gt;|Указатель на адаптируемую реализацию накопителя данных [[IConsequentDataStorageInput]].|paramdir=[in]}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pArbitrarilyAccessedDataStorage&lt;/ins&gt;|Указатель на адаптируемую реализацию накопителя данных [[IConsequentDataStorageInput]].|paramdir=[in]}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[ConsequentDataStorageInputOwn]], как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[ConsequentDataStorageInputOwn]], как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|refRight|[[Ссылочный адаптер]], реализация интерфейса которого клонируется с целью создания копии, управляемой создаваемым адаптером, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function_paramlist add|refRight|[[Ссылочный адаптер]], реализация интерфейса которого клонируется с целью создания копии, управляемой создаваемым адаптером, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki1:diff::1.12:old-8776:rev-9037 --&gt;
&lt;/table&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;diff=8776&amp;oldid=prev</id>
		<title>Андрей Чусов: Новая страница: «{{function_begin|ConsequentDataStorageInputOwn() noexcept; //1 explicit ConsequentDataStorageInputOwn(IConsequentDataStorageInput* pConsequentDataStorageInput) no…»</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn&amp;diff=8776&amp;oldid=prev"/>
		<updated>2019-08-14T09:01:30Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{{function_begin|ConsequentDataStorageInputOwn() noexcept; //1 explicit ConsequentDataStorageInputOwn(IConsequentDataStorageInput* pConsequentDataStorageInput) no…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{function_begin|ConsequentDataStorageInputOwn() noexcept; //1&lt;br /&gt;
explicit ConsequentDataStorageInputOwn(IConsequentDataStorageInput* pConsequentDataStorageInput) noexcept; //2&lt;br /&gt;
ConsequentDataStorageInputOwn(ConsequentDataStorageInputOwn&amp;amp;&amp;amp; right) noexcept; //3&lt;br /&gt;
template &amp;lt;class AnotherAdapterRef&amp;gt;&lt;br /&gt;
explicit ConsequentDataStorageInputOwn(const AnotherAdapterRef&amp;amp; refRight) noexcept; //4&lt;br /&gt;
template &amp;lt;class AnotherAdapterOwn&amp;gt;&lt;br /&gt;
ConsequentDataStorageInputOwn(const AnotherAdapterOwn&amp;amp; ownRight) noexcept; //5&lt;br /&gt;
template &amp;lt;class AnotherAdapterOwn&amp;gt;&lt;br /&gt;
ConsequentDataStorageInputOwn(AnotherAdapterOwn&amp;amp;&amp;amp; ownRight) noexcept; //6&lt;br /&gt;
|{{ConsequentDataStorageInputOwn::ConsequentDataStorageInputOwn brief}}&lt;br /&gt;
# Конструктор по умолчанию, инициализирующий создаваемый экземпляр адаптера нулевым адресом.&lt;br /&gt;
# Явный конструктор, инициализирующий создаваемый экземпляр адаптера адресом реализации накопителя данных.&lt;br /&gt;
# Конструктор, выполняющий инициализацию адаптера с перемещением адреса реализации, с которой ассоциирован параметр. Адаптер {{param|right}} в результате операции теряет владение реализацией накопителя данных, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt; с присваиванием возвращенного адреса создаваемому адаптеру.&lt;br /&gt;
# Явный конструктор, создающий адаптер с адресом реализации интерфейса, полученным из [[ссылочный адаптер|ссылочного адаптера]] {{param|refRight}} путем вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone()&amp;lt;/source&amp;gt; с неявным приведением результата к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;IConsequentDataStorageInput*&amp;lt;/source&amp;gt;. Данный конструктор участвует в разрешении перегрузки, только если подтип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt; существует и поддерживает метод &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type::Clone()&amp;lt;/source&amp;gt;, указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type*&amp;lt;/source&amp;gt; приводим неявно к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;IConsequentDataStorageInput*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterRef}} является [[ссылочный адаптер|ссылочным адаптером]].&lt;br /&gt;
# Конструктор, создающий экземпляр адаптера на основе заданного параметрически владеющего адаптера путем клонирования интерфейса (то есть вызова метода &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone()&amp;lt;/source&amp;gt;). Данный конструктор участвует в разрешении перегрузки, только если подтип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; существует и поддерживает метод &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type::Clone()&amp;lt;/source&amp;gt;, указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type*&amp;lt;/source&amp;gt; приводим неявно к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;IConsequentDataStorageInput*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterOwn}} является [[владеющий адаптер|адаптером с владением]].&lt;br /&gt;
# Конструктор, создающий экземпляр адаптера путем переноса адреса реализации интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; с приведением его к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;IConsequentDataStorageInput*&amp;lt;/source&amp;gt;. В результате вызова адаптер {{param|ownRight}} теряет владение своим экземпляром реализации интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; и инициализируется нулевым адресом, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;br /&gt;
{{function template paramlist begin}}&lt;br /&gt;
{{function template paramlist add|AnotherAdapterRef|Тип ссылочного адаптера, участвующего в качестве параметра {{param|refRight}} в конструкторе 4. Значение &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::is_convertible_v&amp;lt;typename AnotherAdapterRef::interface_type*, IConsequentDataStorageInput*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[ссылочный адаптер|ссылочным]], а интерфейс &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt; должен поддерживать вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;pI-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;, где &amp;lt;tt&amp;gt;pI&amp;lt;/tt&amp;gt; - указатель оригинальную реализацию интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt;, &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt; - указатель, на выходе функции &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt; принимающий адрес копии оригинальной реализации.}}&lt;br /&gt;
{{function template paramlist add|AnotherAdapterOwn|Тип адаптера с владением, участвующего в качестве параметра {{param|ownRight}} в конструкторах 5 и 6. Значение &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::is_convertible_v&amp;lt;typename AnotherAdapterOwn::interface_type*, IConsequentDataStorageInput*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[владеющий адаптер|владеющим]]. Для копирования перегрузкой 5 интерфейс &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterOwn::interface_type&amp;lt;/source&amp;gt; также должен поддерживать вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;pI-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;, где &amp;lt;tt&amp;gt;pI&amp;lt;/tt&amp;gt; - указатель оригинальную реализацию интерфейса &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;AnotherAdapterRef::interface_type&amp;lt;/source&amp;gt;, &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt; - указатель, на выходе функции &amp;lt;tt&amp;gt;Clone&amp;lt;/tt&amp;gt; принимающий адрес копии оригинальной реализации.}}&lt;br /&gt;
{{function template paramlist end}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|pConsequentDataStorageInput|Указатель на адаптируемую реализацию накопителя данных [[IConsequentDataStorageInput]].|paramdir=[in]}}&lt;br /&gt;
{{function_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[ConsequentDataStorageInputOwn]], как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;br /&gt;
{{function_paramlist add|refRight|[[Ссылочный адаптер]], реализация интерфейса которого клонируется с целью создания копии, управляемой создаваемым адаптером, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;refRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;.}}&lt;br /&gt;
{{function_paramlist add|ownRight|[[Владеющий адаптер]], реализация интерфейса которого клонируется или переносится на создаваемый адаптер. Копирование выполняется перегрузкой 5, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;tt&amp;gt;pCopy&amp;lt;/tt&amp;gt;, получаемым в результате вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.get_interface()-&amp;gt;Clone(&amp;amp;pCopy)&amp;lt;/source&amp;gt;. Перемещение выполняется перегрузкой 6, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;gt;.}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
</feed>