<?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=InputByteStreamOwn%3A%3Aoperator%3D</id>
	<title>InputByteStreamOwn::operator= - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://51.250.0.107/w/index.php?action=history&amp;feed=atom&amp;title=InputByteStreamOwn%3A%3Aoperator%3D"/>
	<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=InputByteStreamOwn::operator%3D&amp;action=history"/>
	<updated>2026-04-29T17:38:18Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=InputByteStreamOwn::operator%3D&amp;diff=8620&amp;oldid=prev</id>
		<title>Андрей Чусов в 12:06, 11 августа 2019</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=InputByteStreamOwn::operator%3D&amp;diff=8620&amp;oldid=prev"/>
		<updated>2019-08-11T12:06:56Z</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:06, 11 августа 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-l11&quot;&gt;Строка 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 11:&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|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[InputByteStreamOwn]], как если бы был выполнен вызов &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|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[InputByteStreamOwn]], как если бы был выполнен вызов &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 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_paramlist end}}&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_return_value|Ссылка на &amp;lt;source lang=&quot;cpp&quot; inline&gt;*this&amp;lt;/source&gt;.}}&lt;/ins&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_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_end}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki1:diff::1.12:old-8261:rev-8620 --&gt;
&lt;/table&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=InputByteStreamOwn::operator%3D&amp;diff=8261&amp;oldid=prev</id>
		<title>Андрей Чусов в 06:19, 9 августа 2019</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=InputByteStreamOwn::operator%3D&amp;diff=8261&amp;oldid=prev"/>
		<updated>2019-08-09T06:19:26Z</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;Версия 16:19, 9 августа 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|InputByteStreamOwn&amp;amp; operator{{=}}(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;const &lt;/del&gt;InputByteStreamOwn&amp;amp;) &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{=}} delete&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;{{function_begin|InputByteStreamOwn&amp;amp; operator{{=}}(InputByteStreamOwn&amp;amp;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;amp; right&lt;/ins&gt;); &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;//1&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;InputByteStreamOwn&amp;amp; operator{{=}}(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;InputByteStreamOwn&lt;/del&gt;&amp;amp;&amp;amp; right);|{{InputByteStreamOwn::operator{{=}} 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;template &amp;lt;class RightAdapterType&amp;gt;&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;# Удаленный оператор присваивания с копированием.&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;InputByteStreamOwn&amp;amp; operator{{=}}(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;RightAdapterType&lt;/ins&gt;&amp;amp;&amp;amp; right); &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;//2&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;Деассоциирует текущий экземпляр адаптера &lt;/del&gt;[[InputByteStreamOwn]] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;от владеемого объекта&lt;/del&gt;, если &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;это владение имело место до вызова&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;затем передает объект&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ассоциированный &lt;/del&gt;с &amp;lt;tt&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;right&lt;/del&gt;&amp;lt;/tt&amp;gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;и его владение текущему экземпляру адаптера и диассоциирует &lt;/del&gt;&amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tt&lt;/del&gt;&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;right&lt;/del&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tt&lt;/del&gt;&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;от объекта&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;|{{InputByteStreamOwn::operator{{=}} brief}}&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 begin}}&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;, который переносит владение реализацией потока адаптеру {{cpp_this}}&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Присваивание адаптеру разрешено, только если он не был до этого проинициализирован действительным адресом реализации потока или  был сброшен с помощью [[InputByteStreamOwn::release_ownership]] или &lt;/ins&gt;[[InputByteStreamOwn&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;::reset_ownership&lt;/ins&gt;]] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;без параметров. В противном случае генерируются исключения - [https://www.chusov.org/doxygen/struct_chusov_1_1_exceptions_1_1_unsupported_call_exception.html Chusov::Exceptions::UnsupportedCallException]&lt;/ins&gt;, если &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{param|right}} не содержит реализации [[IInputByteStream]], и [https://www.chusov.org/doxygen/struct_chusov_1_1_exceptions_1_1_invalid_parameter_exception.html Chusov::Exceptions::InvalidParameterException] - в противном случае.&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;{{function paramlist add|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;right&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Иной экземпляр &lt;/del&gt;адаптера, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;состояние которого &lt;/del&gt;передается &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;текущему &lt;/del&gt;экземпляру &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;в результате присваивания &lt;/del&gt;с &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;перемещением&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;После вызова &lt;/del&gt;&amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;get_interface&lt;/del&gt;() &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== nullptr&lt;/del&gt;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# Аналогично, но с приведением типа указателя на реализацию с &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;typename std::remove_reference_t&amp;lt;RightAdapterType&amp;gt;::interface_type*&amp;lt;/source&amp;gt; к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;IInputByteStream*&amp;lt;/source&amp;gt;. Данная перегрузка участвует в процедуре разрешения перегрузок&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;только если &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;RightAdapterType&amp;amp;&amp;amp;&amp;lt;/source&amp;gt; является rvalue-ссылкой&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;тип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::decay_t&amp;lt;RightAdapterType&amp;gt;&amp;lt;/source&amp;gt; является [[владеющий адаптер|адаптером с владением]] &lt;/ins&gt;с &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;подтипом &lt;/ins&gt;&amp;lt;tt&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;interface_type&lt;/ins&gt;&amp;lt;/tt&amp;gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;указатель на который неявно приводим к &lt;/ins&gt;&amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source lang=&amp;quot;cpp&amp;quot; inline&lt;/ins&gt;&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IInputByteStream*&lt;/ins&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&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 &lt;/del&gt;end}}&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 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;template &lt;/ins&gt;paramlist begin}}&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;{{function &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;template &lt;/ins&gt;paramlist add|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;RightAdapterType&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Тип &lt;/ins&gt;адаптера &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;с владением реализацией интерфейса [[IInputByteStream]] (или неявно приводимого к нему интерфейса)&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;которая &lt;/ins&gt;передается экземпляру &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{cpp_this}} адаптера перегрузкой 2. Тип &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;std::decay_t&amp;lt;RightAdapterType&amp;gt;&amp;lt;/source&amp;gt; должен задавать адаптер &lt;/ins&gt;с &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;владением через указатель, приводимый к типу &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;IInputByteStream*&amp;lt;/source&amp;gt;&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&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 template 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_paramlist begin}}&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_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[InputByteStreamOwn]], как если бы был выполнен вызов &lt;/ins&gt;&amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;release_ownership&lt;/ins&gt;()&amp;lt;/source&amp;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_paramlist &lt;/ins&gt;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_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_end}}&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;Для адаптеров &amp;lt;tt&gt;x&amp;lt;/tt&gt; и &amp;lt;tt&gt;y&amp;lt;/tt&gt; типа [[InputByteStreamOwn]] в точке доступа к методу [[InputByteStreamRef::reset_interface]] вызов&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;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;&amp;lt;source lang=&quot;cpp&gt;&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;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;x = std::move(y);&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;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;&amp;lt;/source&gt;&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;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;эквивалентен вызовам&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;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;&amp;lt;source lang=&quot;cpp&quot;&gt;&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;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;if (&amp;amp;x != &amp;amp;y)&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;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;    x.reset_interface(y.release_ownership());&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;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;&amp;lt;/source&gt;&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-7703:rev-8261 --&gt;
&lt;/table&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=InputByteStreamOwn::operator%3D&amp;diff=7703&amp;oldid=prev</id>
		<title>Андрей Чусов: Новая страница: «{{function_begin|InputByteStreamOwn&amp; operator{{=}}(const InputByteStreamOwn&amp;) {{=}} delete; InputByteStreamOwn&amp; operator{{=}}(InputByteStreamOwn&amp;&amp; right);|{{Input…»</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=InputByteStreamOwn::operator%3D&amp;diff=7703&amp;oldid=prev"/>
		<updated>2019-05-30T07:43:40Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{{function_begin|InputByteStreamOwn&amp;amp; operator{{=}}(const InputByteStreamOwn&amp;amp;) {{=}} delete; InputByteStreamOwn&amp;amp; operator{{=}}(InputByteStreamOwn&amp;amp;&amp;amp; right);|{{Input…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{function_begin|InputByteStreamOwn&amp;amp; operator{{=}}(const InputByteStreamOwn&amp;amp;) {{=}} delete;&lt;br /&gt;
InputByteStreamOwn&amp;amp; operator{{=}}(InputByteStreamOwn&amp;amp;&amp;amp; right);|{{InputByteStreamOwn::operator{{=}} brief}}&lt;br /&gt;
# Удаленный оператор присваивания с копированием.&lt;br /&gt;
# Оператор присваивания с перемещением. Деассоциирует текущий экземпляр адаптера [[InputByteStreamOwn]] от владеемого объекта, если это владение имело место до вызова, затем передает объект, ассоциированный с &amp;lt;tt&amp;gt;right&amp;lt;/tt&amp;gt;, и его владение текущему экземпляру адаптера и диассоциирует &amp;lt;tt&amp;gt;right&amp;lt;/tt&amp;gt; от объекта.}}&lt;br /&gt;
{{function paramlist begin}}&lt;br /&gt;
{{function paramlist add|right|Иной экземпляр адаптера, состояние которого передается текущему экземпляру в результате присваивания с перемещением. После вызова &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.get_interface() == nullptr&amp;lt;/source&amp;gt;.}}&lt;br /&gt;
{{function paramlist end}}&lt;br /&gt;
{{function_end}}&lt;br /&gt;
Для адаптеров &amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt; типа [[InputByteStreamOwn]] в точке доступа к методу [[InputByteStreamRef::reset_interface]] вызов&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;gt;&lt;br /&gt;
x = std::move(y);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
эквивалентен вызовам&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
if (&amp;amp;x != &amp;amp;y)&lt;br /&gt;
    x.reset_interface(y.release_ownership());&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
</feed>