Struct code_generator::Name
source · pub struct Name { /* private fields */ }
Implementations§
source§impl Name
impl Name
sourcepub fn new(snake_case_name: &str) -> Name
pub fn new(snake_case_name: &str) -> Name
Creates a Name generator
This struct makes it easy to change the name format based on the context of the generator.
let cc = NameType::FixedCase(CaseType::CamelCase);
let name = Name::new("test_name1").with_type(cc);
let info = CodeGenerationInfo::from_style(CodeStyle::KnR);
assert_eq!("testName1", format!("{}", name.display(info)));
let ssc = NameType::FixedCase(CaseType::ScreamingSnakeCase);
let name = Name::new("test_name2").with_type(ssc);
let info = CodeGenerationInfo::from_style(CodeStyle::KnR);
assert_eq!("TEST_NAME2", format!("{}", name.display(info)));
pub fn new_with_type(snake_case_name: &str, name_type: NameType) -> Name
pub fn with_type(self, name_type: NameType) -> Name
sourcepub fn as_include_guard(&self) -> Name
pub fn as_include_guard(&self) -> Name
Creates a Name generator
This struct makes it easy to change the name format based on the context of the generator.
let name = Name::new("test_name1").as_include_guard();
let info = CodeGenerationInfo::from_style(CodeStyle::KnR)
.with_case_types(
CaseTypes::new().with_const_define(CaseType::ScreamingSnakeCase)
);
assert_eq!("TEST_NAME1_H", format!("{}", name.display(info)));
sourcepub fn as_c_include(&self) -> Name
pub fn as_c_include(&self) -> Name
Creates a Name generator
This struct makes it easy to change the name format based on the context of the generator.
let name = Name::new("test_name1").as_c_include();
let info = CodeGenerationInfo::from_style(CodeStyle::KnR)
.with_case_types(
CaseTypes::new().with_file_name(CaseType::SnakeCase)
);
assert_eq!("test_name1.h", format!("{}", name.display(info)));
sourcepub fn as_c_source(&self) -> Name
pub fn as_c_source(&self) -> Name
Creates a Name generator
This struct makes it easy to change the name format based on the context of the generator.
let name = Name::new("test_name1").as_c_source();
let info = CodeGenerationInfo::from_style(CodeStyle::KnR)
.with_case_types(
CaseTypes::new().with_file_name(CaseType::SnakeCase)
);
assert_eq!("test_name1.c", format!("{}", name.display(info)));
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Name
impl RefUnwindSafe for Name
impl Send for Name
impl Sync for Name
impl Unpin for Name
impl UnwindSafe for Name
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)