api

package
v0.0.0-...-5849c1f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 3, 2023 License: MIT Imports: 1 Imported by: 3

Documentation

Overview

Package api is common to different implementations of NetCDF4 (CDF or HDF5)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AttributeMap

type AttributeMap interface {
	// Ordered list of keys
	Keys() []string
	// Indexed lookup
	Get(key string) (val interface{}, has bool)

	GetType(key string) (string, bool)
	GetGoType(key string) (string, bool)
}

type Group

type Group interface {
	// Close closes this group and closes any underlying files if they are no
	// longer being used by any other groups.
	Close()

	// Attributes returns the global attributes for this group.
	Attributes() AttributeMap

	// ListVariables lists the variables in this group.
	ListVariables() []string

	// GetVariable returns the named variable or sets the error if not found.
	GetVariable(name string) (*Variable, error)

	// GetVarGetter is an function that returns an interface that allows you to get
	// smaller slices of a variable, in case the variable is very large and you want to
	// reduce memory usage.
	GetVarGetter(name string) (VarGetter, error)

	// ListSubgroups returns the names of the subgroups of this group
	ListSubgroups() []string

	// GetGroup gets the given group or returns an error if not found.
	// The group can start with "/" for absolute names, or relative.
	GetGroup(group string) (g Group, err error)

	// ListTypes returns the user-defined type names.
	ListTypes() []string

	// GetType gets the CDL description of the type and sets the bool to true if found.
	GetType(string) (string, bool)

	// GettGoType gets the Go description of the type and sets the bool to true if found.
	GetGoType(string) (string, bool)

	// ListDimensions lists the names of the dimensions in this group.
	ListDimensions() []string

	// GetDimension returns the size of the given dimension and sets
	// the bool to true if found.
	GetDimension(string) (uint64, bool)
}

type ReadSeekerCloser

type ReadSeekerCloser interface {
	io.ReadSeeker
	io.Closer
}

type VarGetter

type VarGetter interface {
	// Len() is the total length of the variable's slice.
	// Or returns 1 if it is a scalar.
	Len() int64

	// Values returns all the values of the variable.  For very large variables,
	// it may be more appropriate to call GetSlice instead.
	Values() (interface{}, error)

	// GetSlice gets a (smaller) slice of the variable's slice
	// It's useful for variables which are very large and may not fit in memory.
	GetSlice(begin, end int64) (interface{}, error)

	Dimensions() []string

	Attributes() AttributeMap

	// Type returns the base type in CDL format, not including dimensions.
	Type() string
	// GoType returns the base type in Go format, not including dimensions.
	GoType() string
}

type Variable

type Variable struct {
	Values     interface{}
	Dimensions []string
	Attributes AttributeMap
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL