#[non_exhaustive]pub enum AnyId {
Show 22 variants
Module(Id<ModuleNode>, NodeId),
Type(Id<TypeNode>, NodeId),
Member(Id<MemberNode>, NodeId),
Case(Id<CaseNode>, NodeId),
Enumerator(Id<EnumeratorNode>, NodeId),
BitValue(Id<BitValueNode>, NodeId),
Bitfield(Id<BitfieldNode>, NodeId),
Const(Id<ConstNode>, NodeId),
ConstExpr(Id<ConstExprNode>, NodeId),
Interface(Id<InterfaceNode>, NodeId),
Operation(Id<OperationNode>, NodeId),
Param(Id<ParamNode>, NodeId),
Attribute(Id<AttributeNode>, NodeId),
Exception(Id<ExceptionNode>, NodeId),
AnnotationDef(Id<AnnotationDefNode>, NodeId),
AnnotationMember(Id<AnnotationMemberNode>, NodeId),
Domain(Id<DomainNode>, NodeId),
Topic(Id<TopicNode>, NodeId),
QosProfile(Id<QosProfileNode>, NodeId),
Participant(Id<ParticipantNode>, NodeId),
Endpoint(Id<EndpointNode>, NodeId),
Library(Id<LibraryNode>, NodeId),
}Expand description
A handle to any node, carrying its kind and its stable identity.
Used where a container holds mixed kinds — a module’s children, a member’s parent — without erasing which kind each entry is.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Module(Id<ModuleNode>, NodeId)
A module.
Type(Id<TypeNode>, NodeId)
A type.
Member(Id<MemberNode>, NodeId)
An aggregate member.
Case(Id<CaseNode>, NodeId)
A union case.
Enumerator(Id<EnumeratorNode>, NodeId)
An enumerator.
BitValue(Id<BitValueNode>, NodeId)
A bitmask bit.
Bitfield(Id<BitfieldNode>, NodeId)
A bitset field.
Const(Id<ConstNode>, NodeId)
A constant.
ConstExpr(Id<ConstExprNode>, NodeId)
An expression node.
Interface(Id<InterfaceNode>, NodeId)
An interface.
Operation(Id<OperationNode>, NodeId)
An operation.
Param(Id<ParamNode>, NodeId)
An operation parameter.
Attribute(Id<AttributeNode>, NodeId)
An interface attribute.
Exception(Id<ExceptionNode>, NodeId)
An exception.
AnnotationDef(Id<AnnotationDefNode>, NodeId)
An annotation declaration.
AnnotationMember(Id<AnnotationMemberNode>, NodeId)
An annotation member.
Domain(Id<DomainNode>, NodeId)
A domain.
Topic(Id<TopicNode>, NodeId)
A topic.
QosProfile(Id<QosProfileNode>, NodeId)
A QoS profile.
Participant(Id<ParticipantNode>, NodeId)
A participant.
Endpoint(Id<EndpointNode>, NodeId)
An endpoint.
Library(Id<LibraryNode>, NodeId)
A deployment library.
Implementations§
Source§impl AnyId
impl AnyId
Sourcepub const fn as_interface(self) -> Option<Id<InterfaceNode>>
pub const fn as_interface(self) -> Option<Id<InterfaceNode>>
The interface handle, if this names an interface.
Sourcepub const fn as_module(self) -> Option<Id<ModuleNode>>
pub const fn as_module(self) -> Option<Id<ModuleNode>>
The module handle, if this names a module.
Sourcepub const fn as_member(self) -> Option<Id<MemberNode>>
pub const fn as_member(self) -> Option<Id<MemberNode>>
The member handle, if this names a member.
Trait Implementations§
impl Copy for AnyId
impl Eq for AnyId
impl StructuralPartialEq for AnyId
Auto Trait Implementations§
impl Freeze for AnyId
impl RefUnwindSafe for AnyId
impl Send for AnyId
impl Sync for AnyId
impl Unpin for AnyId
impl UnsafeUnpin for AnyId
impl UnwindSafe for AnyId
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