X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ecd5f7562caf1d443bf22788fa5f4fac408776ec..51c23076e2b42ff07dc167dea1cb0e3a4ab3cf68:/src/xbt/dict.cpp diff --git a/src/xbt/dict.cpp b/src/xbt/dict.cpp index 2d2520d758..2dec54d96b 100644 --- a/src/xbt/dict.cpp +++ b/src/xbt/dict.cpp @@ -1,6 +1,6 @@ /* dict - a generic dictionary, variation over hash table */ -/* Copyright (c) 2004-2017. The SimGrid Team. +/* Copyright (c) 2004-2018. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -20,20 +20,11 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_dict, xbt, "Dictionaries provide the same functionalities as hash tables"); -xbt_dict_t xbt_dict_new() -{ - XBT_WARN("Function xbt_dict_new() will soon be dropped. Please switch to xbt_dict_new_homogeneous()"); - xbt_dict_t dict = xbt_dict_new_homogeneous(nullptr); - dict->homogeneous = 0; - - return dict; -} - /** * \brief Constructor * \param free_ctn function to call with (\a data as argument) when \a data is removed from the dictionary * \return pointer to the destination - * \see xbt_dict_new(), xbt_dict_free() + * \see xbt_dict_free() * * Creates and initialize a new dictionary with a default hashtable size. * The dictionary is homogeneous: each element share the same free function. @@ -51,7 +42,6 @@ xbt_dict_t xbt_dict_new_homogeneous(void_f_pvoid_t free_ctn) dict->table = xbt_new0(xbt_dictelm_t, dict->table_size + 1); dict->count = 0; dict->fill = 0; - dict->homogeneous = 1; return dict; } @@ -138,20 +128,19 @@ static void xbt_dict_rehash(xbt_dict_t dict) * \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 function to call with (\a data as argument) when \a data is removed from the dictionary. This param - * will only be considered when the dict was instantiated with xbt_dict_new() and not xbt_dict_new_homogeneous() + * \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, void_f_pvoid_t free_ctn) +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) { unsigned int hash_code = xbt_str_hash_ext(key, key_len); xbt_dictelm_t current; xbt_dictelm_t previous = nullptr; - xbt_assert(not free_ctn, "Cannot set an individual free function in homogeneous dicts."); XBT_CDEBUG(xbt_dict, "ADD %.*s hash = %u, size = %d, & = %u", key_len, key, hash_code, dict->table_size, hash_code & dict->table_size); current = dict->table[hash_code & dict->table_size]; @@ -177,7 +166,7 @@ void xbt_dict_set_ext(xbt_dict_t dict, const char *key, int key_len, void *data, XBT_CDEBUG(xbt_dict, "Replace %.*s by %.*s under key %.*s", key_len, (char *) current->content, key_len, (char *) data, key_len, (char *) key); /* there is already an element with the same key: overwrite it */ - xbt_dictelm_set_data(dict, current, data, free_ctn); + xbt_dictelm_set_data(dict, current, data); } } @@ -187,8 +176,7 @@ void xbt_dict_set_ext(xbt_dict_t dict, const char *key, int key_len, void *data, * \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 function to call with (\a data as argument) when \a data is removed from the dictionary. This param - * will only be considered when the dict was instantiated with xbt_dict_new() and not xbt_dict_new_homogeneous() + * \param free_ctn unused parameter (kept for compatibility) * * set the \a data in the structure under the \a key, which is anull terminated string. */