// Code generated by `gen.exe`. DO NOT EDIT.

package lz4stream

import 

// DescriptorFlags is defined as follow:
//   field              bits
//   -----              ----
//   _                  2
//   ContentChecksum    1
//   Size               1
//   BlockChecksum      1
//   BlockIndependence  1
//   Version            2
//   _                  4
//   BlockSizeIndex     3
//   _                  1
type DescriptorFlags uint16

// Getters.
func ( DescriptorFlags) () bool   { return >>2&1 != 0 }
func ( DescriptorFlags) () bool              { return >>3&1 != 0 }
func ( DescriptorFlags) () bool     { return >>4&1 != 0 }
func ( DescriptorFlags) () bool { return >>5&1 != 0 }
func ( DescriptorFlags) () uint16         { return uint16( >> 6 & 0x3) }
func ( DescriptorFlags) () lz4block.BlockSizeIndex {
	return lz4block.BlockSizeIndex( >> 12 & 0x7)
}

// Setters.
func ( *DescriptorFlags) ( bool) *DescriptorFlags {
	const  = 1 << 2
	if  {
		* = *&^ | 
	} else {
		* &^= 
	}
	return 
}
func ( *DescriptorFlags) ( bool) *DescriptorFlags {
	const  = 1 << 3
	if  {
		* = *&^ | 
	} else {
		* &^= 
	}
	return 
}
func ( *DescriptorFlags) ( bool) *DescriptorFlags {
	const  = 1 << 4
	if  {
		* = *&^ | 
	} else {
		* &^= 
	}
	return 
}
func ( *DescriptorFlags) ( bool) *DescriptorFlags {
	const  = 1 << 5
	if  {
		* = *&^ | 
	} else {
		* &^= 
	}
	return 
}
func ( *DescriptorFlags) ( uint16) *DescriptorFlags {
	* = *&^(0x3<<6) | (DescriptorFlags() & 0x3 << 6)
	return 
}
func ( *DescriptorFlags) ( lz4block.BlockSizeIndex) *DescriptorFlags {
	* = *&^(0x7<<12) | (DescriptorFlags() & 0x7 << 12)
	return 
}

// Code generated by `gen.exe`. DO NOT EDIT.

// DataBlockSize is defined as follow:
//   field         bits
//   -----         ----
//   size          31
//   Uncompressed  1
type DataBlockSize uint32

// Getters.
func ( DataBlockSize) () int          { return int( & 0x7FFFFFFF) }
func ( DataBlockSize) () bool { return >>31&1 != 0 }

// Setters.
func ( *DataBlockSize) ( int) *DataBlockSize {
	* = *&^0x7FFFFFFF | DataBlockSize()&0x7FFFFFFF
	return 
}
func ( *DataBlockSize) ( bool) *DataBlockSize {
	const  = 1 << 31
	if  {
		* = *&^ | 
	} else {
		* &^= 
	}
	return 
}