use proc_macro2::Span;
use quote::ToTokens;
use syn::Ident;
pub fn vec_name(name: impl ToTokens) -> Ident {
Ident::new(&format!("{}Vec", name.to_token_stream()), Span::call_site())
}
pub fn slice_name(name: impl ToTokens) -> Ident {
Ident::new(&format!("{}Slice", name.to_token_stream()), Span::call_site())
}
pub fn slice_mut_name(name: impl ToTokens) -> Ident {
Ident::new(&format!("{}SliceMut", name.to_token_stream()), Span::call_site())
}
pub fn ref_name(name: impl ToTokens) -> Ident {
Ident::new(&format!("{}Ref", name.to_token_stream()), Span::call_site())
}
pub fn ref_mut_name(name: impl ToTokens) -> Ident {
Ident::new(&format!("{}RefMut", name.to_token_stream()), Span::call_site())
}
pub fn iter_name(name: impl ToTokens) -> Ident {
Ident::new(&format!("{}Iter", name.to_token_stream()), Span::call_site())
}
pub fn iter_mut_name(name: impl ToTokens) -> Ident {
Ident::new(&format!("{}IterMut", name.to_token_stream()), Span::call_site())
}
pub fn ptr_name(name: impl ToTokens) -> Ident {
Ident::new(&format!("{}Ptr", name.to_token_stream()), Span::call_site())
}
pub fn ptr_mut_name(name: impl ToTokens) -> Ident {
Ident::new(&format!("{}PtrMut", name.to_token_stream()), Span::call_site())
}