<?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=AssociativeDataStorageOutputRef%3A%3Acreate_node</id>
	<title>AssociativeDataStorageOutputRef::create node - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://51.250.0.107/w/index.php?action=history&amp;feed=atom&amp;title=AssociativeDataStorageOutputRef%3A%3Acreate_node"/>
	<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=AssociativeDataStorageOutputRef::create_node&amp;action=history"/>
	<updated>2026-05-01T10:26:26Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://51.250.0.107/w/index.php?title=AssociativeDataStorageOutputRef::create_node&amp;diff=9672&amp;oldid=prev</id>
		<title>Андрей Чусов: Новая страница: «{{DISPLAYTITLE:AssociativeDataStorageOutputRef::create_node}} {{function_begin|unique_interface_ptr&lt;IDataStorage&gt; create_node(const void* pKey, std::uint32_t cbKe…»</title>
		<link rel="alternate" type="text/html" href="http://51.250.0.107/w/index.php?title=AssociativeDataStorageOutputRef::create_node&amp;diff=9672&amp;oldid=prev"/>
		<updated>2019-08-19T10:00:19Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{{DISPLAYTITLE:AssociativeDataStorageOutputRef::create_node}} {{function_begin|unique_interface_ptr&amp;lt;IDataStorage&amp;gt; create_node(const void* pKey, std::uint32_t cbKe…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:AssociativeDataStorageOutputRef::create_node}}&lt;br /&gt;
{{function_begin|unique_interface_ptr&amp;lt;IDataStorage&amp;gt; create_node(const void* pKey, std::uint32_t cbKey, std::nothrow_t); //1&lt;br /&gt;
DataStorageOwn create_node(const void* pKey, std::uint32_t cbKey); //2&lt;br /&gt;
template &amp;lt;class T&amp;gt;&lt;br /&gt;
unique_interface_ptr&amp;lt;IDataStorage&amp;gt; create_node(const T* pKey, std::uint32_t cbKey, std::nothrow_t); //3&lt;br /&gt;
template &amp;lt;class T&amp;gt;&lt;br /&gt;
DataStorageOwn auto create_node(const T* pKey, std::uint32_t cbKey); //4&lt;br /&gt;
template &amp;lt;class value_t, class alloc_t&amp;gt;&lt;br /&gt;
unique_interface_ptr&amp;lt;IDataStorage&amp;gt; create_node(const std::vector&amp;lt;value_t, alloc_t&amp;gt;&amp;amp; refKey, std::nothrow_t); //5&lt;br /&gt;
template &amp;lt;class value_t, class alloc_t&amp;gt;&lt;br /&gt;
DataStorageOwn create_node(const std::vector&amp;lt;value_t, alloc_t&amp;gt;&amp;amp; refKey); //6&lt;br /&gt;
template &amp;lt;class traits_t, class alloc_t&amp;gt;&lt;br /&gt;
unique_interface_ptr&amp;lt;IDataStorage&amp;gt; create_node(const std::basic_string&amp;lt;char, traits_t, alloc_t&amp;gt;&amp;amp; refKey, std::nothrow_t); //7&lt;br /&gt;
template &amp;lt;class traits_t, class alloc_t&amp;gt;&lt;br /&gt;
DataStorageOwn create_node(const std::basic_string&amp;lt;char, traits_t, alloc_t&amp;gt;&amp;amp; refKey); //8&lt;br /&gt;
unique_interface_ptr&amp;lt;IDataStorage&amp;gt; create_node(const char* pszKey, std::nothrow_t); //9&lt;br /&gt;
DataStorageOwn create_node(const char* pszKey); //10&lt;br /&gt;
|{{AssociativeDataStorageOutputRef::create_node brief}}&lt;br /&gt;
&lt;br /&gt;
Нечетные перегрузки, возвращающие адаптер [[DataStorageOwn]], генерируют исключение {{chsvlib_exception|AlreadyExistsException}} в случае, если добавление узла с указанным параметрически ключом, превысило бы установленное максимально допустимое количество узлов с одинаковым ключом, которое установлено реализацией. В противоположность им, четные перегрузки&lt;br /&gt;
с параметром [https://en.cppreference.com/w/cpp/memory/new/nothrow_t std::nothrow_t], которые возвращают смарт-указатель [[unique_interface_ptr]], в этом случае не генерируют исключения, но возвращают объект [[unique_interface_ptr]], сгенерированный по умолчанию.&lt;br /&gt;
{{clb|1, 2}}Ключ задается обобщенным C-указателем и байтовой длиной.{{cle}}&lt;br /&gt;
{{clb|3, 4}}Поиск осуществляется по ключу, который задан указателем на байтовые данные. Данная перегрузка участвует в процедуре разрешения перегрузки только, если {{param|T}} является целочисленным байтовым типом.{{cle}}&lt;br /&gt;
{{clb|5, 6}}Ключ поиска задается [https://en.cppreference.com/w/cpp/container/vector вектором] байт, задающих ключевые данные.{{cle}}&lt;br /&gt;
{{clb|7, 8}}Ключ поиска задается [https://en.cppreference.com/w/cpp/string/basic_string C++-строкой].{{cle}}&lt;br /&gt;
{{clb|9, 10}}Ключ поиска задается C-строкой.{{cle}}}}&lt;br /&gt;
{{function template paramlist begin}}&lt;br /&gt;
{{function template paramlist add|T, value_t|Типы элемента ключа {{param|pKey}} в перегрузках 3-6. Эти перегрузки участвуют в процедуре разрешения перегрузки, только если типы элементов ключа являются целочисленными и байтовыми.}}&lt;br /&gt;
{{function template paramlist add|alloc_t|Тип менеджера памяти {{cpp_concept|Allocator}}, используемого для управления временем жизни ключа {{param|refKey}} ключа в перегрузках 5-8. Тип используется только для дедукции типа параметра {{param|refKey}} и игнорируется при делегировании вызова методу [[IAssociativeDataStorageOutput::CreateNode]].}}&lt;br /&gt;
{{function template paramlist add|traits_t|Тип политики обработки {{cpp_concept|CharTraits}} символов ключа в перегрузках 7 и 8. Тип используется только для дедукции типа параметра {{param|refKey}} и игнорируется при делегировании вызова методу [[IAssociativeDataStorageOutput::CreateNode]].}}&lt;br /&gt;
{{function template paramlist end}}&lt;br /&gt;
{{function paramlist begin}}&lt;br /&gt;
{{function paramlist add|pKey|Указатель C, адресующий байты ключа в перегрузках 1-4 метода [[AssociativeDataStorageOutputRef::create_node|create_node]].|paramdir=[in]}}&lt;br /&gt;
{{function paramlist add|cbKey|Байтовый размер ключа в перегрузках 1-4.}}&lt;br /&gt;
{{function paramlist add|refKey|Ссылка на вектор [https://en.cppreference.com/w/cpp/container/vector std::vector] байт (перегрузки 5 и 6) или на C++ строку [https://en.cppreference.com/w/cpp/string/basic_string std::basic_string] (перегрузки 7 и 8) символов с ключом.}}&lt;br /&gt;
{{function paramlist add|pszKey|C-строка, завершающаяся терминальным нулем, задающая ключ при использовании для адресации данных перегрузкок 9 или 10.|paramdir=[in]}}&lt;br /&gt;
{{function paramlist end}}&lt;br /&gt;
{{function return_value|Уникальный указатель &amp;lt;source lang=&amp;quot;cpp&amp;quot; inline&amp;gt;unique_interface_ptr&amp;lt;IDataStorage&amp;gt;&amp;lt;/source&amp;gt; или объект [[DataStorageOwn]], которые адресует созданный пустой накопитель данных, связанный с созданным узлом. Если ключ не найден, нечетные перегрузки возвращают объект [[unique_interface_ptr]], сконструированный по умолчанию.}}&lt;br /&gt;
{{function_end}}&lt;/div&gt;</summary>
		<author><name>Андрей Чусов</name></author>
	</entry>
</feed>