|
kblib 0.2.3
General utilities library for modern C++
|
Provides utilities for performing common operations on strings. More...
#include "algorithm.h"#include "format.h"#include "tdecl.h"#include "traits.h"#include <algorithm>#include <cctype>#include <cwctype>#include <initializer_list>#include <numeric>#include <string>#include <type_traits>#include <string_view>

Go to the source code of this file.
Classes | |
| struct | kblib::is_character< C > |
| Determine if the given type, ignoring const or reference qualifiers, is a character type. More... | |
| struct | kblib::detail::arithmetic_type< T, bool > |
| Filter only arithmetic types. More... | |
| struct | kblib::detail::arithmetic_type< T, true > |
| Filter only arithmetic types. More... | |
| struct | kblib::detail::str_type< T, typename > |
| Converts types to strings. More... | |
| struct | kblib::detail::str_type< T, void > |
| Performs a natural conversion to a stringlike type. More... | |
| struct | kblib::detail::str_type< char, char > |
| Override for char to avoid conversion to integer. More... | |
| struct | kblib::detail::str_type< wchar_t, wchar_t > |
| Override for wchar_t to avoid conversion to integer. More... | |
| struct | kblib::detail::str_type< char16_t, char16_t > |
| Override for char16_t to avoid conversion to integer. More... | |
| struct | kblib::detail::str_type< char32_t, char32_t > |
| Override for char32_t to avoid conversion to integer. More... | |
| struct | kblib::detail::value< I, T > |
| struct | kblib::detail::values< std::index_sequence< Idxs... >, Ts... > |
| struct | kblib::is_space |
Namespaces | |
| namespace | kblib |
| The main namespace in which all entities from kblib are defined. | |
| namespace | kblib::detail |
| The namespace used for implementation details within kblib. | |
Typedefs | |
| template<typename T > | |
| using | kblib::detail::arithmetic_type_t = typename arithmetic_type< T >::type |
| Equivalent to typename arithmetic_type<T>::type. More... | |
| template<typename T > | |
| using | kblib::detail::str_type_t = typename str_type< T >::type |
| Provides the natural stringlike type for representing a T. More... | |
Functions | |
| template<typename Str > | |
| constexpr auto | kblib::strsize (Str &&str) -> std::size_t |
| Determines the size in characters of any valid argument to concat or append. More... | |
| template<typename CharT > | |
| constexpr auto | kblib::length (const CharT *str) noexcept -> std::size_t |
| template<typename string , typename F , typename... S> | |
| constexpr auto | kblib::append (string &&out, F &&f, S &&... tail) -> void |
| Given an object out of resizable stringlike type string, appends all other arguments to it. More... | |
| template<typename string , typename... S, std::size_t... I> | |
| constexpr auto | kblib::detail::concat_impl (std::index_sequence< I... >, S &&... ins) -> string |
| template<typename string = std::string, typename F , typename... S> | |
| constexpr auto | kblib::concat (F &&f, S &&... ins) -> string |
| Returns a string consisting of the concatenation of all arguments. More... | |
| template<typename string = std::string, typename str > | |
| constexpr auto | kblib::concat (std::initializer_list< str > ins) -> string |
| Returns a string consisting of the concatenation of all elements of an initializer list. More... | |
| constexpr auto | kblib::isspace (char c) -> bool |
| constexpr auto | kblib::isspace (wchar_t c) -> bool |
| constexpr auto | kblib::isAspace (char c) -> bool |
| constexpr auto | kblib::isAspace (wchar_t c) -> bool |
| template<typename range , typename string = std::string> | |
| constexpr auto | kblib::join (const range &in, const string &joiner="") |
| Concatenates all elements of a range together with an optional joiner. More... | |
| template<typename Container = std::vector<std::string>, typename Predicate , typename String > | |
| constexpr auto | kblib::split_tokens (const String &in, Predicate spacer) -> return_assert_t< is_callable< Predicate, typename Container::value_type::value_type >::value, Container > |
| Split a string on all condensed delimiters. More... | |
| template<typename Container = std::vector<std::string>, typename String > | |
| constexpr auto | kblib::split_tokens (const String &in) -> Container |
| Split a string on all instances of whitespace. More... | |
| template<typename Container = std::vector<std::string>, typename String > | |
| constexpr auto | kblib::split_tokens (const String &in, typename Container::value_type::value_type delim) -> Container |
| Split a string on all instances of a delimiter. More... | |
| template<typename Container = std::vector<std::string>, typename String > | |
| constexpr auto | kblib::kbsplit2 (const String &in, char delim=' ') -> Container |
| template<typename Container = std::vector<std::string>, typename String > | |
| constexpr auto | kblib::split_dsv (const String &str, char delim) -> Container |
| Split a string on all instances of delim. More... | |
| template<typename Container = std::vector<std::string>, typename String , typename Predicate > | |
| constexpr auto | kblib::split_dsv (const String &str, Predicate delim) -> return_assert_t< is_callable< Predicate, typename Container::value_type::value_type >::value, Container > |
| Split a string on all instances of delim. More... | |
| template<typename string > | |
| constexpr auto | kblib::reverse_str (string val) -> string |
| Reverses all the elements of its input. More... | |
| template<typename CharT > | |
| constexpr auto | kblib::detail::to_int_type (CharT ch) |
| template<typename CharT , typename IntT > | |
| constexpr auto | kblib::detail::to_char_type (IntT ch) |
| constexpr auto | kblib::detail::tolower (char ch) |
| constexpr auto | kblib::detail::towlower (wchar_t ch) |
| constexpr auto | kblib::detail::toupper (char ch) |
| constexpr auto | kblib::detail::towupper (wchar_t ch) |
| template<typename string > | |
| constexpr auto | kblib::tolower (string str) -> string |
| Folds all characters in a string using the default execution character set to lowercase. More... | |
| template<typename string > | |
| constexpr auto | kblib::toupper (string str) -> string |
| Folds all characters in a string using the default execution character set to uppercase. More... | |
| template<typename string > | |
| constexpr auto | kblib::repeat (string val, std::size_t count) -> string |
| Construct a string consisting of count copies of val concatenated together. More... | |
| constexpr auto | kblib::repeat (char val, std::size_t count) -> std::string |
| Construct a string consisting of count copies of val. More... | |
| constexpr auto | kblib::ends_with (std::string_view haystack, std::string_view needle) -> bool |
| Checks if a given string ends with a particular string. More... | |
| constexpr auto | kblib::ends_with (std::string_view haystack, char needle) -> bool |
| Checks if a given string ends with a particular string. More... | |
| constexpr auto | kblib::starts_with (std::string_view haystack, std::string_view needle) -> bool |
| Checks if a given string starts with a particular string. More... | |
| constexpr auto | kblib::starts_with (std::string_view haystack, char needle) -> bool |
| Checks if a given string starts with a particular string. More... | |
Variables | |
| template<typename C > | |
| constexpr bool | kblib::is_character_v = is_character<C>::value |
| Equivalent to is_character<C>::value. More... | |
Provides utilities for performing common operations on strings.
Definition in file stringops.h.