mirror of
https://github.com/abice/go-enum.git
synced 2026-10-28 16:46:59 +08:00
142 lines
4.4 KiB
Go
142 lines
4.4 KiB
Go
// Code generated by go-enum DO NOT EDIT.
|
|
// Version: example
|
|
// Revision: example
|
|
// Build Date: example
|
|
// Built By: example
|
|
|
|
//go:build example
|
|
// +build example
|
|
|
|
package example
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
const (
|
|
// Enum64bitUnkno is a Enum64bit of type Unkno.
|
|
Enum64bitUnkno Enum64bit = iota
|
|
// Enum64bitE2P15 is a Enum64bit of type E2P15.
|
|
Enum64bitE2P15 Enum64bit = iota + 32767
|
|
// Enum64bitE2P16 is a Enum64bit of type E2P16.
|
|
Enum64bitE2P16 Enum64bit = iota + 65534
|
|
// Enum64bitE2P17 is a Enum64bit of type E2P17.
|
|
Enum64bitE2P17 Enum64bit = iota + 131069
|
|
// Enum64bitE2P18 is a Enum64bit of type E2P18.
|
|
Enum64bitE2P18 Enum64bit = iota + 262140
|
|
// Enum64bitE2P19 is a Enum64bit of type E2P19.
|
|
Enum64bitE2P19 Enum64bit = iota + 524283
|
|
// Enum64bitE2P20 is a Enum64bit of type E2P20.
|
|
Enum64bitE2P20 Enum64bit = iota + 1048570
|
|
// Enum64bitE2P21 is a Enum64bit of type E2P21.
|
|
Enum64bitE2P21 Enum64bit = iota + 2097145
|
|
// Enum64bitE2P22 is a Enum64bit of type E2P22.
|
|
Enum64bitE2P22 Enum64bit = iota + 33554424
|
|
// Enum64bitE2P23 is a Enum64bit of type E2P23.
|
|
Enum64bitE2P23 Enum64bit = iota + 67108855
|
|
// Enum64bitE2P28 is a Enum64bit of type E2P28.
|
|
Enum64bitE2P28 Enum64bit = iota + 536870902
|
|
// Enum64bitE2P30 is a Enum64bit of type E2P30.
|
|
Enum64bitE2P30 Enum64bit = iota + 1073741813
|
|
// Enum64bitE2P31 is a Enum64bit of type E2P31.
|
|
Enum64bitE2P31 Enum64bit = iota + 2147483636
|
|
// Enum64bitE2P32 is a Enum64bit of type E2P32.
|
|
Enum64bitE2P32 Enum64bit = iota + 4294967283
|
|
// Enum64bitE2P33 is a Enum64bit of type E2P33.
|
|
Enum64bitE2P33 Enum64bit = iota + 8454967282
|
|
// Enum64bitE2P63 is a Enum64bit of type E2P63.
|
|
Enum64bitE2P63 Enum64bit = iota + 18446744073709551600
|
|
)
|
|
|
|
var ErrInvalidEnum64bit = fmt.Errorf("not a valid Enum64bit, try [%s]", strings.Join(_Enum64bitNames, ", "))
|
|
|
|
const _Enum64bitName = "UnknoE2P15E2P16E2P17E2P18E2P19E2P20E2P21E2P22E2P23E2P28E2P30E2P31E2P32E2P33E2P63"
|
|
|
|
var _Enum64bitNames = []string{
|
|
_Enum64bitName[0:5],
|
|
_Enum64bitName[5:10],
|
|
_Enum64bitName[10:15],
|
|
_Enum64bitName[15:20],
|
|
_Enum64bitName[20:25],
|
|
_Enum64bitName[25:30],
|
|
_Enum64bitName[30:35],
|
|
_Enum64bitName[35:40],
|
|
_Enum64bitName[40:45],
|
|
_Enum64bitName[45:50],
|
|
_Enum64bitName[50:55],
|
|
_Enum64bitName[55:60],
|
|
_Enum64bitName[60:65],
|
|
_Enum64bitName[65:70],
|
|
_Enum64bitName[70:75],
|
|
_Enum64bitName[75:80],
|
|
}
|
|
|
|
// Enum64bitNames returns a list of possible string values of Enum64bit.
|
|
func Enum64bitNames() []string {
|
|
tmp := make([]string, len(_Enum64bitNames))
|
|
copy(tmp, _Enum64bitNames)
|
|
return tmp
|
|
}
|
|
|
|
var _Enum64bitMap = map[Enum64bit]string{
|
|
Enum64bitUnkno: _Enum64bitName[0:5],
|
|
Enum64bitE2P15: _Enum64bitName[5:10],
|
|
Enum64bitE2P16: _Enum64bitName[10:15],
|
|
Enum64bitE2P17: _Enum64bitName[15:20],
|
|
Enum64bitE2P18: _Enum64bitName[20:25],
|
|
Enum64bitE2P19: _Enum64bitName[25:30],
|
|
Enum64bitE2P20: _Enum64bitName[30:35],
|
|
Enum64bitE2P21: _Enum64bitName[35:40],
|
|
Enum64bitE2P22: _Enum64bitName[40:45],
|
|
Enum64bitE2P23: _Enum64bitName[45:50],
|
|
Enum64bitE2P28: _Enum64bitName[50:55],
|
|
Enum64bitE2P30: _Enum64bitName[55:60],
|
|
Enum64bitE2P31: _Enum64bitName[60:65],
|
|
Enum64bitE2P32: _Enum64bitName[65:70],
|
|
Enum64bitE2P33: _Enum64bitName[70:75],
|
|
Enum64bitE2P63: _Enum64bitName[75:80],
|
|
}
|
|
|
|
// String implements the Stringer interface.
|
|
func (x Enum64bit) String() string {
|
|
if str, ok := _Enum64bitMap[x]; ok {
|
|
return str
|
|
}
|
|
return fmt.Sprintf("Enum64bit(%d)", x)
|
|
}
|
|
|
|
// IsValid provides a quick way to determine if the typed value is
|
|
// part of the allowed enumerated values
|
|
func (x Enum64bit) IsValid() bool {
|
|
_, ok := _Enum64bitMap[x]
|
|
return ok
|
|
}
|
|
|
|
var _Enum64bitValue = map[string]Enum64bit{
|
|
_Enum64bitName[0:5]: Enum64bitUnkno,
|
|
_Enum64bitName[5:10]: Enum64bitE2P15,
|
|
_Enum64bitName[10:15]: Enum64bitE2P16,
|
|
_Enum64bitName[15:20]: Enum64bitE2P17,
|
|
_Enum64bitName[20:25]: Enum64bitE2P18,
|
|
_Enum64bitName[25:30]: Enum64bitE2P19,
|
|
_Enum64bitName[30:35]: Enum64bitE2P20,
|
|
_Enum64bitName[35:40]: Enum64bitE2P21,
|
|
_Enum64bitName[40:45]: Enum64bitE2P22,
|
|
_Enum64bitName[45:50]: Enum64bitE2P23,
|
|
_Enum64bitName[50:55]: Enum64bitE2P28,
|
|
_Enum64bitName[55:60]: Enum64bitE2P30,
|
|
_Enum64bitName[60:65]: Enum64bitE2P31,
|
|
_Enum64bitName[65:70]: Enum64bitE2P32,
|
|
_Enum64bitName[70:75]: Enum64bitE2P33,
|
|
_Enum64bitName[75:80]: Enum64bitE2P63,
|
|
}
|
|
|
|
// ParseEnum64bit attempts to convert a string to a Enum64bit.
|
|
func ParseEnum64bit(name string) (Enum64bit, error) {
|
|
if x, ok := _Enum64bitValue[name]; ok {
|
|
return x, nil
|
|
}
|
|
return Enum64bit(0), fmt.Errorf("%s is %w", name, ErrInvalidEnum64bit)
|
|
}
|