42inline auto whitespace(
bool collapse_multiple,
bool trim_edges =
true) {
127template<
typename CaseType =
void>
129 if constexpr (std::is_void_v<CaseType>) {
134 core::CaseConverter{case_type}
178template<
bool RemovePunctuation = true>
180 if constexpr (RemovePunctuation) {
196using namespace factory;
Case conversion spell using C++20 concepts.
@ Upper
Convert to uppercase.
@ Lower
Convert to lowercase.
@ Title
Convert to titlecase (first letter of each word)
Trim leading and trailing whitespace.
Unicode normalization spell using C++20 concepts.
Normalize whitespace characters using C++20 concepts.
Simple whitespace tokenizer Splits input RuneSequence into tokens separated by Unicode whitespace.
Remove punctuation characters using C++20 concepts.
auto uppercase()
Create an uppercase converter.
auto titlecase()
Create a titlecase converter.
auto tokenizer_whitespace()
auto display_formatter()
Create a display-optimized text formatter.
auto search_preprocessor()
Create a search-optimized text preprocessor.
auto whitespace()
Factory functions for creating commonly used spells.
auto lowercase()
Create a lowercase converter.
auto punctuation(bool remove=true)
Create a punctuation filter.
auto unicode_nfc()
Create an NFC (Canonical Decomposition followed by Canonical Composition) normalizer.
auto unicode_nfd()
Create an NFD (Canonical Decomposition) normalizer.
auto text_normalizer(CaseType case_type={})
Create a text normalizer that applies common normalizations.
auto text_normalizer_with_punctuation()
Text normalizer with optional punctuation removal.
auto unicode_nfkd()
Create an NFKD (Compatibility Decomposition) normalizer.
auto unicode_nfkc()
Create an NFKC (Compatibility Decomposition followed by Canonical Composition) normalizer.
auto compose(FirstSpell &&first, SecondSpell &&second)
Compose two spells into a single spell pipeline.