<?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%3AInputByteStreamOwn</id>
	<title>InputByteStreamOwn::InputByteStreamOwn - История изменений</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%3AInputByteStreamOwn"/>
	<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=InputByteStreamOwn::InputByteStreamOwn&amp;action=history"/>
	<updated>2026-04-29T18:52:50Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=InputByteStreamOwn::InputByteStreamOwn&amp;diff=8260&amp;oldid=prev</id>
		<title>Андрей Чусов в 06:17, 9 августа 2019</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=InputByteStreamOwn::InputByteStreamOwn&amp;diff=8260&amp;oldid=prev"/>
		<updated>2019-08-09T06:17:11Z</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:17, 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() &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{=}} default&lt;/del&gt;; //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|InputByteStreamOwn() &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;noexcept&lt;/ins&gt;; //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;InputByteStreamOwn(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;const InputByteStreamOwn&amp;amp;&lt;/del&gt;) &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{=}} delete&lt;/del&gt;; //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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;explicit &lt;/ins&gt;InputByteStreamOwn(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IInputByteStream* pStream&lt;/ins&gt;) &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;noexcept&lt;/ins&gt;; //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;InputByteStreamOwn(InputByteStreamOwn&amp;amp;&amp;amp; right); //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;InputByteStreamOwn(InputByteStreamOwn&amp;amp;&amp;amp; right) &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;noexcept&lt;/ins&gt;; //3&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 InputByteStreamOwn(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IInputByteStream* pStream&lt;/del&gt;) 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;template &amp;lt;class AnotherAdapterRef&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;/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 InputByteStreamOwn(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;const AnotherAdapterRef&amp;amp; refRight&lt;/ins&gt;) noexcept; //4&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;template &amp;lt;class AnotherAdapterOwn&amp;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;InputByteStreamOwn(const AnotherAdapterOwn&amp;amp; ownRight) noexcept; //5&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;template &amp;lt;class AnotherAdapterOwn&amp;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;InputByteStreamOwn(AnotherAdapterOwn&amp;amp;&amp;amp; ownRight) noexcept; //6&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;|{{InputByteStreamOwn::InputByteStreamOwn brief}}&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;|{{InputByteStreamOwn::InputByteStreamOwn 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;# Конструктор по умолчанию.&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;, инициализирующий создаваемый экземпляр адаптера нулевым адресом&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;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;# &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;, инициализирующий создаваемый экземпляр адаптера адресом реализации потока&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;# Конструктор&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, выполняющий инициализацию адаптера с перемещением адаптируемой реализации интерфейса. Адаптер {{param|right}} в результате операции теряет владение реализацией потока, как если бы был выполнен вызов &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;right.release_ownership()&amp;lt;/source&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;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;IInputByteStream&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;# Явный конструктор, создающий адаптер с адресом реализации интерфейса, полученным из [[ссылочный адаптер|ссылочного адаптера]] {{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;IInputByteStream*&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;IInputByteStream*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterRef}} является [[ссылочный адаптер|ссылочным адаптером]]&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;, создающий экземпляр адаптера &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;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;IInputByteStream*&amp;lt;/source&amp;gt;, а сам тип {{param|AnotherAdapterOwn}} является &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;.&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;# Конструктор, создающий экземпляр адаптера путем переноса адреса реализации интерфейса &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;IInputByteStream*&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;/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 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 template paramlist add|AnotherAdapterRef|Тип ссылочного адаптера, участвующего &lt;/ins&gt;в &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;качестве параметра {{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*, IInputByteStream*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, &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;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;/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 add|AnotherAdapterOwn|Тип адаптера &lt;/ins&gt;с владением&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, участвующего в качестве параметра {{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*, IInputByteStream*&amp;gt;&amp;lt;/source&amp;gt; должно быть {{cpp_true}}, адаптер - [[владеющий адаптер|владеющим]]&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Для копирования перегрузкой 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;/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 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|right|&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;&amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tt&lt;/del&gt;&amp;gt;right&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;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IInputByteStream&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;/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 add|pStream|Указатель на адаптируемую реализацию потока [[IInputByteStream]].|paramdir=[in]}}&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;pStream&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;IInputByteStream&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;[[InputByteStreamOwn]]&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|paramdir&lt;/del&gt;=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[in]&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_paramlist add|right|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру &lt;/ins&gt;[[InputByteStreamOwn]], &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;right&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.release_ownership()&lt;/ins&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;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_paramlist add|refRight|&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;реализация интерфейса которого клонируется с целью создания копии, управляемой создаваемым адаптером, &lt;/ins&gt;как &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;если бы было выполнено создание адаптера путем вызова перегрузки 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;/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;{{function_paramlist add|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ownRight&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;реализация интерфейса которого клонируется или переносится на создаваемый адаптер. Копирование выполняется перегрузкой 5, как если бы было выполнено создание &lt;/ins&gt;адаптера &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;путем вызова перегрузки 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;&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Перемещение выполняется перегрузкой 6, как если бы было выполнено создание адаптера путем вызова перегрузки 2 с аргументом &amp;lt;source lang&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;cpp&amp;quot; inline&amp;gt;ownRight.release_ownership()&amp;lt;/source&amp;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_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 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-7710:rev-8260 --&gt;
