Struct hl7_parser::Repeat
source · pub struct Repeat {
pub range: Range<usize>,
pub components: Vec<Component>,
}
Expand description
Represents an HL7v2 repeat of a field
Fields§
§range: Range<usize>
The range (in char indices) in the original message where the repeat is located
components: Vec<Component>
The components found within the component
Implementations§
source§impl Repeat
impl Repeat
sourcepub fn component(&self, component: NonZeroUsize) -> Option<&Component>
pub fn component(&self, component: NonZeroUsize) -> Option<&Component>
sourcepub fn component_mut(
&mut self,
component: NonZeroUsize
) -> Option<&mut Component>
pub fn component_mut( &mut self, component: NonZeroUsize ) -> Option<&mut Component>
Mutably access a component via the 1-based HL7 component index
Returns
A mutable reference to the component
sourcepub fn source<'s>(&self, message_source: &'s str) -> &'s str
pub fn source<'s>(&self, message_source: &'s str) -> &'s str
Given the source for the original message, extract the (raw) string for this repeat
Arguments
message_source
- A string slice representing the original message source that was parsed
Examples
let message = include_str!("../test_assets/sample_adt_a04.hl7");
let message = ParsedMessage::parse(&message, true).expect("can parse message");
let segment = message.segment("AL1").expect("can get AL1 segment");
let field = segment.field(NonZeroUsize::new(5).unwrap()).expect("can get field 5");
let repeat = field.repeat(NonZeroUsize::new(2).unwrap()).expect("can get repeat 2");
assert_eq!(repeat.source(message.source), "RASH");
sourcepub fn component_at_cursor(
&self,
cursor: usize
) -> Option<(NonZeroUsize, &Component)>
pub fn component_at_cursor( &self, cursor: usize ) -> Option<(NonZeroUsize, &Component)>
Trait Implementations§
source§impl<'de> Deserialize<'de> for Repeat
impl<'de> Deserialize<'de> for Repeat
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq for Repeat
impl PartialEq for Repeat
impl Eq for Repeat
impl StructuralEq for Repeat
impl StructuralPartialEq for Repeat
Auto Trait Implementations§
impl RefUnwindSafe for Repeat
impl Send for Repeat
impl Sync for Repeat
impl Unpin for Repeat
impl UnwindSafe for Repeat
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
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.