mirror of https://github.com/k3s-io/k3s
37 lines
922 B
Go
37 lines
922 B
Go
// Copyright ©2017 The Gonum 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 encoding
|
|
|
|
import "gonum.org/v1/gonum/graph"
|
|
|
|
// Builder is a graph that can have user-defined nodes and edges added.
|
|
type Builder interface {
|
|
graph.Graph
|
|
graph.Builder
|
|
}
|
|
|
|
// MultiBuilder is a graph that can have user-defined nodes and edges added.
|
|
type MultiBuilder interface {
|
|
graph.Multigraph
|
|
graph.MultigraphBuilder
|
|
}
|
|
|
|
// AttributeSetter is implemented by types that can set an encoded graph
|
|
// attribute.
|
|
type AttributeSetter interface {
|
|
SetAttribute(Attribute) error
|
|
}
|
|
|
|
// Attributer defines graph.Node or graph.Edge values that can
|
|
// specify graph attributes.
|
|
type Attributer interface {
|
|
Attributes() []Attribute
|
|
}
|
|
|
|
// Attribute is an encoded key value attribute pair use in graph encoding.
|
|
type Attribute struct {
|
|
Key, Value string
|
|
}
|