1#
2# Copyright 2017 The Abseil Authors.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      https://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17load(
18    "//absl:copts/configure_copts.bzl",
19    "ABSL_DEFAULT_COPTS",
20    "ABSL_DEFAULT_LINKOPTS",
21    "ABSL_TEST_COPTS",
22)
23
24package(default_visibility = ["//visibility:public"])
25
26licenses(["notice"])
27
28cc_library(
29    name = "algorithm",
30    hdrs = ["algorithm.h"],
31    copts = ABSL_DEFAULT_COPTS,
32    linkopts = ABSL_DEFAULT_LINKOPTS,
33    deps = [
34        "//absl/base:config",
35    ],
36)
37
38cc_test(
39    name = "algorithm_test",
40    size = "small",
41    srcs = ["algorithm_test.cc"],
42    copts = ABSL_TEST_COPTS,
43    linkopts = ABSL_DEFAULT_LINKOPTS,
44    deps = [
45        ":algorithm",
46        "//absl/base:config",
47        "@com_google_googletest//:gtest_main",
48    ],
49)
50
51cc_binary(
52    name = "algorithm_benchmark",
53    testonly = 1,
54    srcs = ["equal_benchmark.cc"],
55    copts = ABSL_TEST_COPTS,
56    linkopts = ABSL_DEFAULT_LINKOPTS,
57    tags = ["benchmark"],
58    deps = [
59        ":algorithm",
60        "//absl/base:core_headers",
61        "@com_github_google_benchmark//:benchmark_main",
62    ],
63)
64
65cc_library(
66    name = "container",
67    hdrs = [
68        "container.h",
69    ],
70    copts = ABSL_DEFAULT_COPTS,
71    linkopts = ABSL_DEFAULT_LINKOPTS,
72    deps = [
73        ":algorithm",
74        "//absl/base:core_headers",
75        "//absl/meta:type_traits",
76    ],
77)
78
79cc_test(
80    name = "container_test",
81    srcs = ["container_test.cc"],
82    copts = ABSL_TEST_COPTS,
83    linkopts = ABSL_DEFAULT_LINKOPTS,
84    deps = [
85        ":container",
86        "//absl/base",
87        "//absl/base:core_headers",
88        "//absl/memory",
89        "//absl/types:span",
90        "@com_google_googletest//:gtest_main",
91    ],
92)
93