pub mod char;
pub mod string;
use crate::core::types::{
ArrayElement,
collection::List,
tuple::tuple3::Tuple3,
};
pub trait Alphanumeric: ArrayElement {
fn from_str(str: &str) -> Self;
#[must_use]
fn _append(&self, other: Self) -> Self;
#[must_use]
fn _multiply(&self, n: usize) -> Self;
#[must_use]
fn _capitalize(&self) -> Self;
#[must_use]
fn _lower(&self) -> Self;
#[must_use]
fn _upper(&self) -> Self;
#[must_use]
fn _swapcase(&self) -> Self;
#[must_use]
fn _center(&self, width: usize, fill_char: char) -> Self;
#[must_use]
fn _join(&self, sep: Self) -> Self;
fn _partition(&self, sep: Self) -> Tuple3<Self, Self, Self>;
fn _rpartition(&self, sep: Self) -> Tuple3<Self, Self, Self>;
fn _split(&self, sep: Self, max_split: Option<usize>) -> List<Self>;
fn _rsplit(&self, sep: Self, max_split: Option<usize>) -> List<Self>;
fn _splitlines(&self, keep_ends: bool) -> List<Self>;
#[must_use]
fn _replace(&self, old: Self, new: Self, count: Option<usize>) -> Self;
#[must_use]
fn _strip(&self, chars: Self) -> Self;
#[must_use]
fn _ljust(&self, width: usize, fill_char: char) -> Self;
#[must_use]
fn _lstrip(&self, chars: Self) -> Self;
#[must_use]
fn _rjust(&self, width: usize, fill_char: char) -> Self;
#[must_use]
fn _rstrip(&self, chars: Self) -> Self;
fn _equal(&self, other: Self) -> bool;
fn _not_equal(&self, other: Self) -> bool;
fn _greater_equal(&self, other: Self) -> bool;
fn _less_equal(&self, other: Self) -> bool;
fn _greater(&self, other: Self) -> bool;
fn _less(&self, other: Self) -> bool;
fn _count(&self, sub: &str) -> usize;
}