Skip to content

Commit 10d4ae5

Browse files
committed
field array iter
1 parent bbe77da commit 10d4ae5

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/generate/register.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -910,6 +910,7 @@ pub fn fields(
910910
let offset_calc = calculate_offset(increment, offset, true);
911911
let value = quote! { ((self.bits >> #offset_calc) & #hexmask) #cast };
912912
let dim = unsuffixed(de.dim);
913+
let name_snake_case_iter = Ident::new(&format!("{name_snake_case}_iter"), span);
913914
r_impl_items.extend(quote! {
914915
#[doc = #array_doc]
915916
#inline
@@ -918,6 +919,12 @@ pub fn fields(
918919
[(); #dim][n as usize];
919920
#reader_ty::new ( #value )
920921
}
922+
#[doc = "Iterator for array of:"]
923+
#[doc = #array_doc]
924+
#inline
925+
pub fn #name_snake_case_iter(&self) -> impl Iterator<Item = #reader_ty> + '_ {
926+
(0..#dim).map(|n| #reader_ty::new ( #value ))
927+
}
921928
});
922929

923930
for fi in svd::field::expand(f, de) {

0 commit comments

Comments
 (0)