#![no_std]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![doc(
html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg",
html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg"
)]
#![doc = include_str!("../README.md")]
#![warn(
clippy::integer_arithmetic,
clippy::panic,
clippy::panic_in_result_fn,
clippy::unwrap_used,
missing_docs,
rust_2018_idioms,
unsafe_code,
unused_lifetimes,
unused_qualifications
)]
#[cfg(feature = "alloc")]
#[macro_use]
extern crate alloc;
#[cfg(feature = "std")]
extern crate std;
mod alphabet;
mod decoder;
mod encoder;
mod encoding;
mod errors;
mod line_ending;
#[cfg(test)]
mod test_vectors;
pub use crate::{
alphabet::{
bcrypt::Base64Bcrypt,
crypt::Base64Crypt,
shacrypt::Base64ShaCrypt,
standard::{Base64, Base64Unpadded},
url::{Base64Url, Base64UrlUnpadded},
},
decoder::Decoder,
encoder::Encoder,
encoding::Encoding,
errors::{Error, InvalidEncodingError, InvalidLengthError},
line_ending::LineEnding,
};
const MIN_LINE_WIDTH: usize = 4;