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