pub struct CppTemplateLevel {
pub name: String,
pub head: Option<CppTemplateHead>,
pub arguments: Option<Vec<CppTemplateTerm>>,
}Expand description
One level of template ownership: an enclosing class, or the declaration
itself (always the last level; its name is empty for a callable).
Fields§
§name: StringThe class name as written at this level; empty for a callable.
head: Option<CppTemplateHead>The head that introduces this level’s parameters. None for a
non-template level and for an explicit specialization, whose
template <> introduces nothing.
arguments: Option<Vec<CppTemplateTerm>>The written template arguments that select this level’s class: the
specialization arguments of an in-class declaration’s class, or the
qualifier’s arguments of an out-of-line one, or a function template
explicit specialization’s own arguments. None means the primary
template’s injected arguments when head is present, and a
non-template class otherwise.
Trait Implementations§
Source§impl Clone for CppTemplateLevel
impl Clone for CppTemplateLevel
Source§impl Debug for CppTemplateLevel
impl Debug for CppTemplateLevel
impl Eq for CppTemplateLevel
Source§impl PartialEq for CppTemplateLevel
impl PartialEq for CppTemplateLevel
impl StructuralPartialEq for CppTemplateLevel
Auto Trait Implementations§
impl Freeze for CppTemplateLevel
impl RefUnwindSafe for CppTemplateLevel
impl Send for CppTemplateLevel
impl Sync for CppTemplateLevel
impl Unpin for CppTemplateLevel
impl UnsafeUnpin for CppTemplateLevel
impl UnwindSafe for CppTemplateLevel
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§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more