Documentation ¶
Overview ¶
Package immutable is a helper package for the immutable data structures generated by myitcv.io/immutable/cmd/immutableGen.
Index ¶
Constants ¶
View Source
const ( CmdImmutableGen = "immutableGen" CmdImmutableVet = "immutableVet" )
View Source
const ( // ImmTypeTmplPrefix is the prefix used to identify immutable type templates ImmTypeTmplPrefix = "_Imm_" // Pkg is the import path of this package PkgImportPath = "myitcv.io/immutable" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Immutable ¶
Immutable is the interface implemented by all immutable types. If Go had generics the interface would be defined, assuming a generic type parameter T, as follows:
type Immutable<T> interface { Mutable() bool AsMutable() T AsImmutable(T) T WithMutable(func(T)) T WithImmutable(func(T)) T IsDeeplyNonMutable(map[interface{}]bool) bool }
Because we do not have such a type parameter we can only define the Mutable() method in the interface
Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
immutableGen
immutableGen is a go generate generator that creates immutable struct, map and slice type declarations from template type declarations.
|
immutableGen is a go generate generator that creates immutable struct, map and slice type declarations from template type declarations. |
Click to show internal directories.
Click to hide internal directories.