use unconst::unconst;
use crate::constants::*;
use crate::repr::Repr;
#[unconst]
pub const ALNUM: Repr<char> = DIGIT | UPPER | LOWER;
#[unconst]
pub const ALPHA: Repr<char> = UPPER | LOWER;
#[unconst]
pub const ASCII: Repr<char> = Repr::from('\x00'..'\x7F');
#[unconst]
pub const BLANK: Repr<char> = SP | HT;
#[unconst]
pub const CNTRL: Repr<char> = Repr::from('\x00'..'\x1F') | '\x7F';
#[unconst]
pub const DIGIT: Repr<char> = Repr::from('0'..'9');
#[unconst]
pub const GRAPH: Repr<char> = Repr::from('!'..'~');
#[unconst]
pub const LOWER: Repr<char> = Repr::from('a'..'z');
#[unconst]
pub const PRINT: Repr<char> = Repr::from(' '..'~');
#[unconst]
pub const PUNCT: Repr<char> = Repr::from('!'..'/') | (':'..'@') | ('['..'`') | ('{'..'~');
#[unconst]
pub const SPACE: Repr<char> = HT | LF | VT | FF | CR | SP;
#[unconst]
pub const UPPER: Repr<char> = Repr::from('A'..'Z');
#[unconst]
pub const WORD: Repr<char> = ALNUM | SP;
#[unconst]
pub const XDIGIT: Repr<char> = DIGIT | ('A'..'F') | ('a'..'f');