Add remap vec to parameters.rs to allow for reordering of arguments

This commit is contained in:
PThorpe92
2025-05-07 15:48:43 -04:00
parent e5723b2ca1
commit 1e07e6d1b2

View File

@@ -27,6 +27,7 @@ impl Parameter {
pub struct Parameters {
index: NonZero<usize>,
pub list: Vec<Parameter>,
remap: Vec<NonZero<usize>>,
}
impl Default for Parameters {
@@ -40,6 +41,7 @@ impl Parameters {
Self {
index: 1.try_into().unwrap(),
list: vec![],
remap: vec![],
}
}
@@ -49,6 +51,14 @@ impl Parameters {
params.len()
}
pub fn set_remap(&mut self, remap: Vec<NonZero<usize>>) {
self.remap = remap;
}
pub fn get_remap(&self, idx: NonZero<usize>) -> NonZero<usize> {
*self.remap.get(idx.get() - 1).unwrap_or(&idx)
}
pub fn name(&self, index: NonZero<usize>) -> Option<String> {
self.list.iter().find_map(|p| match p {
Parameter::Anonymous(i) if *i == index => Some("?".to_string()),