• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2020 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7#     https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15load(
16    "//pw_build:pigweed.bzl",
17    "pw_cc_library",
18    "pw_cc_test",
19)
20
21package(default_visibility = ["//visibility:public"])
22
23licenses(["notice"])  # Apache License 2.0
24
25pw_cc_library(
26    name = "pw_containers",
27    deps = [
28        ":flat_map",
29        ":vector",
30        ":intrusive_list",
31    ],
32)
33
34pw_cc_library(
35    name = "intrusive_list",
36    deps = [ "//pw_assert" ],
37    srcs = [
38        "intrusive_list.cc",
39        "public/pw_containers/internal/intrusive_list_impl.h",
40    ],
41    hdrs = [
42        "public/pw_containers/intrusive_list.h",
43    ],
44    includes = ["public"],
45)
46
47pw_cc_library(
48    name = "vector",
49    hdrs = [
50        "public/pw_containers/vector.h",
51    ],
52    includes = ["public"],
53)
54
55pw_cc_library(
56    name = "flat_map",
57    hdrs = [
58        "public/pw_containers/flat_map.h",
59    ],
60    includes = ["public"],
61)
62
63pw_cc_test(
64    name = "flat_map_test",
65    srcs = [
66        "flat_map_test.cc",
67    ],
68    deps = [
69        ":pw_containers",
70        "//pw_unit_test",
71    ],
72)
73
74pw_cc_test(
75    name = "vector_test",
76    srcs = [
77        "vector_test.cc",
78    ],
79    deps = [
80        ":pw_containers",
81        "//pw_unit_test",
82    ],
83)
84
85pw_cc_test(
86    name = "intrusive_list_test",
87    srcs = [
88        "intrusive_list_test.cc",
89    ],
90    deps = [
91        ":intrusive_list",
92        "//pw_unit_test",
93    ],
94)
95