Skip to content

Derivable trait that adds methods to iterate over struct fields.

License

Notifications You must be signed in to change notification settings

HoloTheDrunk/field_iterator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Field iterator

Based on the abandoned struct_iterable. The rest of the README is taken from it.

This is meant as a lighter alternative to fields-iter.

How to Use

First, add the crate to your Cargo.toml:

[dependencies]
field_iterator = "0.1.1"

Next, include the library at the top of your Rust file:

use field_iterator::Iterable;

Finally, add the #[derive(Iterable)] attribute to your struct:

#[derive(Iterable)]
struct MyStruct {
    field1: u32,
    field2: String,
    // etc.
}

Now, you can iterate over the fields of an instance of your struct:

let my_instance = MyStruct {
    field1: 42,
    field2: "Hello, world!".to_string(),
};

for (field_name, field_value) in my_instance.iter() {
    println!("{}: {:?}", field_name, field_value);
}

Limitations

  • Only structs with named fields are supported.

Contributing and License

If you're interested in contributing, please feel free to submit a pull request. For major changes, please open an issue first to discuss what you would like to change.

This crate is distributed under an MIT license.

About

Derivable trait that adds methods to iterate over struct fields.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages