package avro

// SkipNBytes skips the given number of bytes in the reader.
func ( *Reader) ( int) {
	 := 0
	for  <  {
		if .head == .tail {
			if !.loadMore() {
				return
			}
		}

		if +.tail-.head <  {
			 += .tail - .head
			.head = .tail
			continue
		}

		.head +=  - 
		 +=  - 
	}
}

// SkipBool skips a Bool in the reader.
func ( *Reader) () {
	_ = .readByte()
}

// SkipInt skips an Int in the reader.
func ( *Reader) () {
	var  int
	for .Error == nil &&  < maxIntBufSize {
		 := .readByte()
		if &0x80 == 0 {
			break
		}
		++
	}
}

// SkipLong skips a Long in the reader.
func ( *Reader) () {
	var  int
	for .Error == nil &&  < maxLongBufSize {
		 := .readByte()
		if &0x80 == 0 {
			break
		}
		++
	}
}

// SkipFloat skips a Float in the reader.
func ( *Reader) () {
	.SkipNBytes(4)
}

// SkipDouble skips a Double in the reader.
func ( *Reader) () {
	.SkipNBytes(8)
}

// SkipString skips a String in the reader.
func ( *Reader) () {
	 := .ReadLong()
	if  <= 0 {
		return
	}
	.SkipNBytes(int())
}

// SkipBytes skips Bytes in the reader.
func ( *Reader) () {
	 := .ReadLong()
	if  <= 0 {
		return
	}
	.SkipNBytes(int())
}