# Copyright 2018 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//third_party/abseil-cpp/absl.gni")

absl_source_set("algorithm") {
  public = [ "algorithm.h" ]
  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
}

absl_source_set("container") {
  public = [ "container.h" ]
  deps = [
    ":algorithm",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/meta:type_traits",
  ]
}

absl_test("algorithm_test") {
  sources = [ "algorithm_test.cc" ]
  deps = [
    ":algorithm",
    "//third_party/abseil-cpp/absl/base:config",
  ]
}

absl_test("container_test") {
  sources = [ "container_test.cc" ]
  deps = [
    ":container",
    "//third_party/abseil-cpp/absl/base",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/memory",
    "//third_party/abseil-cpp/absl/types:span",
  ]
}
