12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /*
- The Bit Array can be used in several ways:
- - By default you don't need to instantiate a Bit Array:
- package test
- import "core:fmt"
- import "core:container/bit_array"
- main :: proc() {
- using bit_array
- bits: Bit_Array
- // returns `true`
- fmt.println(set(&bits, 42))
- // returns `false`, `false`, because this Bit Array wasn't created to allow negative indices.
- was_set, was_retrieved := get(&bits, -1)
- fmt.println(was_set, was_retrieved)
- destroy(&bits)
- }
- - A Bit Array can optionally allow for negative indices, if the minimum value was given during creation:
- package test
- import "core:fmt"
- import "core:container/bit_array"
- main :: proc() {
- Foo :: enum int {
- Negative_Test = -42,
- Bar = 420,
- Leaves = 69105,
- }
- using bit_array
- bits := create(int(max(Foo)), int(min(Foo)))
- defer destroy(bits)
- fmt.printf("Set(Bar): %v\n", set(bits, Foo.Bar))
- fmt.printf("Get(Bar): %v, %v\n", get(bits, Foo.Bar))
- fmt.printf("Set(Negative_Test): %v\n", set(bits, Foo.Negative_Test))
- fmt.printf("Get(Leaves): %v, %v\n", get(bits, Foo.Leaves))
- fmt.printf("Get(Negative_Test): %v, %v\n", get(bits, Foo.Negative_Test))
- fmt.printf("Freed.\n")
- }
- */
- package container_dynamic_bit_array
|