mirror of
https://github.com/golang/go
synced 2024-11-25 23:48:01 -07:00
31 lines
523 B
Go
31 lines
523 B
Go
|
// compile
|
||
|
|
||
|
// Copyright 2022 The Go Authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style
|
||
|
// license that can be found in the LICENSE file.
|
||
|
|
||
|
package p
|
||
|
|
||
|
type value[V comparable] struct {
|
||
|
node *node[value[V]]
|
||
|
value V
|
||
|
}
|
||
|
|
||
|
type node[V comparable] struct {
|
||
|
index *index[V]
|
||
|
children map[string]*node[V]
|
||
|
}
|
||
|
|
||
|
type index[V comparable] struct {
|
||
|
arrays []array[V]
|
||
|
}
|
||
|
|
||
|
type array[V comparable] struct {
|
||
|
valueMap map[int]V
|
||
|
}
|
||
|
|
||
|
var x value[int]
|
||
|
var y value[*Column]
|
||
|
|
||
|
type Column struct{ column int }
|