BitArray

BitArray() :BitArray : public ArrayAccess, public Countable, public IteratorAggregate, public JsonSerializable

Public Functions

chdemko\BitArray\BitArray::__clone()

Clone a BitArray

Since

1.0.0

return:

void

chdemko\BitArray\BitArray::__toString()

Convert the object to a string

Since

1.0.0

return:

string String representation of this object

chdemko\BitArray\BitArray::__get( $property)

Magic get method

Since

1.0.0

param $property:

The property

throws RuntimeException:

If the property does not exist

return:

mixed The value associated to the property

chdemko\BitArray\BitArray::offsetExists( $offset)

Test the existence of an index

Since

1.0.0

param $offset:

The offset

return:

boolean The truth value

chdemko\BitArray\BitArray::offsetGet( $offset)

Get the truth value for an index

Since

1.0.0

param $offset:

The offset

throws OutOfRangeException:

Argument index must be an positive integer lesser than the size

return:

boolean The truth value

chdemko\BitArray\BitArray::offsetSet( $offset,  $value)

Set the truth value for an index

Since

1.0.0

param $offset:

The offset

param $value:

The truth value

throws OutOfRangeException:

Argument index must be an positive integer lesser than the size

return:

void

chdemko\BitArray\BitArray::offsetUnset( $offset)

Unset the existence of an index

Since

1.0.0

param $offset:

The index

throws RuntimeException:

Values cannot be unset

return:

void

chdemko\BitArray\BitArray::count()

Return the number of true bits

Since

1.0.0

return:

integer The number of true bits

chdemko\BitArray\BitArray::toArray()

Transform the object to an array

Since

1.1.0

return:

array Array of values

chdemko\BitArray\BitArray::jsonSerialize()

Serialize the object

Since

1.0.0

return:

array Array of values

chdemko\BitArray\BitArray::getIterator()

Get an iterator

Since

1.0.0

return:

Iterator Iterator

chdemko\BitArray\BitArray::size()

Return the size

Since

1.0.0

return:

integer The size

chdemko\BitArray\BitArray::directCopy(BitArray $bits,  $index = 0,  $offset = 0,  $size = 0)

Copy bits directly from a BitArray

Since

1.1.0

param $bits:

A BitArray to copy

param $index:

Starting index for destination

param $offset:

Starting index for copying

param $size:

Copy size

throws OutOfRangeException:

Argument index must be an positive integer lesser than the size

return:

BitArray This object for chaining

chdemko\BitArray\BitArray::copy(BitArray $bits,  $index = 0,  $offset = 0,  $size = null)

Copy bits from a BitArray

  • if index is non-negative, the index parameter is used as it is, keeping its real value between 0 and size-1;

  • if index is negative, the index parameter starts from the end, keeping its real value between 0 and size-1.

  • if offset is non-negative, the offset parameter is used as it is, keeping its positive value between 0 and size-1;

  • if offset is negative, the offset parameter starts from the end, keeping its real value between 0 and size-1.

  • if size is given and is positive, then the copy will copy size elements.

  • if the bits argument is shorter than the size, then only the available elements will be copied.

  • if size is given and is negative, then the copy starts from the end.

  • if size is omitted, then the copy will have everything from offset up until the end of the bits argument.

Since

1.1.0

param $bits:

A BitArray to copy

param $index:

Starting index for destination.

param $offset:

Starting index for copying.

param $size:

Copy size.

return:

BitArray This object for chaining

chdemko\BitArray\BitArray::applyComplement()

Complement the bit array

Since

1.0.0

return:

BitArray This object for chaining

chdemko\BitArray\BitArray::applyOr(BitArray $bits)

Or with an another bit array

Since

1.0.0

param $bits:

A bit array

throws InvalidArgumentException:

Argument must be of equal size

return:

BitArray This object for chaining

chdemko\BitArray\BitArray::applyAnd(BitArray $bits)

And with an another bit array

Since

1.0.0

param $bits:

A bit array

throws InvalidArgumentException:

Argument must be of equal size

return:

BitArray This object for chaining

chdemko\BitArray\BitArray::applyXor(BitArray $bits)

Xor with an another bit array

Since

1.0.0

param $bits:

A bit array

throws InvalidArgumentException:

Argument must be of equal size

return:

BitArray This object for chaining

chdemko\BitArray\BitArray::shift( $size = 1,  $value = false)

Shift a bit array.

Negative value means the shifting is done right to left while positive value means the shifting is done left to right.

Since

1.2.0

param $size:

Size to shift.

param $value:

Value to shift

return:

BitArray $this for chaining

Public Static Functions

static chdemko\BitArray\BitArray::fromInteger( $size,  $default = false)

Create a new BitArray from an integer

Since

1.0.0

param $size:

Size of the BitArray

param $default:

The default value for bits

return:

BitArray A new BitArray

static chdemko\BitArray\BitArray::fromDecimal( $size,  $values = 0)

Create a new BitArray from a sequence of bits.

Since

1.2.0

param $size:

Size of the BitArray

param $values:

The values for the bits

return:

BitArray A new BitArray

static chdemko\BitArray\BitArray::fromTraversable( $traversable)

Create a new BitArray from a traversable

Since

1.0.0

param $traversable:

A traversable and countable

return:

BitArray A new BitArray

static chdemko\BitArray\BitArray::fromString( $string)

Create a new BitArray from a bit string

Since

1.0.0

param $string:

A bit string

return:

BitArray A new BitArray

static chdemko\BitArray\BitArray::fromJson( $json)

Create a new BitArray from json

Since

1.0.0

param $json:

A json encoded value

return:

BitArray A new BitArray

static chdemko\BitArray\BitArray::fromSlice(BitArray $bits,  $offset = 0,  $size = null)

Create a new BitArray using a slice

  • if offset is non-negative, the slice will start at that offset in the bits argument.

  • if offset is negative, the slice will start from the end of the bits argument.

  • if size is given and is positive, then the slice will have up to that many elements in it.

  • if the bits argument is shorter than the size, then only the available elements will be present.

  • if size is given and is negative, then the slice will stop that many elements from the end of the bits argument.

  • if size is omitted, then the slice will have everything from offset up until the end of the bits argument.

Since

1.1.0

param $bits:

A BitArray to get the slice

param $offset:

The offset

param $size:

The size

return:

BitArray A new BitArray

static chdemko\BitArray\BitArray::fromConcat(BitArray $bits1, BitArray $bits2)

Create a new BitArray using the concat operation

Since

1.1.0

param $bits1:

A BitArray

param $bits2:

A BitArray

return:

BitArray A new BitArray