AssociativeDataStorageRef::delete node: различия между версиями
Перейти к навигации
Перейти к поиску
Параметры шаблона
Параметры
Возвращаемое значение: Уникальный указатель
(Новая страница: «{{DISPLAYTITLE:AssociativeDataStorageInputRef::delete_node}} {{function_begin|bool delete_node(const void* pKey, std::uint32_t cbKey, std::nothrow_t); //1 void de…») |
|||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE: | {{DISPLAYTITLE:AssociativeDataStorageRef::delete_node}} | ||
{{function_begin|bool delete_node(const void* pKey, std::uint32_t cbKey, std::nothrow_t); //1 | {{function_begin|bool delete_node(const void* pKey, std::uint32_t cbKey, std::nothrow_t); //1 | ||
void delete_node(const void* pKey, std::uint32_t cbKey); //2 | void delete_node(const void* pKey, std::uint32_t cbKey); //2 | ||
Строка 16: | Строка 16: | ||
bool delete_node(const char* pszKey, std::nothrow_t); //9 | bool delete_node(const char* pszKey, std::nothrow_t); //9 | ||
void delete_node(const char* pszKey); //10 | void delete_node(const char* pszKey); //10 | ||
|{{ | |{{AssociativeDataStorageRef::delete_node brief}} | ||
# Ключ задается обобщенным C-указателем и байтовой длиной. Если узел не найден, возвращается {{cpp_false}}. | # Ключ задается обобщенным C-указателем и байтовой длиной. Если узел не найден, возвращается {{cpp_false}}. | ||
# Аналогично, но если узел не найден, генерируется исключение {{chsvlib_exception|NotFoundException}}. | # Аналогично, но если узел не найден, генерируется исключение {{chsvlib_exception|NotFoundException}}. | ||
Строка 29: | Строка 29: | ||
{{function template paramlist begin}} | {{function template paramlist begin}} | ||
{{function template paramlist add|T, value_t|Типы элемента ключа {{param|pKey}} в перегрузках 3-6. Эти перегрузки участвуют в процедуре разрешения перегрузки, только если типы элементов ключа являются целочисленными и байтовыми.}} | {{function template paramlist add|T, value_t|Типы элемента ключа {{param|pKey}} в перегрузках 3-6. Эти перегрузки участвуют в процедуре разрешения перегрузки, только если типы элементов ключа являются целочисленными и байтовыми.}} | ||
{{function template paramlist add|alloc_t|Тип менеджера памяти {{cpp_concept|Allocator}}, используемого для управления временем жизни ключа {{param|refKey}} ключа в перегрузках 5-8. Тип используется только для дедукции типа параметра {{param|refKey}} и игнорируется при делегировании вызова методу [[ | {{function template paramlist add|alloc_t|Тип менеджера памяти {{cpp_concept|Allocator}}, используемого для управления временем жизни ключа {{param|refKey}} ключа в перегрузках 5-8. Тип используется только для дедукции типа параметра {{param|refKey}} и игнорируется при делегировании вызова методу [[IAssociativeDataStorage::DeleteNode]].}} | ||
{{function template paramlist add|traits_t|Тип политики обработки {{cpp_concept|CharTraits}} символов ключа в перегрузках 7 и 8. Тип используется только для дедукции типа параметра {{param|refKey}} и игнорируется при делегировании вызова методу [[ | {{function template paramlist add|traits_t|Тип политики обработки {{cpp_concept|CharTraits}} символов ключа в перегрузках 7 и 8. Тип используется только для дедукции типа параметра {{param|refKey}} и игнорируется при делегировании вызова методу [[IAssociativeDataStorage::DeleteNode]].}} | ||
{{function template paramlist end}} | {{function template paramlist end}} | ||
{{function paramlist begin}} | {{function paramlist begin}} | ||
{{function paramlist add|pKey|Указатель C, адресующий байты ключа в перегрузках 1-4 метода [[ | {{function paramlist add|pKey|Указатель C, адресующий байты ключа в перегрузках 1-4 метода [[AssociativeDataStorageRef::delete_node|delete_node]].|paramdir=[in]}} | ||
{{function paramlist add|cbKey|Байтовый размер ключа в перегрузках 1-4.}} | {{function paramlist add|cbKey|Байтовый размер ключа в перегрузках 1-4.}} | ||
{{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) символов с ключом.}} | {{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) символов с ключом.}} |
Версия 19:44, 19 августа 2019
bool delete_node(const void* pKey, std::uint32_t cbKey, std::nothrow_t); //1
void delete_node(const void* pKey, std::uint32_t cbKey); //2
template <class T>
bool delete_node(const T* pKey, std::uint32_t cbKey, std::nothrow_t); //3
template <class T>
void delete_node(const T* pKey, std::uint32_t cbKey); //4
template <class value_t, class alloc_t>
bool delete_node(const std::vector<value_t, alloc_t>& refKey, std::nothrow_t); //5
template <class value_t, class alloc_t>
void delete_node(const std::vector<value_t, alloc_t>& refKey); //6
template <class traits_t, class alloc_t>
bool delete_node(const std::basic_string<char, traits_t, alloc_t>& refKey, std::nothrow_t); //7
template <class traits_t, class alloc_t>
void delete_node(const std::basic_string<char, traits_t, alloc_t>& refKey); //8
bool delete_node(const char* pszKey, std::nothrow_t); //9
void delete_node(const char* pszKey); //10
Удаляет ключ, идентифицируемый ключом.
- Ключ задается обобщенным C-указателем и байтовой длиной. Если узел не найден, возвращается false.
- Аналогично, но если узел не найден, генерируется исключение Chusov::Exceptions::NotFoundException.
- Поиск осуществляется по ключу, который задан указателем на байтовые данные. Данная перегрузка участвует в процедуре разрешения перегрузки только, если T является целочисленным байтовым типом. Если узел не найден, возвращается false.
- Аналогично, но с генерацией исключения Chusov::Exceptions::NotFoundException, если узел с заданным ключом не существует.
- Ключ поиска задается вектором байт, задающих ключевые данные. Если ассоциированный с ключом узел не найден, возвращается false.
- Аналогично, но с генерацией исключения Chusov::Exceptions::NotFoundException, если узел с заданным ключом не существует.
- Ключ поиска задается C++-строкой. Если ассоциированный с ключом узел не найден, возвращается false.
- Аналогично, но если узел не найден, генерируется исключение Chusov::Exceptions::NotFoundException.
- Ключ поиска задается C-строкой. Если ассоциированный с ключом узел не найден, возвращается false.
- Аналогично, но с генерацией исключения Chusov::Exceptions::NotFoundException, если ключ не найден.
T, value_t | Типы элемента ключа pKey в перегрузках 3-6. Эти перегрузки участвуют в процедуре разрешения перегрузки, только если типы элементов ключа являются целочисленными и байтовыми. |
alloc_t | Тип менеджера памяти Allocator, используемого для управления временем жизни ключа refKey ключа в перегрузках 5-8. Тип используется только для дедукции типа параметра refKey и игнорируется при делегировании вызова методу IAssociativeDataStorage::DeleteNode. |
traits_t | Тип политики обработки CharTraits символов ключа в перегрузках 7 и 8. Тип используется только для дедукции типа параметра refKey и игнорируется при делегировании вызова методу IAssociativeDataStorage::DeleteNode. |
[in] | pKey | Указатель C, адресующий байты ключа в перегрузках 1-4 метода delete_node. |
cbKey | Байтовый размер ключа в перегрузках 1-4. | |
refKey | Ссылка на вектор std::vector байт (перегрузки 5 и 6) или на C++ строку std::basic_string (перегрузки 7 и 8) символов с ключом. | |
[in] | pszKey | C-строка, завершающаяся терминальным нулем, задающая ключ при использовании для адресации данных перегрузкок 9 или 10. |
unique_interface_ptr<IDataStorage>
или объект DataStorageOwn, которые адресует накопитель данных, связанный с узлом, который найден в результате поиска по ключу. Если ключ не найден, нечетные перегрузки возвращают объект unique_interface_ptr, сконструированный по умолчанию.