Documentation ¶
Overview ¶
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Code generated by mkunion. DO NOT EDIT.
Index ¶
- func MustMatchCalc[TOut any](x Calc, f1 func(x *Lit) TOut, f2 func(x *Sum) TOut, f3 func(x *Mul) TOut) TOut
- func MustMatchTree[TOut any](x Tree, f1 func(x *Branch) TOut, f2 func(x *Leaf) TOut) TOut
- func MustMatchVehicle[TOut any](x Vehicle, f1 func(x *Plane) TOut, f2 func(x *Car) TOut, f3 func(x *Boat) TOut) TOut
- func MustMatchWherePredicate[TOut any](x WherePredicate, f1 func(x *Eq) TOut, f2 func(x *And) TOut, ...) TOut
- func ReduceCalcBreadthFirst[A any](r CalcReducer[A], v Calc, init A) A
- func ReduceCalcDepthFirst[A any](r CalcReducer[A], v Calc, init A) A
- func ReduceTreeBreadthFirst[A any](r TreeReducer[A], v Tree, init A) A
- func ReduceTreeDepthFirst[A any](r TreeReducer[A], v Tree, init A) A
- func ReduceVehicleBreadthFirst[A any](r VehicleReducer[A], v Vehicle, init A) A
- func ReduceVehicleDepthFirst[A any](r VehicleReducer[A], v Vehicle, init A) A
- func ReduceWherePredicateBreadthFirst[A any](r WherePredicateReducer[A], v WherePredicate, init A) A
- func ReduceWherePredicateDepthFirst[A any](r WherePredicateReducer[A], v WherePredicate, init A) A
- type And
- type Boat
- type Branch
- type Calc
- type CalcBreadthFirstVisitor
- type CalcDefaultReduction
- type CalcDefaultVisitor
- type CalcDepthFirstVisitor
- type CalcOneOf
- type CalcReducer
- type CalcVisitor
- type Car
- type Eq
- type Leaf
- type Lit
- type Mul
- type Or
- type Path
- type Plane
- type Sum
- type Tree
- type TreeBreadthFirstVisitor
- type TreeDefaultReduction
- type TreeDefaultVisitor
- type TreeDepthFirstVisitor
- type TreeOneOf
- type TreeReducer
- type TreeVisitor
- type Vehicle
- type VehicleBreadthFirstVisitor
- type VehicleDefaultReduction
- type VehicleDefaultVisitor
- type VehicleDepthFirstVisitor
- type VehicleOneOf
- type VehicleReducer
- type VehicleVisitor
- type WherePredicate
- type WherePredicateBreadthFirstVisitor
- type WherePredicateDefaultReduction
- func (t *WherePredicateDefaultReduction[A]) ReduceAnd(x *And, agg A) (result A, stop bool)
- func (t *WherePredicateDefaultReduction[A]) ReduceEq(x *Eq, agg A) (result A, stop bool)
- func (t *WherePredicateDefaultReduction[A]) ReduceOr(x *Or, agg A) (result A, stop bool)
- func (t *WherePredicateDefaultReduction[A]) ReducePath(x *Path, agg A) (result A, stop bool)
- type WherePredicateDefaultVisitor
- type WherePredicateDepthFirstVisitor
- type WherePredicateOneOf
- type WherePredicateReducer
- type WherePredicateVisitor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MustMatchCalc ¶ added in v1.4.0
func MustMatchTree ¶ added in v1.4.0
func MustMatchVehicle ¶ added in v1.4.0
func MustMatchWherePredicate ¶ added in v1.4.0
func ReduceCalcBreadthFirst ¶ added in v1.2.0
func ReduceCalcBreadthFirst[A any](r CalcReducer[A], v Calc, init A) A
func ReduceCalcDepthFirst ¶ added in v1.2.0
func ReduceCalcDepthFirst[A any](r CalcReducer[A], v Calc, init A) A
func ReduceTreeBreadthFirst ¶ added in v1.2.0
func ReduceTreeBreadthFirst[A any](r TreeReducer[A], v Tree, init A) A
func ReduceTreeDepthFirst ¶ added in v1.2.0
func ReduceTreeDepthFirst[A any](r TreeReducer[A], v Tree, init A) A
func ReduceVehicleBreadthFirst ¶ added in v1.2.0
func ReduceVehicleBreadthFirst[A any](r VehicleReducer[A], v Vehicle, init A) A
func ReduceVehicleDepthFirst ¶ added in v1.2.0
func ReduceVehicleDepthFirst[A any](r VehicleReducer[A], v Vehicle, init A) A
func ReduceWherePredicateBreadthFirst ¶ added in v1.2.0
func ReduceWherePredicateBreadthFirst[A any](r WherePredicateReducer[A], v WherePredicate, init A) A
func ReduceWherePredicateDepthFirst ¶ added in v1.2.0
func ReduceWherePredicateDepthFirst[A any](r WherePredicateReducer[A], v WherePredicate, init A) A
Types ¶
type And ¶
type And []WherePredicate
func (*And) Accept ¶
func (r *And) Accept(v WherePredicateVisitor) any
type Branch ¶
type Branch struct{ L, R Tree }
func (*Branch) Accept ¶
func (r *Branch) Accept(v TreeVisitor) any
type Calc ¶ added in v1.1.0
type Calc interface {
Accept(g CalcVisitor) any
}
type CalcBreadthFirstVisitor ¶ added in v1.2.0
type CalcBreadthFirstVisitor[A any] struct { // contains filtered or unexported fields }
func (*CalcBreadthFirstVisitor[A]) VisitLit ¶ added in v1.2.0
func (d *CalcBreadthFirstVisitor[A]) VisitLit(v *Lit) any
func (*CalcBreadthFirstVisitor[A]) VisitMul ¶ added in v1.2.0
func (d *CalcBreadthFirstVisitor[A]) VisitMul(v *Mul) any
func (*CalcBreadthFirstVisitor[A]) VisitSum ¶ added in v1.2.0
func (d *CalcBreadthFirstVisitor[A]) VisitSum(v *Sum) any
type CalcDefaultReduction ¶ added in v1.1.0
type CalcDefaultReduction[A any] struct { PanicOnFallback bool DefaultStopReduction bool OnLit func(x *Lit, agg A) (result A, stop bool) OnSum func(x *Sum, agg A) (result A, stop bool) OnMul func(x *Mul, agg A) (result A, stop bool) }
func (*CalcDefaultReduction[A]) ReduceLit ¶ added in v1.1.0
func (t *CalcDefaultReduction[A]) ReduceLit(x *Lit, agg A) (result A, stop bool)
func (*CalcDefaultReduction[A]) ReduceMul ¶ added in v1.1.0
func (t *CalcDefaultReduction[A]) ReduceMul(x *Mul, agg A) (result A, stop bool)
func (*CalcDefaultReduction[A]) ReduceSum ¶ added in v1.1.0
func (t *CalcDefaultReduction[A]) ReduceSum(x *Sum, agg A) (result A, stop bool)
type CalcDefaultVisitor ¶ added in v1.1.0
type CalcDefaultVisitor[A any] struct { Default A OnLit func(x *Lit) A OnSum func(x *Sum) A OnMul func(x *Mul) A }
func (*CalcDefaultVisitor[A]) VisitLit ¶ added in v1.1.0
func (t *CalcDefaultVisitor[A]) VisitLit(v *Lit) any
func (*CalcDefaultVisitor[A]) VisitMul ¶ added in v1.1.0
func (t *CalcDefaultVisitor[A]) VisitMul(v *Mul) any
func (*CalcDefaultVisitor[A]) VisitSum ¶ added in v1.1.0
func (t *CalcDefaultVisitor[A]) VisitSum(v *Sum) any
type CalcDepthFirstVisitor ¶ added in v1.1.0
type CalcDepthFirstVisitor[A any] struct { // contains filtered or unexported fields }
func (*CalcDepthFirstVisitor[A]) VisitLit ¶ added in v1.1.0
func (d *CalcDepthFirstVisitor[A]) VisitLit(v *Lit) any
func (*CalcDepthFirstVisitor[A]) VisitMul ¶ added in v1.1.0
func (d *CalcDepthFirstVisitor[A]) VisitMul(v *Mul) any
func (*CalcDepthFirstVisitor[A]) VisitSum ¶ added in v1.1.0
func (d *CalcDepthFirstVisitor[A]) VisitSum(v *Sum) any
type CalcOneOf ¶ added in v1.1.0
type CalcOneOf struct { Lit *Lit `json:",omitempty"` Sum *Sum `json:",omitempty"` Mul *Mul `json:",omitempty"` }
func MapCalcToOneOf ¶ added in v1.1.0
func (*CalcOneOf) Accept ¶ added in v1.1.0
func (r *CalcOneOf) Accept(v CalcVisitor) any
type CalcReducer ¶ added in v1.1.0
type CalcVisitor ¶ added in v1.1.0
type Eq ¶
type Eq struct{ V interface{} }
func (*Eq) Accept ¶
func (r *Eq) Accept(v WherePredicateVisitor) any
type Leaf ¶
type Leaf struct{ Value int }
func (*Leaf) Accept ¶
func (r *Leaf) Accept(v TreeVisitor) any
type Lit ¶ added in v1.1.0
type Lit struct{ V int }
func (*Lit) Accept ¶ added in v1.1.0
func (r *Lit) Accept(v CalcVisitor) any
type Mul ¶ added in v1.1.0
type Mul struct{ Left, Right Calc }
func (*Mul) Accept ¶ added in v1.1.0
func (r *Mul) Accept(v CalcVisitor) any
type Or ¶
type Or []WherePredicate
func (*Or) Accept ¶
func (r *Or) Accept(v WherePredicateVisitor) any
type Path ¶
type Path struct { Parts []string Condition WherePredicate Then []WherePredicate X Eq Y map[string]WherePredicate }
func (*Path) Accept ¶
func (r *Path) Accept(v WherePredicateVisitor) any
type Plane ¶
type Plane struct{}
func (*Plane) Accept ¶
func (r *Plane) Accept(v VehicleVisitor) any
type Sum ¶ added in v1.1.0
type Sum struct{ Left, Right Calc }
func (*Sum) Accept ¶ added in v1.1.0
func (r *Sum) Accept(v CalcVisitor) any
type Tree ¶
type Tree interface {
Accept(g TreeVisitor) any
}
type TreeBreadthFirstVisitor ¶ added in v1.2.0
type TreeBreadthFirstVisitor[A any] struct { // contains filtered or unexported fields }
func (*TreeBreadthFirstVisitor[A]) VisitBranch ¶ added in v1.2.0
func (d *TreeBreadthFirstVisitor[A]) VisitBranch(v *Branch) any
func (*TreeBreadthFirstVisitor[A]) VisitLeaf ¶ added in v1.2.0
func (d *TreeBreadthFirstVisitor[A]) VisitLeaf(v *Leaf) any
type TreeDefaultReduction ¶
type TreeDefaultReduction[A any] struct { PanicOnFallback bool DefaultStopReduction bool OnBranch func(x *Branch, agg A) (result A, stop bool) OnLeaf func(x *Leaf, agg A) (result A, stop bool) }
func (*TreeDefaultReduction[A]) ReduceBranch ¶
func (t *TreeDefaultReduction[A]) ReduceBranch(x *Branch, agg A) (result A, stop bool)
func (*TreeDefaultReduction[A]) ReduceLeaf ¶
func (t *TreeDefaultReduction[A]) ReduceLeaf(x *Leaf, agg A) (result A, stop bool)
type TreeDefaultVisitor ¶
type TreeDefaultVisitor[A any] struct { Default A OnBranch func(x *Branch) A OnLeaf func(x *Leaf) A }
func (*TreeDefaultVisitor[A]) VisitBranch ¶
func (t *TreeDefaultVisitor[A]) VisitBranch(v *Branch) any
func (*TreeDefaultVisitor[A]) VisitLeaf ¶
func (t *TreeDefaultVisitor[A]) VisitLeaf(v *Leaf) any
type TreeDepthFirstVisitor ¶
type TreeDepthFirstVisitor[A any] struct { // contains filtered or unexported fields }
func (*TreeDepthFirstVisitor[A]) VisitBranch ¶
func (d *TreeDepthFirstVisitor[A]) VisitBranch(v *Branch) any
func (*TreeDepthFirstVisitor[A]) VisitLeaf ¶
func (d *TreeDepthFirstVisitor[A]) VisitLeaf(v *Leaf) any
type TreeOneOf ¶
func MapTreeToOneOf ¶
func (*TreeOneOf) Accept ¶
func (r *TreeOneOf) Accept(v TreeVisitor) any
type TreeReducer ¶
type Vehicle ¶
type Vehicle interface {
Accept(g VehicleVisitor) any
}
type VehicleBreadthFirstVisitor ¶ added in v1.2.0
type VehicleBreadthFirstVisitor[A any] struct { // contains filtered or unexported fields }
func (*VehicleBreadthFirstVisitor[A]) VisitBoat ¶ added in v1.2.0
func (d *VehicleBreadthFirstVisitor[A]) VisitBoat(v *Boat) any
func (*VehicleBreadthFirstVisitor[A]) VisitCar ¶ added in v1.2.0
func (d *VehicleBreadthFirstVisitor[A]) VisitCar(v *Car) any
func (*VehicleBreadthFirstVisitor[A]) VisitPlane ¶ added in v1.2.0
func (d *VehicleBreadthFirstVisitor[A]) VisitPlane(v *Plane) any
type VehicleDefaultReduction ¶
type VehicleDefaultReduction[A any] struct { PanicOnFallback bool DefaultStopReduction bool OnPlane func(x *Plane, agg A) (result A, stop bool) OnCar func(x *Car, agg A) (result A, stop bool) OnBoat func(x *Boat, agg A) (result A, stop bool) }
func (*VehicleDefaultReduction[A]) ReduceBoat ¶
func (t *VehicleDefaultReduction[A]) ReduceBoat(x *Boat, agg A) (result A, stop bool)
func (*VehicleDefaultReduction[A]) ReduceCar ¶
func (t *VehicleDefaultReduction[A]) ReduceCar(x *Car, agg A) (result A, stop bool)
func (*VehicleDefaultReduction[A]) ReducePlane ¶
func (t *VehicleDefaultReduction[A]) ReducePlane(x *Plane, agg A) (result A, stop bool)
type VehicleDefaultVisitor ¶
type VehicleDefaultVisitor[A any] struct { Default A OnPlane func(x *Plane) A OnCar func(x *Car) A OnBoat func(x *Boat) A }
func (*VehicleDefaultVisitor[A]) VisitBoat ¶
func (t *VehicleDefaultVisitor[A]) VisitBoat(v *Boat) any
func (*VehicleDefaultVisitor[A]) VisitCar ¶
func (t *VehicleDefaultVisitor[A]) VisitCar(v *Car) any
func (*VehicleDefaultVisitor[A]) VisitPlane ¶
func (t *VehicleDefaultVisitor[A]) VisitPlane(v *Plane) any
type VehicleDepthFirstVisitor ¶
type VehicleDepthFirstVisitor[A any] struct { // contains filtered or unexported fields }
func (*VehicleDepthFirstVisitor[A]) VisitBoat ¶
func (d *VehicleDepthFirstVisitor[A]) VisitBoat(v *Boat) any
func (*VehicleDepthFirstVisitor[A]) VisitCar ¶
func (d *VehicleDepthFirstVisitor[A]) VisitCar(v *Car) any
func (*VehicleDepthFirstVisitor[A]) VisitPlane ¶
func (d *VehicleDepthFirstVisitor[A]) VisitPlane(v *Plane) any
type VehicleOneOf ¶
type VehicleOneOf struct { Plane *Plane `json:",omitempty"` Car *Car `json:",omitempty"` Boat *Boat `json:",omitempty"` }
func MapVehicleToOneOf ¶
func MapVehicleToOneOf(v Vehicle) *VehicleOneOf
func (*VehicleOneOf) Accept ¶
func (r *VehicleOneOf) Accept(v VehicleVisitor) any
type VehicleReducer ¶
type VehicleVisitor ¶
type WherePredicate ¶
type WherePredicate interface {
Accept(g WherePredicateVisitor) any
}
type WherePredicateBreadthFirstVisitor ¶ added in v1.2.0
type WherePredicateBreadthFirstVisitor[A any] struct { // contains filtered or unexported fields }
func (*WherePredicateBreadthFirstVisitor[A]) VisitAnd ¶ added in v1.2.0
func (d *WherePredicateBreadthFirstVisitor[A]) VisitAnd(v *And) any
func (*WherePredicateBreadthFirstVisitor[A]) VisitEq ¶ added in v1.2.0
func (d *WherePredicateBreadthFirstVisitor[A]) VisitEq(v *Eq) any
func (*WherePredicateBreadthFirstVisitor[A]) VisitOr ¶ added in v1.2.0
func (d *WherePredicateBreadthFirstVisitor[A]) VisitOr(v *Or) any
func (*WherePredicateBreadthFirstVisitor[A]) VisitPath ¶ added in v1.2.0
func (d *WherePredicateBreadthFirstVisitor[A]) VisitPath(v *Path) any
type WherePredicateDefaultReduction ¶
type WherePredicateDefaultReduction[A any] struct { PanicOnFallback bool DefaultStopReduction bool OnEq func(x *Eq, agg A) (result A, stop bool) OnAnd func(x *And, agg A) (result A, stop bool) OnOr func(x *Or, agg A) (result A, stop bool) OnPath func(x *Path, agg A) (result A, stop bool) }
func (*WherePredicateDefaultReduction[A]) ReduceAnd ¶
func (t *WherePredicateDefaultReduction[A]) ReduceAnd(x *And, agg A) (result A, stop bool)
func (*WherePredicateDefaultReduction[A]) ReduceEq ¶
func (t *WherePredicateDefaultReduction[A]) ReduceEq(x *Eq, agg A) (result A, stop bool)
func (*WherePredicateDefaultReduction[A]) ReduceOr ¶
func (t *WherePredicateDefaultReduction[A]) ReduceOr(x *Or, agg A) (result A, stop bool)
func (*WherePredicateDefaultReduction[A]) ReducePath ¶
func (t *WherePredicateDefaultReduction[A]) ReducePath(x *Path, agg A) (result A, stop bool)
type WherePredicateDefaultVisitor ¶
type WherePredicateDefaultVisitor[A any] struct { Default A OnEq func(x *Eq) A OnAnd func(x *And) A OnOr func(x *Or) A OnPath func(x *Path) A }
func (*WherePredicateDefaultVisitor[A]) VisitAnd ¶
func (t *WherePredicateDefaultVisitor[A]) VisitAnd(v *And) any
func (*WherePredicateDefaultVisitor[A]) VisitEq ¶
func (t *WherePredicateDefaultVisitor[A]) VisitEq(v *Eq) any
func (*WherePredicateDefaultVisitor[A]) VisitOr ¶
func (t *WherePredicateDefaultVisitor[A]) VisitOr(v *Or) any
func (*WherePredicateDefaultVisitor[A]) VisitPath ¶
func (t *WherePredicateDefaultVisitor[A]) VisitPath(v *Path) any
type WherePredicateDepthFirstVisitor ¶
type WherePredicateDepthFirstVisitor[A any] struct { // contains filtered or unexported fields }
func (*WherePredicateDepthFirstVisitor[A]) VisitAnd ¶
func (d *WherePredicateDepthFirstVisitor[A]) VisitAnd(v *And) any
func (*WherePredicateDepthFirstVisitor[A]) VisitEq ¶
func (d *WherePredicateDepthFirstVisitor[A]) VisitEq(v *Eq) any
func (*WherePredicateDepthFirstVisitor[A]) VisitOr ¶
func (d *WherePredicateDepthFirstVisitor[A]) VisitOr(v *Or) any
func (*WherePredicateDepthFirstVisitor[A]) VisitPath ¶
func (d *WherePredicateDepthFirstVisitor[A]) VisitPath(v *Path) any
type WherePredicateOneOf ¶
type WherePredicateOneOf struct { Eq *Eq `json:",omitempty"` And *And `json:",omitempty"` Or *Or `json:",omitempty"` Path *Path `json:",omitempty"` }
func MapWherePredicateToOneOf ¶
func MapWherePredicateToOneOf(v WherePredicate) *WherePredicateOneOf
func (*WherePredicateOneOf) Accept ¶
func (r *WherePredicateOneOf) Accept(v WherePredicateVisitor) any
type WherePredicateReducer ¶
Source Files ¶
- calculator_example.go
- calculator_example_mkunion_default_reducer.go
- calculator_example_mkunion_default_visitor.go
- calculator_example_mkunion_reducer_bfs.go
- calculator_example_mkunion_reducer_dfs.go
- calculator_example_mkunion_visitor.go
- simple_example.go
- simple_example_mkunion_default_reducer.go
- simple_example_mkunion_default_visitor.go
- simple_example_mkunion_reducer_bfs.go
- simple_example_mkunion_reducer_dfs.go
- simple_example_mkunion_visitor.go
- tree_example.go
- tree_example_mkunion_default_reducer.go
- tree_example_mkunion_default_visitor.go
- tree_example_mkunion_reducer_bfs.go
- tree_example_mkunion_reducer_dfs.go
- tree_example_mkunion_visitor.go
- where_predicate_example.go
- where_predicate_example_mkunion_default_reducer.go
- where_predicate_example_mkunion_default_visitor.go
- where_predicate_example_mkunion_reducer_bfs.go
- where_predicate_example_mkunion_reducer_dfs.go
- where_predicate_example_mkunion_visitor.go