#![no_std]
#![forbid(unsafe_code)]
#[cfg(feature = "alloc")]
extern crate alloc;
#[macro_use]
extern crate delog;
generate_macros!();
#[cfg(feature = "derive")]
pub use flexiber_derive::{Decodable, Encodable};
#[cfg(feature = "std")]
extern crate std;
mod decoder;
mod encoder;
mod error;
mod header;
mod length;
mod simpletag;
mod slice;
mod tag;
mod tagged;
mod traits;
pub use decoder::Decoder;
pub use encoder::Encoder;
pub use error::{Error, ErrorKind, Result};
pub use length::Length;
pub use simpletag::SimpleTag;
pub use slice::Slice;
pub use tag::{Class, Tag, TagLike};
pub use tagged::{TaggedSlice, TaggedValue};
pub use traits::{Container, Decodable, Encodable, Tagged};
#[cfg(feature = "heapless")]
pub use traits::EncodableHeapless;