Back to godoc.org
github.com/grailbio/bigslice/slicetype

package slicetype

v0.0.0 (8e22b3d)
Latest Go to latest
Published: May 28, 2020 | License: Apache-2.0 | Module: github.com/grailbio/bigslice

Overview

Package slicetype implements data types and utilities to describe Bigslice types: Slices, Frames, and Tasks all carry slicetype.Types.

Index

func Assignable

func Assignable(in, out Type) bool

Assignable reports whether column type in can be assigned to out.

func Columns

func Columns(typ Type) []reflect.Type

Columns returns a slice of column types from the provided type.

func Signature

func Signature(arg, ret Type) string

Signature returns a Go function signature for a function that takes the provided arguments and returns the provided values.

func String

func String(typ Type) string

type Type

type Type interface {
	// NumOut returns the number of columns.
	NumOut() int
	// Out returns the data type of the ith column.
	Out(i int) reflect.Type
	// Prefix returns the number of columns in the type
	// which are considered the type's prefix. A type's
	// prefix is the set of columns which are considered
	// the type's key columns for operations like reduce.
	Prefix() int
}

A Type is the type of a set of columns.

func Append

func Append(t1, t2 Type) Type

func Concat

func Concat(types ...Type) Type

func New

func New(types ...reflect.Type) Type

New returns a new Type using the provided column types.

func Slice

func Slice(t Type, i, j int) Type

BUGs

  • prefixes are lost when slicing a type.

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
f or F : Jump to identifier