From d0c3309518b432bdd956ac3559517e708ca009cb Mon Sep 17 00:00:00 2001
From: Thomas Voss <mail@thomasvoss.com>
Date: Mon, 2 Jan 2023 04:53:46 +0100
Subject: Add the _intersects() function

---
 src/geset.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

(limited to 'src')

diff --git a/src/geset.h b/src/geset.h
index a87692b..320aa51 100644
--- a/src/geset.h
+++ b/src/geset.h
@@ -39,6 +39,7 @@
 	bool   n##_has(n_t *, t);                                               \
 	size_t n##_size(n_t *);                                                 \
 	bool   n##_empty(n_t *);                                                \
+	bool   n##_intersects(n_t *, n_t *);                                    \
 	int    n##_remove(n_t *, t);                                            \
 	int    n##_resize(n_t *, size_t);                                       \
 	bool   int_n##_key_iseq(t, t);                                          \
@@ -99,6 +100,16 @@
 		return int_n##_empty(set);                                      \
 	}                                                                       \
                                                                                 \
+	bool                                                                    \
+	n##_intersects(n_t *a, n_t *b)                                          \
+	{                                                                       \
+		GESET_FOREACH(n, t, e, *a) {                                    \
+			if (n##_has(b, e))                                      \
+				return true;                                    \
+		}                                                               \
+		return false;                                                   \
+	}                                                                       \
+                                                                                \
 	int                                                                     \
 	n##_remove(n_t *set, t e)                                               \
 	{                                                                       \
-- 
cgit v1.2.3