data_structures
src
data_structures
hashset
hashset_vals.c
Go to the documentation of this file.
1
/* ************************************************************************** */
3
/* */
4
/* ::: :::::::: */
5
/* hashset_vals.c :+: :+: :+: */
6
/* +:+ +:+ +:+ */
7
/* By: unite <marvin@42.fr> +#+ +:+ +#+ */
8
/* +#+#+#+#+#+ +#+ */
9
/* Created: 2020/07/21 19:15:14 by unite #+# #+# */
10
/* Updated: 2020/09/07 21:55:40 by unite ### ########.fr */
11
/* */
12
/* ************************************************************************** */
13
14
#include "
hashset.h
"
15
16
t_queue
*
hashset_vals
(
const
t_hashset
*hs)
17
{
18
t_queue
*queue;
19
size_t
i;
20
21
queue =
queue_new
(hs->
type
);
22
i = 0;
23
while
(i < hs->capacity)
24
{
25
if
(hs->
vals
[i] != NULL)
26
queue_enqueue
(queue, hs->
vals
[i]);
27
i++;
28
}
29
return
(queue);
30
}
hashset.h
s_hashset::vals
void ** vals
The data.
Definition:
hashset.h:45
s_list
Doubly-linked list of generic items.
Definition:
list.h:54
queue_new
t_queue * queue_new(const t_type *type)
Allocates memory and initializes an empty queue.
Definition:
queue_new.c:16
queue_enqueue
void queue_enqueue(t_queue *queue, const void *data)
Copies the item and adds the copy to the queue.
Definition:
queue_enqueue.c:16
hashset_vals
t_queue * hashset_vals(const t_hashset *hs)
Returns a queue with all the elements in the set.
Definition:
hashset_vals.c:16
s_hashset
A dynamically resizing linear-probing hashset.
Definition:
hashset.h:43
s_hashset::type
const t_type * type
The type of elements in the hashset.
Definition:
hashset.h:48
Generated by
1.8.16