Welcome to the new CppUtils documentation!
Concepts
CONCEPTSNamespace: CppUtils::String
Public concepts
Section titled “Public concepts”template<class T>concept CharacterPointerOrArray = (std::is_pointer_v<std::decay_t<T>> or std::is_array_v<std::remove_cvref_t<T>>) and Type::Character<CppUtils::Type::UnderlyingElementType<T>>;Concept satisfied if T is a raw pointer or array of character types.
template<class T, class CharT char>concept CharacterSequence = Text<T, CharT> or requires (const T& target) { { std::span<const CharT>{target} }; };Concept satisfied by types representing contiguous character sequences (strings, string views, or spans of characters).
template<class T>concept DirectlyPrintable = (std::formattable<std::remove_cvref_t<T>, char> or std::same_as<std::remove_cvref_t<T>, std::byte>) and (not std::ranges::input_range<std::remove_cvref_t<T>> or GenericText<std::remove_cvref_t<T>> or std::same_as<std::remove_cvref_t<T>, std::filesystem::path>);Concept satisfied if T is directly formattable as text without structural decomposition.
Concept satisfied if T can be formatted directly or through recursive decomposition.