File tree Expand file tree Collapse file tree 5 files changed +33
-0
lines changed Expand file tree Collapse file tree 5 files changed +33
-0
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
77
88## Unreleased
99
10+ - add ` maybe_array ` constructors
1011- Bump MSRV to 1.65.0
1112- Bump ` regex ` to 1.10
1213
Original file line number Diff line number Diff line change @@ -203,6 +203,14 @@ impl ClusterInfo {
203203 pub const fn array ( self , dim : DimElement ) -> Cluster {
204204 Cluster :: Array ( self , dim)
205205 }
206+ /// Construct single [`Cluster`] or array
207+ pub fn maybe_array ( self , dim : Option < DimElement > ) -> Cluster {
208+ if let Some ( dim) = dim {
209+ self . array ( dim)
210+ } else {
211+ self . single ( )
212+ }
213+ }
206214 /// Modify an existing [`ClusterInfo`] based on a [builder](ClusterInfoBuilder).
207215 pub fn modify_from (
208216 & mut self ,
Original file line number Diff line number Diff line change @@ -248,6 +248,14 @@ impl FieldInfo {
248248 pub const fn array ( self , dim : DimElement ) -> Field {
249249 Field :: Array ( self , dim)
250250 }
251+ /// Construct single [`Field`] or array
252+ pub fn maybe_array ( self , dim : Option < DimElement > ) -> Field {
253+ if let Some ( dim) = dim {
254+ self . array ( dim)
255+ } else {
256+ self . single ( )
257+ }
258+ }
251259 /// Modify an existing [`FieldInfo`] based on a [builder](FieldInfoBuilder).
252260 pub fn modify_from (
253261 & mut self ,
Original file line number Diff line number Diff line change @@ -313,6 +313,14 @@ impl PeripheralInfo {
313313 pub const fn array ( self , dim : DimElement ) -> Peripheral {
314314 Peripheral :: Array ( self , dim)
315315 }
316+ /// Construct single [`Peripheral`] or array
317+ pub fn maybe_array ( self , dim : Option < DimElement > ) -> Peripheral {
318+ if let Some ( dim) = dim {
319+ self . array ( dim)
320+ } else {
321+ self . single ( )
322+ }
323+ }
316324 /// Modify an existing [`Peripheral`] based on a [builder](PeripheralInfoBuilder).
317325 pub fn modify_from (
318326 & mut self ,
Original file line number Diff line number Diff line change @@ -288,6 +288,14 @@ impl RegisterInfo {
288288 pub const fn array ( self , dim : DimElement ) -> Register {
289289 Register :: Array ( self , dim)
290290 }
291+ /// Construct single [`Register`] or array
292+ pub fn maybe_array ( self , dim : Option < DimElement > ) -> Register {
293+ if let Some ( dim) = dim {
294+ self . array ( dim)
295+ } else {
296+ self . single ( )
297+ }
298+ }
291299 /// Modify an existing [`RegisterInfo`] based on a [builder](RegisterInfoBuilder).
292300 pub fn modify_from (
293301 & mut self ,
You can’t perform that action at this time.
0 commit comments