1#![no_std]
2
3extern crate alloc;
4
5#[cfg(feature = "numbat-codec-derive")]
6pub use numbat_codec_derive;
7
8pub use alloc::vec::Vec;
10
11mod codec_err;
14mod default_traits;
15mod impl_for_types;
16mod nested_de;
17mod nested_de_input;
18mod nested_de_input_owned;
19mod nested_de_input_slice;
20mod nested_ser;
21mod nested_ser_output;
22mod num_conv;
23pub mod test_util;
24mod top_de;
25mod top_de_input;
26mod top_ser;
27mod top_ser_output;
28mod transmute;
29mod try_static_cast;
30
31pub use crate::{
32 nested_de_input::NestedDecodeInput,
33 nested_ser_output::NestedEncodeOutput,
34 num_conv::{bytes_to_number, top_encode_number_to_output, using_encoded_number},
35 try_static_cast::{
36 try_cast_execute_or_else, try_cast_ref, try_execute_then_cast, TryStaticCast,
37 },
38};
39pub use codec_err::{DecodeError, EncodeError};
40pub use default_traits::{DecodeDefault, EncodeDefault};
41pub use nested_de::NestedDecode;
42pub use nested_de_input_owned::OwnedBytesNestedDecodeInput;
43pub use nested_de_input_slice::{dep_decode_from_byte_slice, dep_decode_from_byte_slice_or_exit};
44pub use nested_ser::{dep_encode_to_vec, NestedEncode, NestedEncodeNoErr};
45pub use top_de::{top_decode_from_nested, top_decode_from_nested_or_exit, TopDecode};
46pub use top_de_input::TopDecodeInput;
47pub use top_ser::{
48 top_encode_from_nested, top_encode_from_nested_or_exit, top_encode_no_err,
49 top_encode_to_vec_u8, TopEncode,
50};
51pub use top_ser_output::TopEncodeOutput;
52pub use transmute::{boxed_slice_into_vec, vec_into_boxed_slice};
53
54#[doc(hidden)]
58#[allow(clippy::upper_case_acronyms)]
59pub enum TypeInfo {
60 Unknown,
62 U8,
63 I8,
64 U16,
65 I16,
66 U32,
67 I32,
68 USIZE,
69 ISIZE,
70 U64,
71 I64,
72 Bool,
73 Unit,
74}