load("@fbcode_macros//build_defs:cpp_library.bzl", "cpp_library")

oncall("fbcode_entropy_wardens_folly")

cpp_library(
    name = "bits",
    headers = ["Bits.h"],
    exported_deps = [
        "//folly/lang:bits_class",
    ],
)

cpp_library(
    name = "elias_fano_coding",
    headers = [
        "EliasFanoCoding.h",
    ],
    exported_deps = [
        "//folly/compression/elias_fano:elias_fano_coding",
    ],
)

cpp_library(
    name = "event_count",
    headers = [
        "EventCount.h",
    ],
    exported_deps = [
        "//folly/synchronization:event_count",
    ],
)

cpp_library(
    name = "flat_combining_priority_queue",
    headers = [
        "FlatCombiningPriorityQueue.h",
    ],
    exported_deps = [
        "//folly/concurrency/container:flat_combining_priority_queue",
    ],
)

cpp_library(
    name = "relaxed_concurrent_priority_queue",
    headers = [
        "RelaxedConcurrentPriorityQueue.h",
    ],
    exported_deps = [
        "//folly/concurrency/container:relaxed_concurrent_priority_queue",
    ],
)

cpp_library(
    name = "function_scheduler",
    headers = [
        "FunctionScheduler.h",
    ],
    exported_deps = [
        "//folly/executors:function_scheduler",
    ],
)

cpp_library(
    name = "lock_free_ring_buffer",
    headers = [
        "LockFreeRingBuffer.h",
    ],
    exported_deps = [
        "//folly/concurrency/container:lock_free_ring_buffer",
    ],
)

cpp_library(
    name = "singleton_relaxed_counter",
    headers = [
        "SingletonRelaxedCounter.h",
    ],
    exported_deps = [
        "//folly/concurrency:singleton_relaxed_counter",
    ],
)

cpp_library(
    name = "test_util",
    headers = [
        "TestUtil.h",
    ],
    exported_deps = [
        "//folly/testing:test_util",
    ],
)

cpp_library(
    name = "threaded_repeating_function_runner",
    headers = [
        "ThreadedRepeatingFunctionRunner.h",
    ],
    exported_deps = [
        "//folly/executors:threaded_repeating_function_runner",
    ],
)
