<?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=ContiguousDataStorageInputOwn%3A%3AContiguousDataStorageInputOwn</id>
	<title>ContiguousDataStorageInputOwn::ContiguousDataStorageInputOwn - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://51.250.0.107/w/index.php?action=history&amp;feed=atom&amp;title=ContiguousDataStorageInputOwn%3A%3AContiguousDataStorageInputOwn"/>
	<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=ContiguousDataStorageInputOwn::ContiguousDataStorageInputOwn&amp;action=history"/>
	<updated>2026-04-29T18:52:31Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=ContiguousDataStorageInputOwn::ContiguousDataStorageInputOwn&amp;diff=9312&amp;oldid=prev</id>
		<title>Андрей Чусов: Новая страница: «{{function_begin|ContiguousDataStorageInputOwn() noexcept; //1 explicit ContiguousDataStorageInputOwn(const IContiguousDataStorageInput* pStorage) noexcept; //2 C…»</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=ContiguousDataStorageInputOwn::ContiguousDataStorageInputOwn&amp;diff=9312&amp;oldid=prev"/>
		<updated>2019-08-16T12:22:28Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{{function_begin|ContiguousDataStorageInputOwn() noexcept; //1 explicit ContiguousDataStorageInputOwn(const IContiguousDataStorageInput* pStorage) noexcept; //2 C…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{function_begin|ContiguousDataStorageInputOwn() noexcept; //1&lt;br /&gt;
explicit ContiguousDataStorageInputOwn(const IContiguousDataStorageInput* pStorage) noexcept; //2&lt;br /&gt;
ContiguousDataStorageInputOwn(ContiguousDataStorageInputOwn&amp;amp;&amp;amp; right) noexcept; //3&lt;br /&gt;
template &amp;lt;class AnotherAdapterRef&amp;gt;&lt;br /&gt;
explicit ContiguousDataStorageInputOwn(const AnotherAdapterRef&amp;amp; refRight) noexcept; //4&lt;br /&gt;
template &amp;lt;class AnotherAdapterOwn&amp;gt;&lt;br /&gt;
ContiguousDataStorageInputOwn(const AnotherAdapterOwn&amp;amp; ownRight) noexcept; //5&lt;br /&gt;
template &amp;lt;class AnotherAdapterOwn&amp;gt;&lt;br /&gt;
ContiguousDataStorageInputOwn(AnotherAdapterOwn&amp;amp;&amp;amp; ownRight) noexcept; //6&lt;br /&gt;
|{{ContiguousDataStorageInputOwn::ContiguousDataStorageInputOwn 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;const IContiguousDataStorageInput*&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 IContiguousDataStorageInput*&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;const IContiguousDataStorageInput*&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;const IContiguousDataStorageInput*&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*, const IContiguousDataStorageInput*&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*, const IContiguousDataStorageInput*&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|pStorage|Указатель на адаптируемую реализацию накопителя данных [[IContiguousDataStorageInput]].|paramdir=[in]}}&lt;br /&gt;
{{function_paramlist add|right|Адаптер, передающий владение своим интерфейсным указателем, если он есть, создаваемому экземпляру [[ContiguousDataStorageInputOwn]], как если бы был выполнен вызов &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>