feat: initial set and sockets
This commit is contained in:
56
set/myset.c
56
set/myset.c
@@ -1,28 +1,28 @@
|
||||
#include "myset.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
set_s *set_new(size_t element_size) {
|
||||
if (element_size == 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
set_s *set = (set_s *)malloc(sizeof(set_s));
|
||||
if (set == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// TODO: think about how to deal the free_value for each element
|
||||
|
||||
return set;
|
||||
}
|
||||
|
||||
int set_add(set_s *set, void *elem);
|
||||
|
||||
int set_remove(set_s *set, void *elem);
|
||||
|
||||
int set_clear(set_s *set);
|
||||
|
||||
int set_contains(set_s *set, void *elem);
|
||||
|
||||
void set_free(set_s *set);
|
||||
#include "myset.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
set_s *set_new(size_t element_size) {
|
||||
if (element_size == 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
set_s *set = (set_s *)malloc(sizeof(set_s));
|
||||
if (set == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// TODO: think about how to deal the free_value for each element
|
||||
|
||||
return set;
|
||||
}
|
||||
|
||||
int set_add(set_s *set, void *elem);
|
||||
|
||||
int set_remove(set_s *set, void *elem);
|
||||
|
||||
int set_clear(set_s *set);
|
||||
|
||||
int set_contains(set_s *set, void *elem);
|
||||
|
||||
void set_free(set_s *set);
|
||||
|
||||
54
set/myset.h
54
set/myset.h
@@ -1,27 +1,27 @@
|
||||
#ifndef MYCLIB_SET_H
|
||||
#define MYCLIB_SET_H
|
||||
|
||||
// TODO: WIP
|
||||
|
||||
#include <threads.h>
|
||||
|
||||
#include "../hashmap/myhashmap.h"
|
||||
|
||||
typedef struct set {
|
||||
hashmap_s *map;
|
||||
mtx_t lock;
|
||||
} set_s;
|
||||
|
||||
set_s *set_new(size_t element_size);
|
||||
|
||||
int set_add(set_s *set, void *elem);
|
||||
|
||||
int set_remove(set_s *set, void *elem);
|
||||
|
||||
int set_clear(set_s *set);
|
||||
|
||||
int set_contains(set_s *set, void *elem);
|
||||
|
||||
void set_free(set_s *set);
|
||||
|
||||
#endif
|
||||
#ifndef MYCLIB_SET_H
|
||||
#define MYCLIB_SET_H
|
||||
|
||||
// TODO: WIP
|
||||
|
||||
#include <threads.h>
|
||||
|
||||
#include "../hashmap/myhashmap.h"
|
||||
|
||||
typedef struct set {
|
||||
hashmap_s *map;
|
||||
mtx_t lock;
|
||||
} set_s;
|
||||
|
||||
set_s *set_new(size_t element_size);
|
||||
|
||||
int set_add(set_s *set, void *elem);
|
||||
|
||||
int set_remove(set_s *set, void *elem);
|
||||
|
||||
int set_clear(set_s *set);
|
||||
|
||||
int set_contains(set_s *set, void *elem);
|
||||
|
||||
void set_free(set_s *set);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user