Go to the documentation of this file.
20 #ifndef ABSL_STRINGS_INTERNAL_CHAR_MAP_H_
21 #define ABSL_STRINGS_INTERNAL_CHAR_MAP_H_
27 #include "absl/base/macros.h"
28 #include "absl/base/port.h"
32 namespace strings_internal {
50 constexpr
bool contains(
unsigned char c)
const {
51 return (
m_[c / 64] >> (c % 64)) & 0x1;
57 if ((
m_[
i] & c.m_[
i]) != 0)
return true;
64 if (c != 0)
return false;
89 return Charmap(
a.m_[0] &
b.m_[0],
a.m_[1] &
b.m_[1],
a.m_[2] &
b.m_[2],
94 return Charmap(
a.m_[0] |
b.m_[0],
a.m_[1] |
b.m_[1],
a.m_[2] |
b.m_[2],
99 return Charmap(~
a.m_[0], ~
a.m_[1], ~
a.m_[2], ~
a.m_[3]);
115 return (upper <= 64 * word)
117 : (upper >= 64 * (word + 1))
118 ? ~static_cast<uint64_t>(0)
119 : (~static_cast<uint64_t>(0) >> (64 - upper % 64));
123 return (
x / 64 == word) ? (
static_cast<uint64_t>(1) << (
x % 64)) : 0;
128 m_[c / 64] |=
static_cast<uint64_t>(1) << (c % 64);
156 #endif // ABSL_STRINGS_INTERNAL_CHAR_MAP_H_
constexpr Charmap CntrlCharmap()
constexpr friend Charmap operator&(const Charmap &a, const Charmap &b)
constexpr friend Charmap operator~(const Charmap &a)
constexpr Charmap XDigitCharmap()
static constexpr uint64_t RangeForWord(unsigned char lo, unsigned char hi, uint64_t word)
static constexpr uint64_t CharMaskForWord(unsigned char x, uint64_t word)
constexpr Charmap AlphaCharmap()
#define ABSL_ARRAYSIZE(array)
#define ABSL_NAMESPACE_END
static constexpr uint64_t OpenRangeFromZeroForWord(uint64_t upper, uint64_t word)
#define ABSL_NAMESPACE_BEGIN
constexpr Charmap PunctCharmap()
static constexpr Charmap Range(char lo, char hi)
constexpr friend Charmap operator|(const Charmap &a, const Charmap &b)
constexpr Charmap BlankCharmap()
constexpr Charmap(uint64_t b0, uint64_t b1, uint64_t b2, uint64_t b3)
unsigned __int64 uint64_t
constexpr Charmap UpperCharmap()
constexpr Charmap PrintCharmap()
constexpr Charmap LowerCharmap()
constexpr Charmap SpaceCharmap()
static constexpr Charmap Char(char x)
constexpr Charmap AlnumCharmap()
void SetChar(unsigned char c)
static constexpr Charmap FromString(const char *s)
constexpr Charmap GraphCharmap()
constexpr Charmap DigitCharmap()
bool IntersectsWith(const Charmap &c) const
constexpr bool contains(unsigned char c) const
Charmap(const char *str, int len)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:53