mirror of
https://github.com/abice/go-enum.git
synced 2026-10-28 16:46:59 +08:00
122 lines
3.6 KiB
Go
122 lines
3.6 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 (
|
|
// Enum32bitUnkno is a Enum32bit of type Unkno.
|
|
Enum32bitUnkno Enum32bit = iota
|
|
// Enum32bitE2P15 is a Enum32bit of type E2P15.
|
|
Enum32bitE2P15 Enum32bit = iota + 32767
|
|
// Enum32bitE2P16 is a Enum32bit of type E2P16.
|
|
Enum32bitE2P16 Enum32bit = iota + 65534
|
|
// Enum32bitE2P17 is a Enum32bit of type E2P17.
|
|
Enum32bitE2P17 Enum32bit = iota + 131069
|
|
// Enum32bitE2P18 is a Enum32bit of type E2P18.
|
|
Enum32bitE2P18 Enum32bit = iota + 262140
|
|
// Enum32bitE2P19 is a Enum32bit of type E2P19.
|
|
Enum32bitE2P19 Enum32bit = iota + 524283
|
|
// Enum32bitE2P20 is a Enum32bit of type E2P20.
|
|
Enum32bitE2P20 Enum32bit = iota + 1048570
|
|
// Enum32bitE2P21 is a Enum32bit of type E2P21.
|
|
Enum32bitE2P21 Enum32bit = iota + 2097145
|
|
// Enum32bitE2P22 is a Enum32bit of type E2P22.
|
|
Enum32bitE2P22 Enum32bit = iota + 33554424
|
|
// Enum32bitE2P23 is a Enum32bit of type E2P23.
|
|
Enum32bitE2P23 Enum32bit = iota + 67108855
|
|
// Enum32bitE2P28 is a Enum32bit of type E2P28.
|
|
Enum32bitE2P28 Enum32bit = iota + 536870902
|
|
// Enum32bitE2P30 is a Enum32bit of type E2P30.
|
|
Enum32bitE2P30 Enum32bit = iota + 1073741813
|
|
)
|
|
|
|
var ErrInvalidEnum32bit = fmt.Errorf("not a valid Enum32bit, try [%s]", strings.Join(_Enum32bitNames, ", "))
|
|
|
|
const _Enum32bitName = "UnknoE2P15E2P16E2P17E2P18E2P19E2P20E2P21E2P22E2P23E2P28E2P30"
|
|
|
|
var _Enum32bitNames = []string{
|
|
_Enum32bitName[0:5],
|
|
_Enum32bitName[5:10],
|
|
_Enum32bitName[10:15],
|
|
_Enum32bitName[15:20],
|
|
_Enum32bitName[20:25],
|
|
_Enum32bitName[25:30],
|
|
_Enum32bitName[30:35],
|
|
_Enum32bitName[35:40],
|
|
_Enum32bitName[40:45],
|
|
_Enum32bitName[45:50],
|
|
_Enum32bitName[50:55],
|
|
_Enum32bitName[55:60],
|
|
}
|
|
|
|
// Enum32bitNames returns a list of possible string values of Enum32bit.
|
|
func Enum32bitNames() []string {
|
|
tmp := make([]string, len(_Enum32bitNames))
|
|
copy(tmp, _Enum32bitNames)
|
|
return tmp
|
|
}
|
|
|
|
var _Enum32bitMap = map[Enum32bit]string{
|
|
Enum32bitUnkno: _Enum32bitName[0:5],
|
|
Enum32bitE2P15: _Enum32bitName[5:10],
|
|
Enum32bitE2P16: _Enum32bitName[10:15],
|
|
Enum32bitE2P17: _Enum32bitName[15:20],
|
|
Enum32bitE2P18: _Enum32bitName[20:25],
|
|
Enum32bitE2P19: _Enum32bitName[25:30],
|
|
Enum32bitE2P20: _Enum32bitName[30:35],
|
|
Enum32bitE2P21: _Enum32bitName[35:40],
|
|
Enum32bitE2P22: _Enum32bitName[40:45],
|
|
Enum32bitE2P23: _Enum32bitName[45:50],
|
|
Enum32bitE2P28: _Enum32bitName[50:55],
|
|
Enum32bitE2P30: _Enum32bitName[55:60],
|
|
}
|
|
|
|
// String implements the Stringer interface.
|
|
func (x Enum32bit) String() string {
|
|
if str, ok := _Enum32bitMap[x]; ok {
|
|
return str
|
|
}
|
|
return fmt.Sprintf("Enum32bit(%d)", x)
|
|
}
|
|
|
|
// IsValid provides a quick way to determine if the typed value is
|
|
// part of the allowed enumerated values
|
|
func (x Enum32bit) IsValid() bool {
|
|
_, ok := _Enum32bitMap[x]
|
|
return ok
|
|
}
|
|
|
|
var _Enum32bitValue = map[string]Enum32bit{
|
|
_Enum32bitName[0:5]: Enum32bitUnkno,
|
|
_Enum32bitName[5:10]: Enum32bitE2P15,
|
|
_Enum32bitName[10:15]: Enum32bitE2P16,
|
|
_Enum32bitName[15:20]: Enum32bitE2P17,
|
|
_Enum32bitName[20:25]: Enum32bitE2P18,
|
|
_Enum32bitName[25:30]: Enum32bitE2P19,
|
|
_Enum32bitName[30:35]: Enum32bitE2P20,
|
|
_Enum32bitName[35:40]: Enum32bitE2P21,
|
|
_Enum32bitName[40:45]: Enum32bitE2P22,
|
|
_Enum32bitName[45:50]: Enum32bitE2P23,
|
|
_Enum32bitName[50:55]: Enum32bitE2P28,
|
|
_Enum32bitName[55:60]: Enum32bitE2P30,
|
|
}
|
|
|
|
// ParseEnum32bit attempts to convert a string to a Enum32bit.
|
|
func ParseEnum32bit(name string) (Enum32bit, error) {
|
|
if x, ok := _Enum32bitValue[name]; ok {
|
|
return x, nil
|
|
}
|
|
return Enum32bit(0), fmt.Errorf("%s is %w", name, ErrInvalidEnum32bit)
|
|
}
|