14 bool operator()(
unsigned char c)
const noexcept(
noexcept(
std::isalnum(c))) {
20 bool operator()(
unsigned char c)
const noexcept(
noexcept(
std::isalpha(c))) {
26 bool operator()(
unsigned char c)
const noexcept(
noexcept(
std::islower(c))) {
32 bool operator()(
unsigned char c)
const noexcept(
noexcept(
std::isupper(c))) {
38 bool operator()(
unsigned char c)
const noexcept(
noexcept(
std::isdigit(c))) {
44 bool operator()(
unsigned char c)
const noexcept(
noexcept(
std::isxdigit(c))) {
50 bool operator()(
unsigned char c)
const noexcept(
noexcept(
std::iscntrl(c))) {
56 bool operator()(
unsigned char c)
const noexcept(
noexcept(
std::isgraph(c))) {
62 bool operator()(
unsigned char c)
const noexcept(
noexcept(
std::isspace(c))) {
68 bool operator()(
unsigned char c)
const noexcept(
noexcept(
std::isblank(c))) {
74 bool operator()(
unsigned char c)
const noexcept(
noexcept(
std::isprint(c))) {
80 bool operator()(
unsigned char c)
const noexcept(
noexcept(
std::ispunct(c))) {
86 inline namespace cpo {
114 template <
class charT>
115 inline std::basic_string<charT>
quoted(charT s, charT delim = charT(
'\'')) {
116 return {delim, s, delim};
120 template <
class charT>
121 inline auto quoted(
const charT* s, charT delim = charT(
'"')) {
122 return std::basic_string<charT>{delim} + s + delim;
126 template <
class charT,
class traits>
127 inline auto quoted(std::basic_string_view<charT, traits> s, charT delim = charT(
'"')) {
128 return delim + std::basic_string<charT, traits>{s} + delim;
132 template <
class charT,
class traits,
class Allocator>
133 inline auto quoted(
const std::basic_string<charT, traits, Allocator>& s,
134 charT delim = charT(
'"')) {
135 return delim + s + delim;
139 template <
class charT,
class traits,
class Allocator>
140 inline auto quoted(std::basic_string<charT, traits, Allocator>&& s, charT delim = charT(
'"')) {
141 return delim + std::move(s) + delim;
std::basic_string< charT > quoted(charT s, charT delim=charT('\''))
Surrounds a string with delimiter.
Definition: char.hpp:115
constexpr partial< detail::isgraph_op > isgraph
Partially applicable std::isgraph.
Definition: char.hpp:102
constexpr partial< detail::isupper_op > isupper
Partially applicable std::isupper.
Definition: char.hpp:94
constexpr partial< detail::ispunct_op > ispunct
Partially applicable std::ispunct.
Definition: char.hpp:110
constexpr partial< detail::iscntrl_op > iscntrl
Partially applicable std::iscntrl.
Definition: char.hpp:100
constexpr partial< detail::isblank_op > isblank
Partially applicable std::isblank.
Definition: char.hpp:106
constexpr partial< detail::isdigit_op > isdigit
Partially applicable std::isdigit.
Definition: char.hpp:96
constexpr partial< detail::islower_op > islower
Partially applicable std::islower.
Definition: char.hpp:92
constexpr partial< detail::isalnum_op > isalnum
Partially applicable std::isalnum.
Definition: char.hpp:88
constexpr partial< detail::isxdigit_op > isxdigit
Partially applicable std::isxdigit.
Definition: char.hpp:98
constexpr partial< detail::isprint_op > isprint
Partially applicable std::isprint.
Definition: char.hpp:108
constexpr partial< detail::isspace_op > isspace
Partially applicable std::isspace.
Definition: char.hpp:104
constexpr partial< detail::isalpha_op > isalpha
Partially applicable std::isalpha.
Definition: char.hpp:90
Implements a perfect-forwarding call wrapper.
Definition: partial.hpp:63