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("@rules_cc//cc:defs.bzl", "cc_library", "cc_test") 18load( 19 "//absl:copts/configure_copts.bzl", 20 "ABSL_DEFAULT_COPTS", 21 "ABSL_DEFAULT_LINKOPTS", 22 "ABSL_TEST_COPTS", 23) 24 25package(default_visibility = ["//visibility:public"]) 26 27licenses(["notice"]) 28 29cc_library( 30 name = "algorithm", 31 hdrs = ["algorithm.h"], 32 copts = ABSL_DEFAULT_COPTS, 33 linkopts = ABSL_DEFAULT_LINKOPTS, 34 deps = [ 35 "//absl/base:config", 36 ], 37) 38 39cc_test( 40 name = "algorithm_test", 41 size = "small", 42 srcs = ["algorithm_test.cc"], 43 copts = ABSL_TEST_COPTS, 44 linkopts = ABSL_DEFAULT_LINKOPTS, 45 deps = [ 46 ":algorithm", 47 "@com_google_googletest//:gtest_main", 48 ], 49) 50 51cc_test( 52 name = "algorithm_benchmark", 53 srcs = ["equal_benchmark.cc"], 54 copts = ABSL_TEST_COPTS, 55 linkopts = ABSL_DEFAULT_LINKOPTS, 56 tags = ["benchmark"], 57 deps = [ 58 ":algorithm", 59 "//absl/base:core_headers", 60 "@com_github_google_benchmark//:benchmark_main", 61 ], 62) 63 64cc_library( 65 name = "container", 66 hdrs = [ 67 "container.h", 68 ], 69 copts = ABSL_DEFAULT_COPTS, 70 linkopts = ABSL_DEFAULT_LINKOPTS, 71 deps = [ 72 ":algorithm", 73 "//absl/base:core_headers", 74 "//absl/meta:type_traits", 75 ], 76) 77 78cc_test( 79 name = "container_test", 80 srcs = ["container_test.cc"], 81 copts = ABSL_TEST_COPTS, 82 linkopts = ABSL_DEFAULT_LINKOPTS, 83 deps = [ 84 ":container", 85 "//absl/base", 86 "//absl/base:core_headers", 87 "//absl/memory", 88 "//absl/types:span", 89 "@com_google_googletest//:gtest_main", 90 ], 91) 92