Struct BitField64
A 64-bit array of bits.
Namespace: Unity.Collections
Assembly: Unity.Collections.dll
Syntax
public struct BitField64Remarks
Stack allocated, so it does not require thread safety checks or disposal.
Constructors
BitField64(ulong)
Initializes and returns an instance of BitField64.
Declaration
public BitField64(ulong initialValue = 0)Parameters
| Type | Name | Description | 
|---|---|---|
| ulong | initialValue | Initial value of the bit field. Default is 0. | 
Fields
Value
The 64 bits, stored as a ulong.
Declaration
public ulong ValueField Value
| Type | Description | 
|---|---|
| ulong | The 64 bits, stored as a uint. | 
Methods
Clear()
Clears all bits to 0.
Declaration
public void Clear()CountBits()
Returns the number of bits that are 1.
Declaration
public int CountBits()Returns
| Type | Description | 
|---|---|
| int | The number of bits that are 1. | 
CountLeadingZeros()
Returns the number of leading zeroes.
Declaration
public int CountLeadingZeros()Returns
| Type | Description | 
|---|---|
| int | The number of leading zeros. | 
CountTrailingZeros()
Returns the number of trailing zeros.
Declaration
public int CountTrailingZeros()Returns
| Type | Description | 
|---|---|
| int | The number of trailing zeros. | 
GetBits(int, int)
Returns one or more contiguous bits from the bit field as the lower bits of a ulong.
Declaration
public ulong GetBits(int pos, int numBits = 1)Parameters
| Type | Name | Description | 
|---|---|---|
| int | pos | Position in the bit field of the first bit to get (must be 0-63). | 
| int | numBits | Number of bits to get (must be 1-64). | 
Returns
| Type | Description | 
|---|---|
| ulong | The requested range of bits from the bit field stored in the least-significant bits of a ulong. All other bits of the ulong will be 0. | 
Exceptions
| Type | Condition | 
|---|---|
| ArgumentException | Thrown if  | 
IsSet(int)
Returns true if the bit at a position is 1.
Declaration
public bool IsSet(int pos)Parameters
| Type | Name | Description | 
|---|---|---|
| int | pos | Position in the bit field (must be 0-63). | 
Returns
| Type | Description | 
|---|---|
| bool | True if the bit at the position is 1. | 
SetBits(int, bool)
Sets a single bit to 1 or 0.
Declaration
public void SetBits(int pos, bool value)Parameters
| Type | Name | Description | 
|---|---|---|
| int | pos | Position in this bit field to set (must be 0-63). | 
| bool | value | If true, sets the bit to 1. If false, sets the bit to 0. | 
Exceptions
| Type | Condition | 
|---|---|
| ArgumentException | Thrown if  | 
SetBits(int, bool, int)
Sets one or more contiguous bits to 1 or 0.
Declaration
public void SetBits(int pos, bool value, int numBits = 1)Parameters
| Type | Name | Description | 
|---|---|---|
| int | pos | Position in the bit field of the first bit to set (must be 0-63). | 
| bool | value | If true, sets the bits to 1. If false, sets the bits to 0. | 
| int | numBits | Number of bits to set (must be 1-64). | 
Exceptions
| Type | Condition | 
|---|---|
| ArgumentException | Thrown if  | 
TestAll(int, int)
Returns true if all of the bits in a contiguous range are 1.
Declaration
public bool TestAll(int pos, int numBits = 1)Parameters
| Type | Name | Description | 
|---|---|---|
| int | pos | Position in the bit field (must be 0-63). | 
| int | numBits | Number of bits to test (must be 1-64). | 
Returns
| Type | Description | 
|---|---|
| bool | True if all bits in the contiguous range are 1. | 
Exceptions
| Type | Condition | 
|---|---|
| ArgumentException | Thrown if  | 
TestAny(int, int)
Returns true if any of the bits in a contiguous range are 1.
Declaration
public bool TestAny(int pos, int numBits = 1)Parameters
| Type | Name | Description | 
|---|---|---|
| int | pos | Position in the bit field (must be 0-63). | 
| int | numBits | Number of bits to test (must be 1-64). | 
Returns
| Type | Description | 
|---|---|
| bool | True if at least one bit in the contiguous range is 1. | 
Exceptions
| Type | Condition | 
|---|---|
| ArgumentException | Thrown if  | 
TestNone(int, int)
Returns true if none of the bits in a contiguous range are 1.
Declaration
public bool TestNone(int pos, int numBits = 1)Parameters
| Type | Name | Description | 
|---|---|---|
| int | pos | Position in the bit field (must be 0-63). | 
| int | numBits | Number of bits to test (must be 1-64). | 
Returns
| Type | Description | 
|---|---|
| bool | True if none of the bits in the contiguous range are 1. | 
Exceptions
| Type | Condition | 
|---|---|
| ArgumentException | Thrown if  |