#ifndef FIRM_ADT_BIPARTITE_H
#define FIRM_ADT_BIPARTITE_H
-typedef struct _bipartite_t bipartite_t;
+#include "../begin.h"
-bipartite_t *bipartite_new(int n_left, int n_right);
-void bipartite_free(bipartite_t *gr);
-void bipartite_add(bipartite_t *gr, int i, int j);
-void bipartite_remv(bipartite_t *gr, int i, int j);
-int bipartite_adj(const bipartite_t *gr, int i, int j);
-void bipartite_matching(const bipartite_t *gr, int *matching);
+typedef struct bipartite_t bipartite_t;
+
+FIRM_API bipartite_t *bipartite_new(int n_left, int n_right);
+FIRM_API void bipartite_free(bipartite_t *gr);
+FIRM_API void bipartite_add(bipartite_t *gr, int i, int j);
+FIRM_API void bipartite_remv(bipartite_t *gr, int i, int j);
+FIRM_API int bipartite_adj(const bipartite_t *gr, int i, int j);
+FIRM_API void bipartite_matching(const bipartite_t *gr, int *matching);
/**
* Dumps a bipartite graph to a file stream.
*/
-void bipartite_dump_f(FILE *f, const bipartite_t *gr);
+FIRM_API void bipartite_dump_f(FILE *f, const bipartite_t *gr);
/**
* Dumps a bipartite graph to file name.
*/
-void bipartite_dump(const char *name, const bipartite_t *gr);
+FIRM_API void bipartite_dump(const char *name, const bipartite_t *gr);
+
+#include "../end.h"
#endif /* _BIPARTITE_H */