package gojay

import 

// EncodeUint64 encodes an int64 to JSON
func ( *Encoder) ( uint64) error {
	if .isPooled == 1 {
		panic(InvalidUsagePooledEncoderError("Invalid usage of pooled encoder"))
	}
	_, _ = .encodeUint64()
	,  := .Write()
	if  != nil {
		return 
	}
	return nil
}

// encodeUint64 encodes an int to JSON
func ( *Encoder) ( uint64) ([]byte, error) {
	.buf = strconv.AppendUint(.buf, , 10)
	return .buf, nil
}

// AddUint64 adds an int to be encoded, must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( uint64) {
	.Uint64()
}

// AddUint64OmitEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint64) {
	.Uint64OmitEmpty()
}

// AddUint64NullEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint64) {
	.Uint64NullEmpty()
}

// Uint64 adds an int to be encoded, must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( uint64) {
	.grow(10)
	 := .getPreviousRune()
	if  != '[' {
		.writeByte(',')
	}
	.buf = strconv.AppendUint(.buf, , 10)
}

// Uint64OmitEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint64) {
	if  == 0 {
		return
	}
	.grow(10)
	 := .getPreviousRune()
	if  != '[' {
		.writeByte(',')
	}
	.buf = strconv.AppendUint(.buf, , 10)
}

// Uint64NullEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint64) {
	.grow(10)
	 := .getPreviousRune()
	if  != '[' {
		.writeByte(',')
	}
	if  == 0 {
		.writeBytes(nullBytes)
		return
	}
	.buf = strconv.AppendUint(.buf, , 10)
}

// AddUint64Key adds an int to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  uint64) {
	.Uint64Key(, )
}

// AddUint64KeyOmitEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint64) {
	.Uint64KeyOmitEmpty(, )
}

// AddUint64KeyNullEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint64) {
	.Uint64KeyNullEmpty(, )
}

// Uint64Key adds an int to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  uint64) {
	if .hasKeys {
		if !.keyExists() {
			return
		}
	}
	.grow(10 + len())
	 := .getPreviousRune()
	if  != '{' {
		.writeByte(',')
	}
	.writeByte('"')
	.writeStringEscape()
	.writeBytes(objKey)
	.buf = strconv.AppendUint(.buf, , 10)
}

// Uint64KeyOmitEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint64) {
	if .hasKeys {
		if !.keyExists() {
			return
		}
	}
	if  == 0 {
		return
	}
	.grow(10 + len())
	 := .getPreviousRune()
	if  != '{' &&  != '[' {
		.writeByte(',')
	}
	.writeByte('"')
	.writeStringEscape()
	.writeBytes(objKey)
	.buf = strconv.AppendUint(.buf, , 10)
}

// Uint64KeyNullEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint64) {
	if .hasKeys {
		if !.keyExists() {
			return
		}
	}
	.grow(10 + len())
	 := .getPreviousRune()
	if  != '{' &&  != '[' {
		.writeByte(',')
	}
	.writeByte('"')
	.writeStringEscape()
	.writeBytes(objKey)
	if  == 0 {
		.writeBytes(nullBytes)
		return
	}
	.buf = strconv.AppendUint(.buf, , 10)
}

// AddUint32 adds an int to be encoded, must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( uint32) {
	.Uint64(uint64())
}

// AddUint32OmitEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint32) {
	.Uint64OmitEmpty(uint64())
}

// AddUint32NullEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint32) {
	.Uint64NullEmpty(uint64())
}

// Uint32 adds an int to be encoded, must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( uint32) {
	.Uint64(uint64())
}

// Uint32OmitEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint32) {
	.Uint64OmitEmpty(uint64())
}

// Uint32NullEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint32) {
	.Uint64NullEmpty(uint64())
}

// AddUint32Key adds an int to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  uint32) {
	.Uint64Key(, uint64())
}

// AddUint32KeyOmitEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint32) {
	.Uint64KeyOmitEmpty(, uint64())
}

// AddUint32KeyNullEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint32) {
	.Uint64KeyNullEmpty(, uint64())
}

// Uint32Key adds an int to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  uint32) {
	.Uint64Key(, uint64())
}

// Uint32KeyOmitEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint32) {
	.Uint64KeyOmitEmpty(, uint64())
}

// Uint32KeyNullEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint32) {
	.Uint64KeyNullEmpty(, uint64())
}

// AddUint16 adds an int to be encoded, must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( uint16) {
	.Uint64(uint64())
}

// AddUint16OmitEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint16) {
	.Uint64OmitEmpty(uint64())
}

// AddUint16NullEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint16) {
	.Uint64NullEmpty(uint64())
}

// Uint16 adds an int to be encoded, must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( uint16) {
	.Uint64(uint64())
}

// Uint16OmitEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint16) {
	.Uint64OmitEmpty(uint64())
}

// Uint16NullEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint16) {
	.Uint64NullEmpty(uint64())
}

// AddUint16Key adds an int to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  uint16) {
	.Uint64Key(, uint64())
}

// AddUint16KeyOmitEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint16) {
	.Uint64KeyOmitEmpty(, uint64())
}

// AddUint16KeyNullEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint16) {
	.Uint64KeyNullEmpty(, uint64())
}

// Uint16Key adds an int to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  uint16) {
	.Uint64Key(, uint64())
}

// Uint16KeyOmitEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint16) {
	.Uint64KeyOmitEmpty(, uint64())
}

// Uint16KeyNullEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint16) {
	.Uint64KeyNullEmpty(, uint64())
}

// AddUint8 adds an int to be encoded, must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( uint8) {
	.Uint64(uint64())
}

// AddUint8OmitEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint8) {
	.Uint64OmitEmpty(uint64())
}

// AddUint8NullEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint8) {
	.Uint64NullEmpty(uint64())
}

// Uint8 adds an int to be encoded, must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( uint8) {
	.Uint64(uint64())
}

// Uint8OmitEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint8) {
	.Uint64OmitEmpty(uint64())
}

// Uint8NullEmpty adds an int to be encoded and skips it if its value is 0,
// must be used inside a slice or array encoding (does not encode a key).
func ( *Encoder) ( uint8) {
	.Uint64NullEmpty(uint64())
}

// AddUint8Key adds an int to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  uint8) {
	.Uint64Key(, uint64())
}

// AddUint8KeyOmitEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint8) {
	.Uint64KeyOmitEmpty(, uint64())
}

// AddUint8KeyNullEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint8) {
	.Uint64KeyNullEmpty(, uint64())
}

// Uint8Key adds an int to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  uint8) {
	.Uint64Key(, uint64())
}

// Uint8KeyOmitEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint8) {
	.Uint64KeyOmitEmpty(, uint64())
}

// Uint8KeyNullEmpty adds an int to be encoded and skips it if its value is 0.
// Must be used inside an object as it will encode a key.
func ( *Encoder) ( string,  uint8) {
	.Uint64KeyNullEmpty(, uint64())
}