Skip to content

Commit

Permalink
pw_containers: Add IntrusiveForwardList size report to the docs
Browse files Browse the repository at this point in the history
Change-Id: I4cbaff467adb544bf2ae9368b6144623cc573007
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/233651
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Reviewed-by: Taylor Cramer <cramertj@google.com>
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed-service-accounts.iam.gserviceaccount.com>
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
  • Loading branch information
255 authored and CQ Bot Account committed Sep 10, 2024
1 parent 392b259 commit df3b7ba
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 19 deletions.
10 changes: 5 additions & 5 deletions pw_containers/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -342,10 +342,10 @@ pw_test("intrusive_list_test") {

pw_doc_group("docs") {
sources = [ "docs.rst" ]
report_deps = [ ":containers_size_report" ]
report_deps = [ ":intrusive_list_size_report" ]
}

pw_size_diff("containers_size_report") {
pw_size_diff("intrusive_list_size_report") {
title = "Pigweed containers size report"
binaries = [
{
Expand All @@ -364,17 +364,17 @@ pw_size_diff("containers_size_report") {
label = "linked list four item"
},
{
target = "size_report:intrusive_list_one_item"
target = "size_report:intrusive_forward_list_one_item"
base = "size_report:base"
label = "intrusive list one item"
},
{
target = "size_report:intrusive_list_two_item"
target = "size_report:intrusive_forward_list_two_item"
base = "size_report:base"
label = "intrusive list two item"
},
{
target = "size_report:intrusive_list_four_item"
target = "size_report:intrusive_forward_list_four_item"
base = "size_report:base"
label = "intrusive list four item"
},
Expand Down
4 changes: 4 additions & 0 deletions pw_containers/docs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,10 @@ preferrable to create items that together with their storage outlive the list.
Notably, ``pw::IntrusiveList<T>::end()`` is constant complexity (i.e. "O(1)").
As a result iterating over a list does not incur an additional penalty.

Size report
===========
.. include:: intrusive_list_size_report

-----------------------
pw::containers::FlatMap
-----------------------
Expand Down
12 changes: 6 additions & 6 deletions pw_containers/size_report/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ pw_cc_binary(
)

pw_cc_binary(
name = "intrusive_list_one_item",
srcs = ["intrusive_list.cc"],
name = "intrusive_forward_list_one_item",
srcs = ["intrusive_forward_list.cc"],
defines = ["ITEM_COUNT=1"],
target_compatible_with = incompatible_with_mcu(),
deps = [
Expand All @@ -78,8 +78,8 @@ pw_cc_binary(
)

pw_cc_binary(
name = "intrusive_list_two_item",
srcs = ["intrusive_list.cc"],
name = "intrusive_forward_list_two_item",
srcs = ["intrusive_forward_list.cc"],
defines = ["ITEM_COUNT=2"],
target_compatible_with = incompatible_with_mcu(),
deps = [
Expand All @@ -89,8 +89,8 @@ pw_cc_binary(
)

pw_cc_binary(
name = "intrusive_list_four_item",
srcs = ["intrusive_list.cc"],
name = "intrusive_forward_list_four_item",
srcs = ["intrusive_forward_list.cc"],
defines = ["ITEM_COUNT=4"],
target_compatible_with = incompatible_with_mcu(),
deps = [
Expand Down
12 changes: 6 additions & 6 deletions pw_containers/size_report/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -52,26 +52,26 @@ pw_executable("linked_list_four_item") {
defines = [ "ITEM_COUNT=4" ]
}

pw_executable("intrusive_list_one_item") {
sources = [ "intrusive_list.cc" ]
pw_executable("intrusive_forward_list_one_item") {
sources = [ "intrusive_forward_list.cc" ]
deps = [
":base_lib",
"..",
]
defines = [ "ITEM_COUNT=1" ]
}

pw_executable("intrusive_list_two_item") {
sources = [ "intrusive_list.cc" ]
pw_executable("intrusive_forward_list_two_item") {
sources = [ "intrusive_forward_list.cc" ]
deps = [
":base_lib",
"..",
]
defines = [ "ITEM_COUNT=2" ]
}

pw_executable("intrusive_list_four_item") {
sources = [ "intrusive_list.cc" ]
pw_executable("intrusive_forward_list_four_item") {
sources = [ "intrusive_forward_list.cc" ]
deps = [
":base_lib",
"..",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@
#define ITEM_COUNT 1
#endif

struct ExampleItem : public pw::IntrusiveList<ExampleItem>::Item {};
struct ExampleItem : public pw::IntrusiveForwardList<ExampleItem>::Item {};

struct ExampleContainer {
pw::IntrusiveList<ExampleItem> item_list;
pw::IntrusiveForwardList<ExampleItem> item_list;
};

static struct IntrusiveListContainer : BaseContainer {
Expand Down

0 comments on commit df3b7ba

Please sign in to comment.