Documentation ¶
Overview ¶
Package generic provides code generator that takes go sources of a generic-like go code and generates concrete implementation by substituting predefined type variables (T1,.., T5) to a given type names
Index ¶
- Variables
- func Asset(name string) ([]byte, error)
- func AssetDir(name string) ([]string, error)
- func AssetInfo(name string) (os.FileInfo, error)
- func AssetNames() []string
- func BuiltInTypes() []string
- func MustAsset(name string) []byte
- func RestoreAsset(dir, name string) error
- func RestoreAssets(dir, name string) error
- type Generator
- type TypeMap
- type TypeVar
Constants ¶
This section is empty.
Variables ¶
var ( // ErrBadTypeVar indicates that type var is unsupported ErrBadTypeVar = errors.New("Bad type variable") )
Functions ¶
func Asset ¶
Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.
func AssetDir ¶
AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:
data/ foo.txt img/ a.png b.png
then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.
func AssetInfo ¶
AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.
func BuiltInTypes ¶
func BuiltInTypes() []string
BuiltInTypes return a slice with built-in generic type names
func MustAsset ¶
MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.
func RestoreAsset ¶
RestoreAsset restores an asset under the given directory
func RestoreAssets ¶
RestoreAssets restores an asset under the given directory recursively
Types ¶
type Generator ¶
type Generator struct {
// contains filtered or unexported fields
}
Generator implements a generic code generator
func (*Generator) Generate ¶
Generate generates implementation based on generic code and writes it to the Writer
func (*Generator) WithPackageName ¶
WithPackageName sets the package name
func (*Generator) WithTypeMapping ¶
WithTypeMapping sets type vars mapping to concrete types
type TypeMap ¶
TypeMap maps type variable names to concrete type names
func TypeMapFromStrings ¶
TypeMapFromStrings returns TypeMap filled with given type var names
Directories ¶
Path | Synopsis |
---|---|
Package converter provides a built-in implementation of generic routines for collection based conversion.
|
Package converter provides a built-in implementation of generic routines for collection based conversion. |
Package hashmap provides a built-in implementation of a generic map
|
Package hashmap provides a built-in implementation of a generic map |
Package iterator provides a built-in implementation of an ideomatic generic iterator
|
Package iterator provides a built-in implementation of an ideomatic generic iterator |
Package list provides a built-in implementation of a generic list
|
Package list provides a built-in implementation of a generic list |
Package set provides a built-in implementation of a generic set
|
Package set provides a built-in implementation of a generic set |