From 307839648780f8fa5d43b1ffe7a310268048e1a2 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 4 Aug 2021 15:41:23 +0200 Subject: [PATCH] Conveniences for TextReader matching those existing for PackedReader --- .../rust/preserves/src/value/reader.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/implementations/rust/preserves/src/value/reader.rs b/implementations/rust/preserves/src/value/reader.rs index ac7cd51..a871e27 100644 --- a/implementations/rust/preserves/src/value/reader.rs +++ b/implementations/rust/preserves/src/value/reader.rs @@ -4,14 +4,16 @@ use std::borrow::Cow; use std::io; use std::marker::PhantomData; +use super::CompoundClass; use super::DomainDecode; +use super::DomainParse; use super::Double; use super::Embeddable; use super::Float; use super::IOValue; use super::IOValueDomainCodec; use super::NestedValue; -use super::CompoundClass; +use super::ViaCodec; use super::boundary as B; use super::signed_integer::SignedInteger; @@ -243,6 +245,19 @@ pub trait BinarySource<'de>: Sized { { self.packed(IOValueDomainCodec) } + + fn text, Dec: DomainParse>( + &mut self, + decode_embedded: Dec, + ) -> super::TextReader<'de, '_, D, Dec, Self> { + super::TextReader::new(self, decode_embedded) + } + + fn text_iovalues(&mut self) -> + super::TextReader<'de, '_, IOValue, ViaCodec, Self> + { + self.text::<_, IOValue, _>(ViaCodec::new(IOValueDomainCodec)) + } } pub struct IOBinarySource<'a, R: io::Read + io::Seek> {