package org.json.zip;
import java.io.IOException;
public interface BitReader {
/**
* Read one bit.
*
* @return true if it is a 1 bit.
*/
public boolean bit() throws IOException;
/**
* Returns the number of bits that have been read from this bitreader.
*
* @return The number of bits read so far.
*/
public long nrBits();
/**
* Check that the rest of the block has been padded with zeroes.
*
* @param factor
* The size in bits of the block to pad. This will typically be
* 8, 16, 32, 64, 128, 256, etc.
* @return true if the block was zero padded, or false if the the padding
* contained any one bits.
* @throws IOException
*/
public boolean pad(int factor) throws IOException;
/**
* Read some bits.
*
* @param width
* The number of bits to read. (0..32)
* @throws IOException
* @return the bits
*/
public int read(int width) throws IOException;
}