xtd 0.2.0
Loading...
Searching...
No Matches
box_char.h
Go to the documentation of this file.
1
4#pragma once
5#include "box_integer.h"
6
8namespace xtd {
37 template<typename type_t>
38 class box_char : public xtd::box_integer<type_t> {
39 public:
41 box_char() = default;
42 box_char(const type_t& value) : box_integer<type_t>(value) {}
43 box_char(const box_char&) = default;
44 box_char(box_char&&) = default;
45 box_char& operator =(const box_char&) = default;
47
49
54 static bool is_ascii(type_t c) noexcept {return c > 0 && c <= 0x7F;}
55
61 static bool is_ascii(const string& s, size_t index) {return is_ascii(s[index]);}
62
66 static bool is_control(type_t c) noexcept {return std::iscntrl(c) != 0;}
67
73 static bool is_control(const string& s, size_t index) {return is_control(s[index]);}
74
79 static bool is_digit(type_t c) noexcept {return std::isdigit(c) != 0;}
80
86 static bool is_digit(const string& s, size_t index) {return is_digit(s[index]);}
87
91 static bool is_letter(type_t c) noexcept {return std::isalpha(c) != 0;}
92
98 static bool is_letter(const string& s, size_t index) {return is_letter(s[index]);}
99
103 static bool is_letter_or_digit(type_t c) noexcept {return std::isalnum(c) != 0;}
104
110 static bool is_letter_or_digit(const string& s, size_t index) {return is_letter_or_digit(s[index]);}
111
115 static bool is_lower(type_t c) noexcept {return std::islower(c) != 0;}
116
122 static bool is_lower(const string& s, size_t index) {return is_lower(s[index]);}
123
127 static bool is_number(type_t c) noexcept {return std::isdigit(c) != 0;}
128
134 static bool is_number(const string& s, size_t index) {return is_number(s[index]);}
135
139 static bool is_punctuation(type_t c) noexcept {return std::ispunct(c) != 0;}
140
146 static bool is_punctuation(const string& s, size_t index) {return is_punctuation(s[index]);}
147
151 static bool is_separator(type_t c) noexcept {return std::isspace(c) != 0 || c == '\n';}
152
158 static bool is_separator(const string& s, size_t index) {return is_separator(s[index]);}
159
163 static bool is_symbol(type_t c) noexcept {return std::isgraph(c) != 0 || c == 0x9C;}
164
170 static bool is_symbol(const string& s, size_t index) {return is_symbol(s[index]);}
171
175 static bool is_upper(type_t c) noexcept {return std::isupper(c) != 0;}
176
182 static bool is_upper(const string& s, size_t index) {return is_upper(s[index]);}
183
187 static bool is_white_space(type_t c) noexcept {return std::isspace(c) != 0;}
188
194 static bool is_white_space(const string& s, size_t index) {return is_white_space(s[index]);}
195
199 static char to_lower(type_t c) noexcept {return static_cast<type_t>(std::tolower(c));}
200
204 static char to_upper(type_t c) noexcept {return static_cast<type_t>(std::toupper(c));}
206 };
207}
Contains xtd::box_integer class.
Represents a boxed char object.
Definition box_char.h:38
static bool is_punctuation(type_t c) noexcept
Indicates whether the specified Unicode character is categorized as a punctuation mark.
Definition box_char.h:139
static bool is_number(const string &s, size_t index)
Indicates whether the character at the specified position in a specified string is categorized as a n...
Definition box_char.h:134
static bool is_control(type_t c) noexcept
Indicates whether the specified Unicode character is categorized as a control character.
Definition box_char.h:66
static bool is_upper(type_t c) noexcept
Indicates whether the specified Unicode character is categorized as an uppercase letter.
Definition box_char.h:175
static bool is_control(const string &s, size_t index)
Indicates whether the character at the specified position in a specified string is categorized as a c...
Definition box_char.h:73
static bool is_digit(type_t c) noexcept
Indicates whether the specified Unicode character is categorized as a decimal digit.
Definition box_char.h:79
static bool is_lower(type_t c) noexcept
ndicates whether the specified Unicode character is categorized as a lowercase letter.
Definition box_char.h:115
static bool is_symbol(type_t c) noexcept
Indicates whether the specified Unicode character is categorized as a symbol character.
Definition box_char.h:163
static bool is_white_space(const string &s, size_t index)
Indicates whether the character at the specified position in a specified string is categorized as whi...
Definition box_char.h:194
static bool is_upper(const string &s, size_t index)
Indicates whether the character at the specified position in a specified string is categorized as an ...
Definition box_char.h:182
static bool is_digit(const string &s, size_t index)
Indicates whether the character at the specified position in a specified string is categorized as a d...
Definition box_char.h:86
static bool is_symbol(const string &s, size_t index)
Indicates whether the character at the specified position in a specified string is categorized as a s...
Definition box_char.h:170
static char to_upper(type_t c) noexcept
Converts the value of a Unicode character to its uppercase equivalent.
Definition box_char.h:204
static char to_lower(type_t c) noexcept
Converts the value of a Unicode character to its lowercase equivalent.
Definition box_char.h:199
static bool is_punctuation(const string &s, size_t index)
Indicates whether the character at the specified position in a specified string is categorized as a p...
Definition box_char.h:146
static bool is_letter_or_digit(const string &s, size_t index)
Indicates whether the character at the specified position in a specified string is categorized as a l...
Definition box_char.h:110
static bool is_separator(type_t c) noexcept
Indicates whether the specified Unicode character is categorized as a separator character.
Definition box_char.h:151
static bool is_white_space(type_t c) noexcept
Indicates whether the specified Unicode character is categorized as white space.
Definition box_char.h:187
static bool is_letter_or_digit(type_t c) noexcept
Indicates whether a Unicode character is categorized as a letter or a decimal digit.
Definition box_char.h:103
static bool is_ascii(type_t c) noexcept
Returns true if c is an ASCII character ([ U+0000..U+007F ]).
Definition box_char.h:54
static bool is_number(type_t c) noexcept
Indicates whether a Unicode character is categorized as a number.
Definition box_char.h:127
static bool is_letter(const string &s, size_t index)
Indicates whether the character at the specified position in a specified string is categorized as a U...
Definition box_char.h:98
static bool is_ascii(const string &s, size_t index)
Indicates whether the character at the specified position in a specified string is an ASCII character...
Definition box_char.h:61
static bool is_letter(type_t c) noexcept
Indicates whether the specified Unicode character is categorized as a Unicode letter.
Definition box_char.h:91
static bool is_lower(const string &s, size_t index)
Indicates whether the character at the specified position in a specified string is categorized as a l...
Definition box_char.h:122
static bool is_separator(const string &s, size_t index)
Indicates whether the character at the specified position in a specified string is categorized as a s...
Definition box_char.h:158
Represents a boxed integer object.
Definition box_integer.h:52
const type_t & value() const noexcept
Gets the underlying value.
Definition box.h:85
@ s
The S key.
@ c
The C key.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10