&lt;/table&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=InputByteStreamOwn::InputByteStreamOwn&amp;diff=7710&amp;oldid=prev</id>
		<title>Андрей Чусов: Новая страница: «{{function_begin|InputByteStreamOwn() {{=}} default; //1 InputByteStreamOwn(const InputByteStreamOwn&amp;) {{=}} delete; //2 InputByteStreamOwn(InputByteStreamOwn&amp;&amp; r…»</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=InputByteStreamOwn::InputByteStreamOwn&amp;diff=7710&amp;oldid=prev"/>
		<updated>2019-05-30T09:19:30Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{{function_begin|InputByteStreamOwn() {{=}} default; //1 InputByteStreamOwn(const InputByteStreamOwn&amp;amp;) {{=}} delete; //2 InputByteStreamOwn(InputByteStreamOwn&amp;amp;&amp;amp; r…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{function_begin|InputByteStreamOwn() {{=}} default; //1&lt;br /&gt;
InputByteStreamOwn(const InputByteStreamOwn&amp;amp;) {{=}} delete; //2&lt;br /&gt;
InputByteStreamOwn(InputByteStreamOwn&amp;amp;&amp;amp; right); //3&lt;br /&gt;
explicit InputByteStreamOwn(IInputByteStream* pStream) noexcept; //4&lt;br /&gt;
&lt;br /&gt;
|{{InputByteStreamOwn::InputByteStreamOwn brief}}&lt;br /&gt;
# Конструктор по умолчанию.&lt;br /&gt;
# Удаленный конструктор копирования.&lt;br /&gt;
# Конструктор перемещения.&lt;br /&gt;
# Конструктор явного преобразования из указателя на реализацию [[IInputByteStream]] в адаптер с владением.}}&lt;br /&gt;
{{function_paramlist begin}}&lt;br /&gt;
{{function_paramlist add|right|Экземпляр адаптера [[InputByteStreamOwn]], состояние которого инициализирует создаваемый экземпляр адаптера. В результате перемещения &amp;lt;tt&amp;gt;right&amp;lt;/tt&amp;gt; не владеет объектом, реализующим [[IInputByteStream]], так как владение передается созданному экземпляру.}}&lt;br /&gt;
{{function_paramlist add|pStream|Указатель на реализацию [[IInputByteStream]], которая адаптируется и управляется создаваемым экземпляром адаптера [[InputByteStreamOwn]].|paramdir=[in]}}&lt;br /&gt;
{{function_paramlist end}}&lt;br /&gt;
{{function_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
</feed>