@@ -786,6 +786,24 @@ where
786786/// If you want to deserialize faster at the cost of more memory, consider using
787787/// [`from_reader_with_buffer`](from_reader_with_buffer) with a larger buffer,
788788/// 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+ /// ```
789807#[ inline]
790808pub fn from_reader < T : de:: DeserializeOwned , R : Read > ( reader : R ) -> Result < T , Error < R :: Error > >
791809where
@@ -798,6 +816,25 @@ where
798816/// Deserializes as CBOR from a type with [`impl
799817/// ciborium_io::Read`](ciborium_io::Read), using a caller-specific buffer as a
800818/// 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+ /// ```
801838#[ inline]
802839pub fn from_reader_with_buffer < T : de:: DeserializeOwned , R : Read > (
803840 reader : R ,
@@ -820,6 +857,24 @@ where
820857/// will result in [`Error::RecursionLimitExceeded`] .
821858///
822859/// 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+ /// ```
823878#[ inline]
824879pub fn from_reader_with_recursion_limit < T : de:: DeserializeOwned , R : Read > (
825880 reader : R ,
0 commit comments