bytes_to_type

Crates.iobytes_to_type
lib.rsbytes_to_type
version0.1.1
sourcesrc
created_at2023-10-10 02:54:27.444467
updated_at2023-10-10 06:34:47.1126
descriptionA Rust library to facilitate byte conversion to specified types using macro generation.
homepage
repositoryhttps://github.com/ri-nat/bytes_to_type
max_upload_size
id998689
size16,105
Rinat Shay. (ri-nat)

documentation

https://docs.rs/bytes_to_type

README

bytes_to_type

Crates.io Documentation

A Rust library for converting slices of bytes to vectors of a specific type.

About

bytes_to_type allows you to conveniently convert slices of byte data into vectors of a specific type, handling necessary conversions and memory alignment seamlessly.

Key Features

  • Type Conversion: Easily convert slices of bytes into vectors of a specified type.
  • Memory Safety: Ensures that conversions maintain Rust’s guarantees of memory safety.

Getting Started

Installation

Add bytes_to_type to your Cargo.toml file:

[dependencies]
bytes_to_type = "0.1.1"

Example

use bytes_to_type::bytes_to_type;

// This macro will generate a function with the following signature:
// pub fn bytes_to_u32(bytes: &[u8]) -> Result<Vec<u32>, anyhow::Error>
bytes_to_type!(u32);

fn main() {
    let bytes = vec![1, 2, 3, 4, 5, 6, 7, 8];
    let result = bytes_to_u32(&bytes).expect("Failed to convert bytes to u32");

    assert_eq!(result, vec![67305985, 134678021]);    
}

License

This project is licensed under the MIT License.

Commit count: 2

cargo fmt