Commons Library  1.7.0
Estructuras de datos | defines | Enumeraciones | Funciones
Referencia del Archivo bitarray.h

#include <commons/bitarray.h> Más...

Ir al código fuente de este archivo.

Estructuras de datos

struct  t_bitarray
 Manipulación de un bloque de memoria a nivel de bits. Inicializar con bitarray_create_with_mode() Más...
 

defines

#define BIT_CHAR(bit)   ((bit) / CHAR_BIT)
 

Enumeraciones

enum  bit_numbering_t { LSB_FIRST , MSB_FIRST }
 Define el orden bajo el cual se guardarán los bits a la hora de llenar los bytes. Más...
 

Funciones

t_bitarraybitarray_create (char *bitarray, size_t size)
 Crea y devuelve un puntero a una estructura t_bitarray con formato LSB_FIRST. Más...
 
t_bitarraybitarray_create_with_mode (char *bitarray, size_t size, bit_numbering_t mode)
 Crea y devuelve un puntero a una estructura t_bitarray. Más...
 
bool bitarray_test_bit (t_bitarray *, off_t bit_index)
 Devuelve el valor del bit de la posicion indicada. Más...
 
void bitarray_set_bit (t_bitarray *, off_t bit_index)
 Setea el valor del bit de la posicion indicada. Más...
 
void bitarray_clean_bit (t_bitarray *, off_t bit_index)
 Limpia el valor del bit de la posicion indicada. Más...
 
size_t bitarray_get_max_bit (t_bitarray *)
 Devuelve la cantidad de bits en el bitarray. Más...
 
void bitarray_destroy (t_bitarray *)
 Destruye el bit array. Más...
 

Descripción detallada

#include <commons/bitarray.h>

Documentación de los 'defines'

◆ BIT_CHAR

#define BIT_CHAR (   bit)    ((bit) / CHAR_BIT)

Documentación de las enumeraciones

◆ bit_numbering_t

Define el orden bajo el cual se guardarán los bits a la hora de llenar los bytes.

Nota
La mayoría de las implementaciones de bitmap usan LSB_FIRST. Si no estás seguro de cuál usar, probablemente quieras usar esta.
Valores de enumeraciones
LSB_FIRST 

Completa los bits en un byte priorizando el bit menos significativo: 00000001 00000000.

MSB_FIRST 

Completa los bits en un byte priorizando el bit más significativo: 10000000 00000000.

Documentación de las funciones

◆ bitarray_create()

t_bitarray* bitarray_create ( char *  bitarray,
size_t  size 
)

Crea y devuelve un puntero a una estructura t_bitarray con formato LSB_FIRST.

Atención
Esta función se encuentra en revisión y probablemente cambie en próximas versiones. Usar bitarray_create_with_mode().
Parámetros
bitarrayEl bloque de memoria que contiene los bits a leer/escribir
sizeLa cantidad de bits del bitarray, expresada en bytes (1 byte = 8 bits)
void* puntero_a_bits = //un byte de memoria, como por ejemplo malloc(1)
bitarray_create(puntero_a_bits, 1)
t_bitarray * bitarray_create(char *bitarray, size_t size)
Crea y devuelve un puntero a una estructura t_bitarray con formato LSB_FIRST.

◆ bitarray_create_with_mode()

t_bitarray* bitarray_create_with_mode ( char *  bitarray,
size_t  size,
bit_numbering_t  mode 
)

Crea y devuelve un puntero a una estructura t_bitarray.

Parámetros
bitarrayEl bloque de memoria que contiene los bits a leer/escribir
sizeLa cantidad de bits del bitarray, expresada en bytes (1 byte = 8 bits)
modeLSB_FIRST o MSB_FIRST
Ver también
bit_numbering_t
void* puntero_a_bits = //un byte de memoria, como por ejemplo malloc(1)
t_bitarray * bitarray_create_with_mode(char *bitarray, size_t size, bit_numbering_t mode)
Crea y devuelve un puntero a una estructura t_bitarray.
@ LSB_FIRST
Completa los bits en un byte priorizando el bit menos significativo: 00000001 00000000.
Definition: bitarray.h:40

◆ bitarray_test_bit()

bool bitarray_test_bit ( t_bitarray ,
off_t  bit_index 
)

Devuelve el valor del bit de la posicion indicada.

◆ bitarray_set_bit()

void bitarray_set_bit ( t_bitarray ,
off_t  bit_index 
)

Setea el valor del bit de la posicion indicada.

◆ bitarray_clean_bit()

void bitarray_clean_bit ( t_bitarray ,
off_t  bit_index 
)

Limpia el valor del bit de la posicion indicada.

◆ bitarray_get_max_bit()

size_t bitarray_get_max_bit ( t_bitarray )

Devuelve la cantidad de bits en el bitarray.

◆ bitarray_destroy()

void bitarray_destroy ( t_bitarray )

Destruye el bit array.