#include "xbt/log.h"
#include "xbt/mallocator.h"
#include "xbt/str.h"
+#include "xbt/string.hpp"
#include <cstdio>
#include <cstring>
* @param key the key to set the new data
* @param key_len the size of the @a key
* @param data the data to add in the dict
- * @param free_ctn unused parameter (kept for compatibility)
*
* Set the @a data in the structure under the @a key, which can be any kind of data, as long as its length is provided
* in @a key_len.
*/
-void xbt_dict_set_ext(xbt_dict_t dict, const char* key, int key_len, void* data,
- XBT_ATTRIB_UNUSED void_f_pvoid_t free_ctn)
+void xbt_dict_set_ext(xbt_dict_t dict, const char* key, int key_len, void* data)
{
unsigned int hash_code = xbt_str_hash_ext(key, key_len);
* @param dict the dict
* @param key the key to set the new data
* @param data the data to add in the dict
- * @param free_ctn unused parameter (kept for compatibility)
*
- * set the @a data in the structure under the @a key, which is anull terminated string.
+ * set the @a data in the structure under the @a key, which is a null terminated string.
*/
-void xbt_dict_set(xbt_dict_t dict, const char *key, void *data, void_f_pvoid_t free_ctn)
+void xbt_dict_set(xbt_dict_t dict, const char* key, void* data)
{
- xbt_dict_set_ext(dict, key, strlen(key), data, free_ctn);
+ xbt_dict_set_ext(dict, key, strlen(key), data);
}
/**
* @param key_len the size of the @a key
* @return the data that we are looking for
*
- * Search the given @a key. Throws not_found_error when not found.
+ * Search the given @a key. Throws std::out_of_range when not found.
*/
void *xbt_dict_get_ext(xbt_dict_t dict, const char *key, int key_len)
{
}
if (current == nullptr)
- THROWF(not_found_error, 0, "key %.*s not found", key_len, key);
+ throw std::out_of_range(simgrid::xbt::string_printf("key %.*s not found", key_len, key));
return current->content;
}
* @param key the key to find data
* @return the data that we are looking for
*
- * Search the given @a key. Throws not_found_error when not found.
+ * Search the given @a key. Throws std::out_of_range when not found.
* Check xbt_dict_get_or_null() for a version returning nullptr without exception when not found.
*/
void *xbt_dict_get(xbt_dict_t dict, const char *key)
* @param key the key to find data
* @return the s_xbt_dictelm_t that we are looking for
*
- * Search the given @a key. Throws not_found_error when not found.
+ * Search the given @a key. Throws std::out_of_range when not found.
* Check xbt_dict_get_or_null() for a version returning nullptr without exception when not found.
*/
xbt_dictelm_t xbt_dict_get_elm(xbt_dict_t dict, const char *key)
xbt_dictelm_t current = xbt_dict_get_elm_or_null(dict, key);
if (current == nullptr)
- THROWF(not_found_error, 0, "key %s not found", key);
+ throw std::out_of_range(simgrid::xbt::string_printf("key %s not found", key));
return current;
}
* @param key the key of the data to be removed
* @param key_len the size of the @a key
*
- * Remove the entry associated with the given @a key (throws not_found)
+ * Remove the entry associated with the given @a key (throws std::out_of_range)
*/
void xbt_dict_remove_ext(xbt_dict_t dict, const char *key, int key_len)
{
}
if (current == nullptr)
- THROWF(not_found_error, 0, "key %.*s not found", key_len, key);
+ throw std::out_of_range(simgrid::xbt::string_printf("key %.*s not found", key_len, key));
else {
if (previous != nullptr) {
previous->next = current->next;