pw_containers: Add intrusive singly linked list
Add a intrusive singly linked list implementation that does not require
dynamic memory allocation.
Change-Id: Id572d4611d699106fc6367f5008cd01744a5c578
diff --git a/pw_containers/BUILD b/pw_containers/BUILD
index 3252a5f..0e2af8c 100644
--- a/pw_containers/BUILD
+++ b/pw_containers/BUILD
@@ -24,6 +24,27 @@
pw_cc_library(
name = "pw_containers",
+ deps = [
+ ":vector",
+ ":intrusive_list",
+ ],
+)
+
+pw_cc_library(
+ name = "intrusive_list",
+ deps = [ "//pw_assert" ],
+ srcs = [
+ "intrusive_list.cc",
+ "public/pw_containers/internal/intrusive_list_impl.h",
+ ],
+ hdrs = [
+ "public/pw_containers/intrusive_list.h",
+ ],
+ includes = ["public"],
+)
+
+pw_cc_library(
+ name = "vector",
hdrs = [
"public/pw_containers/vector.h",
],
@@ -40,3 +61,14 @@
"//pw_unit_test",
],
)
+
+pw_cc_test(
+ name = "intrusive_list_test",
+ srcs = [
+ "intrusive_list_test.cc",
+ ],
+ deps = [
+ ":intrusive_list",
+ "//pw_unit_test",
+ ],
+)