pub struct OwnedSegment {
pub tag: String,
pub span: Span,
pub tag_span: Span,
pub elements: Vec<OwnedElement>,
}Expand description
Owned segment used by reader-based parsing APIs.
Fields§
§tag: StringSegment tag, usually three uppercase letters.
span: SpanSpan covering the whole segment payload.
tag_span: SpanSpan covering only the segment tag.
elements: Vec<OwnedElement>Owned segment elements in positional order.
Implementations§
Source§impl OwnedSegment
impl OwnedSegment
Sourcepub fn element_str(&self, n: usize) -> Option<&str>
pub fn element_str(&self, n: usize) -> Option<&str>
Get the first component of element n, or None if absent.
This is the zero-allocation equivalent of as_borrowed().element_str(n).
Used internally by crate::find_segment_owned and the derived
crate::EdifactDeserialize::edifact_deserialize_owned implementations.
Sourcepub fn component_str(&self, elem: usize, comp: usize) -> Option<&str>
pub fn component_str(&self, elem: usize, comp: usize) -> Option<&str>
Get component comp of element elem, or None if absent.
Zero-allocation equivalent of as_borrowed().get_element(elem)?.get_component(comp).
Sourcepub fn as_borrowed(&self) -> Segment<'_>
pub fn as_borrowed(&self) -> Segment<'_>
View this owned segment as a borrowed Segment.
Performance note: allocates a Vec<Element<'_>> on every call.
When only individual field access is needed, prefer
OwnedSegment::borrow → BorrowedSegment which is O(1).
as_borrowed remains necessary when the callee requires &[Segment<'_>].
Sourcepub fn borrow(&self) -> BorrowedSegment<'_>
pub fn borrow(&self) -> BorrowedSegment<'_>
Return a zero-allocation view of this segment.
Unlike as_borrowed, this is O(1) and
performs no heap allocation. The view cannot be passed to APIs that
require &[Segment<'_>]; use as_borrowed
for those call sites.
Sourcepub fn value_at(&self, path: ElementPath) -> Option<&str>
pub fn value_at(&self, path: ElementPath) -> Option<&str>
Read the value at an already-resolved ElementPath.
Sourcepub fn span_at(&self, path: ElementPath) -> Option<Span>
pub fn span_at(&self, path: ElementPath) -> Option<Span>
Byte span of the value at an already-resolved ElementPath.
Sourcepub fn value_by_code<L: SegmentLayout + ?Sized>(
&self,
layout: &L,
data_element: &str,
) -> Result<Option<&str>, EdifactError>
pub fn value_by_code<L: SegmentLayout + ?Sized>( &self, layout: &L, data_element: &str, ) -> Result<Option<&str>, EdifactError>
Read a value by its UN/EDIFACT data element identifier.
Owned-storage counterpart of Segment::value_by_code; allocates nothing.
§Errors
Sourcepub fn span_by_code<L: SegmentLayout + ?Sized>(
&self,
layout: &L,
data_element: &str,
) -> Result<Option<Span>, EdifactError>
pub fn span_by_code<L: SegmentLayout + ?Sized>( &self, layout: &L, data_element: &str, ) -> Result<Option<Span>, EdifactError>
Byte span of a value addressed by its UN/EDIFACT data element identifier.
§Errors
Sourcepub fn element_by_code<L: SegmentLayout + ?Sized>(
&self,
layout: &L,
data_element: &str,
) -> Result<Option<&OwnedElement>, EdifactError>
pub fn element_by_code<L: SegmentLayout + ?Sized>( &self, layout: &L, data_element: &str, ) -> Result<Option<&OwnedElement>, EdifactError>
Return the whole OwnedElement addressed by a data element identifier.
When the identifier names a component inside a composite, the enclosing composite element is returned.
§Errors
Trait Implementations§
Source§impl Clone for OwnedSegment
impl Clone for OwnedSegment
Source§fn clone(&self) -> OwnedSegment
fn clone(&self) -> OwnedSegment
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OwnedSegment
impl Debug for OwnedSegment
impl Eq for OwnedSegment
Source§impl<'a> From<&'a OwnedSegment> for BorrowedSegment<'a>
impl<'a> From<&'a OwnedSegment> for BorrowedSegment<'a>
Source§fn from(seg: &'a OwnedSegment) -> Self
fn from(seg: &'a OwnedSegment) -> Self
Source§impl<'a> From<Segment<'a>> for OwnedSegment
impl<'a> From<Segment<'a>> for OwnedSegment
Source§impl PartialEq for OwnedSegment
impl PartialEq for OwnedSegment
impl StructuralPartialEq for OwnedSegment
Auto Trait Implementations§
impl Freeze for OwnedSegment
impl RefUnwindSafe for OwnedSegment
impl Send for OwnedSegment
impl Sync for OwnedSegment
impl Unpin for OwnedSegment
impl UnsafeUnpin for OwnedSegment
impl UnwindSafe for OwnedSegment
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more