Photon Common Library 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
string_utils_table.h
Go to the documentation of this file.
1#pragma once
2
3#include <array>
4#include <string_view>
5
7{
8
13inline constexpr std::string_view common_whitespaces = " \n\r\t";
14
19inline constexpr std::string_view standard_whitespaces = " \n\r\t\v\f";
20
26inline constexpr std::array<unsigned char, 256> ASCII_TO_UPPER =
27{{
28 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
29 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
30 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
31 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
32 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
33 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
34 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
35 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
36 0x40, 'A', 'B', 'C', 'D', 'E', 'F', 'G',
37 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
38 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
39 'X', 'Y', 'Z', 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
40 0x60, 'A', 'B', 'C', 'D', 'E', 'F', 'G',
41 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
42 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
43 'X', 'Y', 'Z', 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,// 127
44 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
45 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F,
46 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
47 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F,
48 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
49 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
50 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
51 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
52 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
53 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
54 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
55 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,
56 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
57 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
58 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
59 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF // 255
60}};
61
67inline constexpr std::array<unsigned char, 256> ASCII_TO_LOWER =
68{{
69 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
70 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
71 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
72 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
73 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
74 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
75 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
76 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
77 0x40, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
78 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
79 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
80 'x', 'y', 'z', 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
81 0x60, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
82 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
83 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
84 'x', 'y', 'z', 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, // 127
85 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
86 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F,
87 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
88 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F,
89 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
90 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
91 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
92 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
93 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
94 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
95 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
96 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,
97 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
98 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
99 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
100 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF // 255
101}};
102
103inline constexpr std::array<unsigned char, 62> BASE62_DIGITS =
104{{
105 '0', '1', '2', '3', '4', '5', '6', '7',
106 '8', '9', 'a', 'b', 'c', 'd', 'e', 'f',
107 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
108 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
109 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D',
110 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
111 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
112 'U', 'V', 'W', 'X', 'Y', 'Z'
113}};
114
115}// end namespace ph::string_utils::table
Definition string_utils_table.h:7
constexpr std::array< unsigned char, 256 > ASCII_TO_UPPER
Definition string_utils_table.h:26
constexpr std::array< unsigned char, 256 > ASCII_TO_LOWER
Definition string_utils_table.h:67
constexpr std::array< unsigned char, 62 > BASE62_DIGITS
Definition string_utils_table.h:103
constexpr std::string_view common_whitespaces
Commonly used whitespace characters.
Definition string_utils_table.h:13
constexpr std::string_view standard_whitespaces
Standard whitespace characters.
Definition string_utils_table.h:19