@@ -786,6 +786,24 @@ where
786
786
/// If you want to deserialize faster at the cost of more memory, consider using
787
787
/// [`from_reader_with_buffer`](from_reader_with_buffer) with a larger buffer,
788
788
/// for example 64KB.
789
+ ///
790
+ /// # Example
791
+ /// ```rust
792
+ /// use ciborium::from_reader;
793
+ ///
794
+ /// #[derive(Debug, serde::Deserialize, Eq, PartialEq)]
795
+ /// struct Example {
796
+ /// a: u64,
797
+ /// aa: u64,
798
+ /// b: u64,
799
+ /// }
800
+ ///
801
+ /// let cbor = hex::decode("a36161182a61621910686261611901a4").unwrap();
802
+ /// let expected = Example { a: 42, aa: 420, b: 4200 };
803
+ ///
804
+ /// let deserialized: Example = from_reader(cbor.as_slice()).unwrap();
805
+ /// assert_eq!(deserialized, expected);
806
+ /// ```
789
807
#[ inline]
790
808
pub fn from_reader < T : de:: DeserializeOwned , R : Read > ( reader : R ) -> Result < T , Error < R :: Error > >
791
809
where
@@ -798,6 +816,25 @@ where
798
816
/// Deserializes as CBOR from a type with [`impl
799
817
/// ciborium_io::Read`](ciborium_io::Read), using a caller-specific buffer as a
800
818
/// temporary scratch space.
819
+ ///
820
+ /// # Example
821
+ /// ```rust
822
+ /// use ciborium::from_reader_with_buffer;
823
+ ///
824
+ /// #[derive(Debug, serde::Deserialize, Eq, PartialEq)]
825
+ /// struct Example {
826
+ /// a: u64,
827
+ /// aa: u64,
828
+ /// b: u64,
829
+ /// }
830
+ ///
831
+ /// let cbor = hex::decode("a36161182a61621910686261611901a4").unwrap();
832
+ /// let expected = Example { a: 42, aa: 420, b: 4200 };
833
+ ///
834
+ /// let mut scratch = [0; 8192];
835
+ /// let deserialized: Example = from_reader_with_buffer(cbor.as_slice(), &mut scratch).unwrap();
836
+ /// assert_eq!(deserialized, expected);
837
+ /// ```
801
838
#[ inline]
802
839
pub fn from_reader_with_buffer < T : de:: DeserializeOwned , R : Read > (
803
840
reader : R ,
@@ -820,6 +857,24 @@ where
820
857
/// will result in [`Error::RecursionLimitExceeded`] .
821
858
///
822
859
/// Set a high recursion limit at your own risk (of stack exhaustion)!
860
+ ///
861
+ /// # Example
862
+ /// ```rust
863
+ /// use ciborium::de::from_reader_with_recursion_limit;
864
+ ///
865
+ /// #[derive(Debug, serde::Deserialize, Eq, PartialEq)]
866
+ /// struct Example {
867
+ /// a: u64,
868
+ /// aa: u64,
869
+ /// b: u64,
870
+ /// }
871
+ ///
872
+ /// let cbor = hex::decode("a36161182a61621910686261611901a4").unwrap();
873
+ /// let expected = Example { a: 42, aa: 420, b: 4200 };
874
+ ///
875
+ /// let deserialized: Example = from_reader_with_recursion_limit(cbor.as_slice(), 1024).unwrap();
876
+ /// assert_eq!(deserialized, expected);
877
+ /// ```
823
878
#[ inline]
824
879
pub fn from_reader_with_recursion_limit < T : de:: DeserializeOwned , R : Read > (
825
880
reader : R ,
0 commit comments