org.jgroups.util

## Class FixedSizeBitSet

- java.lang.Object
- - org.jgroups.util.FixedSizeBitSet

    public class FixedSizeBitSet
    extends java.lang.Object

Class copied from `BitSet`. Changes are that the FixedSizeBitSet doesn't expand, so access to it doesn't need to be synchronized, plus we only need a few methods so most methods of the old class have been removed.

Author:
  Bela Ban

### Constructor Summary

Constructors
Constructor and Description
`FixedSizeBitSet(int size)` Creates a bit set whose initial size is the range `0` through `size-1`.

### Method Summary

Methods
`int` `cardinality()` Returns the number of bits set to `true` in this bit set
`void` `clear(int index)` Sets the bit specified by the index to `false`.
`boolean` `get(int index)` Returns the value of the bit with the specified index.
`int` `nextClearBit(int fromIndex)` Returns the index of the first bit that is set to `false` that occurs on or after the specified starting index.
`int` `nextSetBit(int fromIndex)` Returns the index of the first bit that is set to `true` that occurs on or after the specified starting index.
`void` `set(int index)` Sets the bit at the specified index to `true`.
`int` `size()`
`java.lang.String` `toString()` Returns a string representation of this bit set.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### FixedSizeBitSet

    public FixedSizeBitSet(int size)

Creates a bit set whose initial size is the range `0` through `size-1`. All bits are initially `false`.

Parameters:
  `size` - the initial size of the bit set (in bits).
Throws:
  `java.lang.NegativeArraySizeException` - if the specified initial size is negative

### Method Detail

#### set

    public void set(int index)

Sets the bit at the specified index to `true`.

Parameters:
  `index` - a bit index.
Throws:
  `java.lang.IndexOutOfBoundsException` - if the specified index is negative.

#### clear

    public void clear(int index)

Sets the bit specified by the index to `false`.

Parameters:
  `index` - the index of the bit to be cleared.
Throws:
  `java.lang.IndexOutOfBoundsException` - if the specified index is negative.

#### get

    public boolean get(int index)

Returns the value of the bit with the specified index. The value is `true` if the bit with the index `index` is currently set in this bit set; otherwise, the result is `false`.

Parameters:
  `index` - the bit index.
Returns:
  the value of the bit with the specified index.
Throws:
  `java.lang.IndexOutOfBoundsException` - if the specified index is negative.

#### nextSetBit

    public int nextSetBit(int fromIndex)

Returns the index of the first bit that is set to `true` that occurs on or after the specified starting index. If no such bit exists then -1 is returned.

To iterate over the `true` bits in a `BitSet`, use the following loop:

     for (int i = bs.nextSetBit(0); i >= 0; i = bs.nextSetBit(i+1)) {
         // operate on index i here
     }

Parameters:
  `fromIndex` - the index to start checking from (inclusive).
Returns:
  the index of the next set bit.
Throws:
  `java.lang.IndexOutOfBoundsException` - if the specified index is negative.

#### nextClearBit

    public int nextClearBit(int fromIndex)

Returns the index of the first bit that is set to `false` that occurs on or after the specified starting index.

Parameters:
  `fromIndex` - the index to start checking from (inclusive).
Returns:
  the index of the next clear bit.
Throws:
  `java.lang.IndexOutOfBoundsException` - if the specified index is negative.

#### cardinality

    public int cardinality()

Returns the number of bits set to `true` in this bit set

Returns:
  the number of bits set to `true` in this bit set

#### size

    public int size()

#### toString

    public java.lang.String toString()

Returns a string representation of this bit set. For every index for which this `BitSet` contains a bit in the set state, the decimal representation of that index is included in the result. Such indices are listed in order from lowest to highest, separated by ", " (a comma and a space) and surrounded by braces, resulting in the usual mathematical notation for a set of integers.

Overrides the `toString` method of `Object`.

Example:

     BitSet drPepper = new BitSet();

Now `drPepper.toString()` returns "`{}`".

     drPepper.set(2);

Now `drPepper.toString()` returns "`{2}`".

     drPepper.set(4);
     drPepper.set(10);

Now `drPepper.toString()` returns "`{2, 4, 10}`".

Overrides:
  `toString` in class `java.lang.Object`
Returns:
  a string representation of this bit set.