X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4a201b7ceece70d2bc461ac48c8b746a36d07243..aee58827f69b637a767d51db4c5a0f14aefce3b9:/include/xbt/set.h diff --git a/include/xbt/set.h b/include/xbt/set.h index 5f75b1e6e2..1d87320332 100644 --- a/include/xbt/set.h +++ b/include/xbt/set.h @@ -1,6 +1,7 @@ /* xbt/set.h -- api to a generic dictionary */ -/* Copyright (c) 2004 Martin Quinson. All rights reserved. */ +/* Copyright (c) 2004-2007, 2009-2010, 2012-2014. The SimGrid Team. + * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -19,21 +20,26 @@ SG_BEGIN_DECL() * The elements stored in such a data structure can be retrieve both by * name and by ID. For this to work, the first fields of the structures * stored must begin with the following fields: - * \verbatim struct { - unsigned int ID; - char *name; - unsigned int name_len; - // my other fields, constituting the payload -} my_element_type_t; \endverbatim +\verbatim + struct { + unsigned int ID; + char *name; + unsigned int name_len; + // my other fields, constituting the payload + } my_element_type_t; +\endverbatim * * Since we are casting elements around, no protection is ensured by the * compiler. It is thus safer to define the headers using the macro * defined to that extend: - * \verbatim struct { + * +\verbatim +struct { XBT_SET_HEADERS; // my other fields, constituting the payload -} my_element_type_t; \endverbatim +} my_element_type_t; +\endverbatim * * It is now possible to remove an element from such a data structure. * @@ -48,7 +54,7 @@ SG_BEGIN_DECL() * @{ */ /** \brief Opaque type representing a set */ - typedef struct xbt_set_ *xbt_set_t; +typedef struct xbt_set_ *xbt_set_t; #define XBT_SET_HEADERS \ unsigned int ID; \ @@ -56,12 +62,12 @@ SG_BEGIN_DECL() unsigned int name_len /** \brief It must be possible to cast set elements to this type */ - typedef struct xbt_set_elm_ { - unsigned int ID; /**< Identificator (system assigned) */ - char *name; /**< Name (user assigned) */ - unsigned int name_len; +typedef struct xbt_set_elm_ { + unsigned int ID; /**< Identificator (system assigned) */ + char *name; /**< Name (user assigned) */ + unsigned int name_len; /**< Length of the name */ - } s_xbt_set_elm_t, *xbt_set_elm_t; +} s_xbt_set_elm_t, *xbt_set_elm_t; /*####[ Functions ]##########################################################*/ XBT_PUBLIC(xbt_set_t) xbt_set_new(void); @@ -84,7 +90,8 @@ XBT_PUBLIC(void) xbt_set_remove_by_name_ext(xbt_set_t set, const char *key, int key_len); XBT_PUBLIC(void) xbt_set_remove_by_id(xbt_set_t set, int id); -XBT_PUBLIC(xbt_set_elm_t) xbt_set_get_by_name(xbt_set_t set, const char *key); +XBT_PUBLIC(xbt_set_elm_t) xbt_set_get_by_name(xbt_set_t set, + const char *key); XBT_PUBLIC(xbt_set_elm_t) xbt_set_get_by_name_ext(xbt_set_t set, const char *key, int key_len); @@ -103,7 +110,7 @@ XBT_PUBLIC(unsigned long) xbt_set_length(const xbt_set_t set); */ /** @brief Cursor type */ - typedef struct xbt_set_cursor_ *xbt_set_cursor_t; +typedef struct xbt_set_cursor_ *xbt_set_cursor_t; XBT_PUBLIC(void) xbt_set_cursor_first(xbt_set_t set, xbt_set_cursor_t * cursor); @@ -121,4 +128,4 @@ XBT_PUBLIC(int) xbt_set_cursor_get_or_free(xbt_set_cursor_t * cursor, /* @} */ SG_END_DECL() -#endif /* _XBT_SET_H */ +#endif /* _XBT_SET_H */