Files
2023-03-02 10:50:04 -08:00

70 lines
1.3 KiB
Python

load("//tools:defs.bzl", "go_library", "go_test")
load("//tools/go_generics:defs.bzl", "go_template_instance")
package(
default_applicable_licenses = ["//:license"],
default_visibility = ["//visibility:private"],
licenses = ["notice"],
)
go_template_instance(
name = "int_range",
out = "int_range.go",
package = "segment",
template = "//pkg/segment:generic_range",
types = {
"T": "int",
},
)
go_template_instance(
name = "int_set",
out = "int_set.go",
package = "segment",
template = "//pkg/segment:generic_set",
types = {
"Key": "int",
"Range": "Range",
"Value": "int",
"Functions": "setFunctions",
},
)
go_template_instance(
name = "gap_set",
out = "gap_set.go",
consts = {
"trackGaps": "1",
},
package = "segment",
prefix = "gap",
template = "//pkg/segment:generic_set",
types = {
"Key": "int",
"Range": "Range",
"Value": "int",
"Functions": "gapSetFunctions",
},
)
go_library(
name = "segment",
testonly = 1,
srcs = [
"gap_set.go",
"int_range.go",
"int_set.go",
"set_functions.go",
],
deps = [
"//pkg/state",
],
)
go_test(
name = "segment_test",
size = "small",
srcs = ["segment_test.go"],
library = ":segment",
)