From 7eff304a63474968d4ff40ab2142e542ab51b3ab Mon Sep 17 00:00:00 2001 From: Avinash Maddikonda <45308169+SFM61319@users.noreply.github.com> Date: Wed, 26 Jul 2023 22:09:25 +0000 Subject: [PATCH] Generate automated Doxygen documentation --- docs/html/char_8c.html | 1048 +++++++++++++++- docs/html/char_8c.js | 18 + docs/html/char_8c__incl.md5 | 2 +- docs/html/char_8c__incl.png | Bin 9340 -> 15203 bytes ...2834d689c11586dfd63cfb5c5af6ec3_cgraph.md5 | 1 + ...2834d689c11586dfd63cfb5c5af6ec3_cgraph.png | Bin 0 -> 10092 bytes ...834d689c11586dfd63cfb5c5af6ec3_icgraph.md5 | 1 + ...834d689c11586dfd63cfb5c5af6ec3_icgraph.png | Bin 0 -> 3868 bytes ...e1289b7cecd55f4fb932418d093e8ab_cgraph.md5 | 1 + ...e1289b7cecd55f4fb932418d093e8ab_cgraph.png | Bin 0 -> 6705 bytes ...4c097e7e8fc5fb63133cfb6a3f84587_cgraph.md5 | 1 + ...4c097e7e8fc5fb63133cfb6a3f84587_cgraph.png | Bin 0 -> 3085 bytes ...49af3c98a6fb7cdeff001119743c1ca_cgraph.md5 | 1 + ...49af3c98a6fb7cdeff001119743c1ca_cgraph.png | Bin 0 -> 16867 bytes ...380babe759ddeea94ee96a230e0916_icgraph.md5 | 1 + ...380babe759ddeea94ee96a230e0916_icgraph.png | Bin 0 -> 49940 bytes ...43fe0b72862983c36a6b61ad57c1cfe_cgraph.md5 | 1 + ...43fe0b72862983c36a6b61ad57c1cfe_cgraph.png | Bin 0 -> 6967 bytes ...bbbed2e3dec7ed2aa9eff0683f2f351_cgraph.md5 | 1 + ...bbbed2e3dec7ed2aa9eff0683f2f351_cgraph.png | Bin 0 -> 3077 bytes ...bbed2e3dec7ed2aa9eff0683f2f351_icgraph.md5 | 1 + ...bbed2e3dec7ed2aa9eff0683f2f351_icgraph.png | Bin 0 -> 6323 bytes ...00be38168fd75c1505b935a62d2f9ae_cgraph.md5 | 1 + ...00be38168fd75c1505b935a62d2f9ae_cgraph.png | Bin 0 -> 3232 bytes ...0be38168fd75c1505b935a62d2f9ae_icgraph.md5 | 1 + ...0be38168fd75c1505b935a62d2f9ae_icgraph.png | Bin 0 -> 11775 bytes ...385de1c37e3dfa511ca0ebdec5ed29d_cgraph.md5 | 1 + ...385de1c37e3dfa511ca0ebdec5ed29d_cgraph.png | Bin 0 -> 5030 bytes ...85de1c37e3dfa511ca0ebdec5ed29d_icgraph.md5 | 1 + ...85de1c37e3dfa511ca0ebdec5ed29d_icgraph.png | Bin 0 -> 3763 bytes ...88ae15b4f6c55c6b664caae27082ac1_cgraph.md5 | 1 + ...88ae15b4f6c55c6b664caae27082ac1_cgraph.png | Bin 0 -> 5597 bytes ...da93370b843c312fc7fae6a373c4206_cgraph.md5 | 1 + ...da93370b843c312fc7fae6a373c4206_cgraph.png | Bin 0 -> 3535 bytes ...e0cdf5de54fe62bcf737d83ad2cb4f8_cgraph.md5 | 1 + ...e0cdf5de54fe62bcf737d83ad2cb4f8_cgraph.png | Bin 0 -> 3338 bytes ...a6506a9db8ce783cac59d28def15b17_cgraph.md5 | 1 + ...a6506a9db8ce783cac59d28def15b17_cgraph.png | Bin 0 -> 3474 bytes ...db2c2f7cdda91ae57f50b84a55af573_cgraph.md5 | 1 + ...db2c2f7cdda91ae57f50b84a55af573_cgraph.png | Bin 0 -> 3315 bytes ...b2c2f7cdda91ae57f50b84a55af573_icgraph.md5 | 1 + ...b2c2f7cdda91ae57f50b84a55af573_icgraph.png | Bin 0 -> 8676 bytes docs/html/char_8c_source.html | 140 ++- docs/html/char_8h.html | 1078 ++++++++++++++++- docs/html/char_8h.js | 17 +- docs/html/char_8h__incl.md5 | 2 +- docs/html/char_8h__incl.png | Bin 8956 -> 11720 bytes ...17ad586e00766b4684bdac9924ed0e_icgraph.md5 | 1 + ...17ad586e00766b4684bdac9924ed0e_icgraph.png | Bin 0 -> 49940 bytes ...19f494ae625a456bb4e62b3a0f78391_cgraph.md5 | 1 + ...19f494ae625a456bb4e62b3a0f78391_cgraph.png | Bin 0 -> 6705 bytes ...463f455ab57b0671638e381a2a85d26_cgraph.md5 | 1 + ...463f455ab57b0671638e381a2a85d26_cgraph.png | Bin 0 -> 3085 bytes ...6c6c6cbf8bb5eb5e06e29961cfd0cf1_cgraph.md5 | 1 + ...6c6c6cbf8bb5eb5e06e29961cfd0cf1_cgraph.png | Bin 0 -> 3077 bytes ...c6c6cbf8bb5eb5e06e29961cfd0cf1_icgraph.md5 | 1 + ...c6c6cbf8bb5eb5e06e29961cfd0cf1_icgraph.png | Bin 0 -> 6323 bytes ...82fb8a7ff2098b9de6feab90fe28bf2_cgraph.md5 | 1 + ...82fb8a7ff2098b9de6feab90fe28bf2_cgraph.png | Bin 0 -> 3232 bytes ...2fb8a7ff2098b9de6feab90fe28bf2_icgraph.md5 | 1 + ...2fb8a7ff2098b9de6feab90fe28bf2_icgraph.png | Bin 0 -> 11775 bytes ...d9242880df4717ee13d29c95a33c2f8_cgraph.md5 | 1 + ...d9242880df4717ee13d29c95a33c2f8_cgraph.png | Bin 0 -> 5030 bytes ...9242880df4717ee13d29c95a33c2f8_icgraph.md5 | 1 + ...9242880df4717ee13d29c95a33c2f8_icgraph.png | Bin 0 -> 3763 bytes ...09932a31d20457ee7765543113c2493_cgraph.md5 | 1 + ...09932a31d20457ee7765543113c2493_cgraph.png | Bin 0 -> 6967 bytes ...0bffbb96f997d839b69ca28f8e0e43e_cgraph.md5 | 1 + ...0bffbb96f997d839b69ca28f8e0e43e_cgraph.png | Bin 0 -> 3315 bytes ...bffbb96f997d839b69ca28f8e0e43e_icgraph.md5 | 1 + ...bffbb96f997d839b69ca28f8e0e43e_icgraph.png | Bin 0 -> 8676 bytes ...2495c17d510f2bb9c5c577d2e8a4531_cgraph.md5 | 1 + ...2495c17d510f2bb9c5c577d2e8a4531_cgraph.png | Bin 0 -> 16867 bytes ...fc454a0d93d548ed94f109c77b1e68f_cgraph.md5 | 1 + ...fc454a0d93d548ed94f109c77b1e68f_cgraph.png | Bin 0 -> 3338 bytes ...124f08e43b0ae720d1548f482144407_cgraph.md5 | 1 + ...124f08e43b0ae720d1548f482144407_cgraph.png | Bin 0 -> 10092 bytes ...24f08e43b0ae720d1548f482144407_icgraph.md5 | 1 + ...24f08e43b0ae720d1548f482144407_icgraph.png | Bin 0 -> 3868 bytes ...f28b292dd407661577ae4df5e40684b_cgraph.md5 | 1 + ...f28b292dd407661577ae4df5e40684b_cgraph.png | Bin 0 -> 5597 bytes ...50ba493605648683d0b49fd1df62211_cgraph.md5 | 1 + ...50ba493605648683d0b49fd1df62211_cgraph.png | Bin 0 -> 3474 bytes ...b06a1b874a501739f2358d019bde21d_cgraph.md5 | 1 + ...b06a1b874a501739f2358d019bde21d_cgraph.png | Bin 0 -> 3535 bytes docs/html/char_8h_source.html | 703 +++++++++-- docs/html/dir_000001_000002.html | 2 +- .../dir_122f4add68bb94b3fee614989bbbd8f9.html | 2 +- .../dir_122f4add68bb94b3fee614989bbbd8f9.js | 2 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- .../dir_b9148fc9a2e8ee35527863418373429b.html | 2 +- .../dir_d44c64559bbebec7f509842c48db8b23.html | 2 +- docs/html/files.html | 2 +- docs/html/globals.html | 21 +- docs/html/globals_defs.html | 2 +- docs/html/globals_func.html | 21 +- docs/html/globals_type.html | 2 +- docs/html/graph_legend.html | 2 +- docs/html/helpers_8c.html | 6 +- docs/html/helpers_8c_source.html | 2 +- docs/html/helpers_8h.html | 12 +- docs/html/helpers_8h_source.html | 2 +- docs/html/index.html | 5 +- docs/html/menudata.js | 6 +- docs/html/navtreeindex0.js | 30 + docs/html/search/all_2.js | 49 +- docs/html/search/functions_0.js | 19 +- docs/html/usize_8c.html | 2 +- docs/html/usize_8c_source.html | 2 +- docs/html/usize_8h.html | 12 +- docs/html/usize_8h_source.html | 2 +- docs/latex/char_8c.tex | 902 +++++++++++++- docs/latex/char_8c__incl.md5 | 2 +- docs/latex/char_8c__incl.pdf | Bin 6787 -> 7354 bytes ...2834d689c11586dfd63cfb5c5af6ec3_cgraph.md5 | 1 + ...2834d689c11586dfd63cfb5c5af6ec3_cgraph.pdf | Bin 0 -> 7429 bytes ...834d689c11586dfd63cfb5c5af6ec3_icgraph.md5 | 1 + ...834d689c11586dfd63cfb5c5af6ec3_icgraph.pdf | Bin 0 -> 6162 bytes ...e1289b7cecd55f4fb932418d093e8ab_cgraph.md5 | 1 + ...e1289b7cecd55f4fb932418d093e8ab_cgraph.pdf | Bin 0 -> 6421 bytes ...4c097e7e8fc5fb63133cfb6a3f84587_cgraph.md5 | 1 + ...4c097e7e8fc5fb63133cfb6a3f84587_cgraph.pdf | Bin 0 -> 5983 bytes ...49af3c98a6fb7cdeff001119743c1ca_cgraph.md5 | 1 + ...49af3c98a6fb7cdeff001119743c1ca_cgraph.pdf | Bin 0 -> 8487 bytes ...380babe759ddeea94ee96a230e0916_icgraph.md5 | 1 + ...380babe759ddeea94ee96a230e0916_icgraph.pdf | Bin 0 -> 12403 bytes ...43fe0b72862983c36a6b61ad57c1cfe_cgraph.md5 | 1 + ...43fe0b72862983c36a6b61ad57c1cfe_cgraph.pdf | Bin 0 -> 7330 bytes ...bbbed2e3dec7ed2aa9eff0683f2f351_cgraph.md5 | 1 + ...bbbed2e3dec7ed2aa9eff0683f2f351_cgraph.pdf | Bin 0 -> 5824 bytes ...bbed2e3dec7ed2aa9eff0683f2f351_icgraph.md5 | 1 + ...bbed2e3dec7ed2aa9eff0683f2f351_icgraph.pdf | Bin 0 -> 6773 bytes ...00be38168fd75c1505b935a62d2f9ae_cgraph.md5 | 1 + ...00be38168fd75c1505b935a62d2f9ae_cgraph.pdf | Bin 0 -> 5952 bytes ...0be38168fd75c1505b935a62d2f9ae_icgraph.md5 | 1 + ...0be38168fd75c1505b935a62d2f9ae_icgraph.pdf | Bin 0 -> 8016 bytes ...385de1c37e3dfa511ca0ebdec5ed29d_cgraph.md5 | 1 + ...385de1c37e3dfa511ca0ebdec5ed29d_cgraph.pdf | Bin 0 -> 6787 bytes ...85de1c37e3dfa511ca0ebdec5ed29d_icgraph.md5 | 1 + ...85de1c37e3dfa511ca0ebdec5ed29d_icgraph.pdf | Bin 0 -> 6276 bytes ...88ae15b4f6c55c6b664caae27082ac1_cgraph.md5 | 1 + ...88ae15b4f6c55c6b664caae27082ac1_cgraph.pdf | Bin 0 -> 6782 bytes ...da93370b843c312fc7fae6a373c4206_cgraph.md5 | 1 + ...da93370b843c312fc7fae6a373c4206_cgraph.pdf | Bin 0 -> 5943 bytes ...e0cdf5de54fe62bcf737d83ad2cb4f8_cgraph.md5 | 1 + ...e0cdf5de54fe62bcf737d83ad2cb4f8_cgraph.pdf | Bin 0 -> 6191 bytes ...a6506a9db8ce783cac59d28def15b17_cgraph.md5 | 1 + ...a6506a9db8ce783cac59d28def15b17_cgraph.pdf | Bin 0 -> 5837 bytes ...db2c2f7cdda91ae57f50b84a55af573_cgraph.md5 | 1 + ...db2c2f7cdda91ae57f50b84a55af573_cgraph.pdf | Bin 0 -> 6002 bytes ...b2c2f7cdda91ae57f50b84a55af573_icgraph.md5 | 1 + ...b2c2f7cdda91ae57f50b84a55af573_icgraph.pdf | Bin 0 -> 7313 bytes docs/latex/char_8c_source.tex | 121 +- docs/latex/char_8h.tex | 930 +++++++++++++- docs/latex/char_8h__incl.md5 | 2 +- docs/latex/char_8h__incl.pdf | Bin 6411 -> 6743 bytes ...17ad586e00766b4684bdac9924ed0e_icgraph.md5 | 1 + ...17ad586e00766b4684bdac9924ed0e_icgraph.pdf | Bin 0 -> 12403 bytes ...19f494ae625a456bb4e62b3a0f78391_cgraph.md5 | 1 + ...19f494ae625a456bb4e62b3a0f78391_cgraph.pdf | Bin 0 -> 6421 bytes ...463f455ab57b0671638e381a2a85d26_cgraph.md5 | 1 + ...463f455ab57b0671638e381a2a85d26_cgraph.pdf | Bin 0 -> 5983 bytes ...6c6c6cbf8bb5eb5e06e29961cfd0cf1_cgraph.md5 | 1 + ...6c6c6cbf8bb5eb5e06e29961cfd0cf1_cgraph.pdf | Bin 0 -> 5824 bytes ...c6c6cbf8bb5eb5e06e29961cfd0cf1_icgraph.md5 | 1 + ...c6c6cbf8bb5eb5e06e29961cfd0cf1_icgraph.pdf | Bin 0 -> 6773 bytes ...82fb8a7ff2098b9de6feab90fe28bf2_cgraph.md5 | 1 + ...82fb8a7ff2098b9de6feab90fe28bf2_cgraph.pdf | Bin 0 -> 5952 bytes ...2fb8a7ff2098b9de6feab90fe28bf2_icgraph.md5 | 1 + ...2fb8a7ff2098b9de6feab90fe28bf2_icgraph.pdf | Bin 0 -> 8016 bytes ...d9242880df4717ee13d29c95a33c2f8_cgraph.md5 | 1 + ...d9242880df4717ee13d29c95a33c2f8_cgraph.pdf | Bin 0 -> 6787 bytes ...9242880df4717ee13d29c95a33c2f8_icgraph.md5 | 1 + ...9242880df4717ee13d29c95a33c2f8_icgraph.pdf | Bin 0 -> 6276 bytes ...09932a31d20457ee7765543113c2493_cgraph.md5 | 1 + ...09932a31d20457ee7765543113c2493_cgraph.pdf | Bin 0 -> 7330 bytes ...0bffbb96f997d839b69ca28f8e0e43e_cgraph.md5 | 1 + ...0bffbb96f997d839b69ca28f8e0e43e_cgraph.pdf | Bin 0 -> 6002 bytes ...bffbb96f997d839b69ca28f8e0e43e_icgraph.md5 | 1 + ...bffbb96f997d839b69ca28f8e0e43e_icgraph.pdf | Bin 0 -> 7313 bytes ...2495c17d510f2bb9c5c577d2e8a4531_cgraph.md5 | 1 + ...2495c17d510f2bb9c5c577d2e8a4531_cgraph.pdf | Bin 0 -> 8487 bytes ...fc454a0d93d548ed94f109c77b1e68f_cgraph.md5 | 1 + ...fc454a0d93d548ed94f109c77b1e68f_cgraph.pdf | Bin 0 -> 6191 bytes ...124f08e43b0ae720d1548f482144407_cgraph.md5 | 1 + ...124f08e43b0ae720d1548f482144407_cgraph.pdf | Bin 0 -> 7429 bytes ...24f08e43b0ae720d1548f482144407_icgraph.md5 | 1 + ...24f08e43b0ae720d1548f482144407_icgraph.pdf | Bin 0 -> 6162 bytes ...f28b292dd407661577ae4df5e40684b_cgraph.md5 | 1 + ...f28b292dd407661577ae4df5e40684b_cgraph.pdf | Bin 0 -> 6782 bytes ...50ba493605648683d0b49fd1df62211_cgraph.md5 | 1 + ...50ba493605648683d0b49fd1df62211_cgraph.pdf | Bin 0 -> 5837 bytes ...b06a1b874a501739f2358d019bde21d_cgraph.md5 | 1 + ...b06a1b874a501739f2358d019bde21d_cgraph.pdf | Bin 0 -> 5943 bytes docs/latex/char_8h_source.tex | 684 +++++++++-- docs/latex/helpers_8c.tex | 13 +- docs/latex/helpers_8h.tex | 22 +- docs/latex/index.tex | 4 +- docs/latex/usize_8c.tex | 3 +- docs/latex/usize_8h.tex | 16 +- 200 files changed, 5650 insertions(+), 344 deletions(-) create mode 100644 docs/html/char_8c.js create mode 100644 docs/html/char_8c_a02834d689c11586dfd63cfb5c5af6ec3_cgraph.md5 create mode 100644 docs/html/char_8c_a02834d689c11586dfd63cfb5c5af6ec3_cgraph.png create mode 100644 docs/html/char_8c_a02834d689c11586dfd63cfb5c5af6ec3_icgraph.md5 create mode 100644 docs/html/char_8c_a02834d689c11586dfd63cfb5c5af6ec3_icgraph.png create mode 100644 docs/html/char_8c_a1e1289b7cecd55f4fb932418d093e8ab_cgraph.md5 create mode 100644 docs/html/char_8c_a1e1289b7cecd55f4fb932418d093e8ab_cgraph.png create mode 100644 docs/html/char_8c_a24c097e7e8fc5fb63133cfb6a3f84587_cgraph.md5 create mode 100644 docs/html/char_8c_a24c097e7e8fc5fb63133cfb6a3f84587_cgraph.png create mode 100644 docs/html/char_8c_a349af3c98a6fb7cdeff001119743c1ca_cgraph.md5 create mode 100644 docs/html/char_8c_a349af3c98a6fb7cdeff001119743c1ca_cgraph.png create mode 100644 docs/html/char_8c_a61380babe759ddeea94ee96a230e0916_icgraph.md5 create mode 100644 docs/html/char_8c_a61380babe759ddeea94ee96a230e0916_icgraph.png create mode 100644 docs/html/char_8c_a643fe0b72862983c36a6b61ad57c1cfe_cgraph.md5 create mode 100644 docs/html/char_8c_a643fe0b72862983c36a6b61ad57c1cfe_cgraph.png create mode 100644 docs/html/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_cgraph.md5 create mode 100644 docs/html/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_cgraph.png create mode 100644 docs/html/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_icgraph.md5 create mode 100644 docs/html/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_icgraph.png create mode 100644 docs/html/char_8c_a800be38168fd75c1505b935a62d2f9ae_cgraph.md5 create mode 100644 docs/html/char_8c_a800be38168fd75c1505b935a62d2f9ae_cgraph.png create mode 100644 docs/html/char_8c_a800be38168fd75c1505b935a62d2f9ae_icgraph.md5 create mode 100644 docs/html/char_8c_a800be38168fd75c1505b935a62d2f9ae_icgraph.png create mode 100644 docs/html/char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_cgraph.md5 create mode 100644 docs/html/char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_cgraph.png create mode 100644 docs/html/char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_icgraph.md5 create mode 100644 docs/html/char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_icgraph.png create mode 100644 docs/html/char_8c_a988ae15b4f6c55c6b664caae27082ac1_cgraph.md5 create mode 100644 docs/html/char_8c_a988ae15b4f6c55c6b664caae27082ac1_cgraph.png create mode 100644 docs/html/char_8c_a9da93370b843c312fc7fae6a373c4206_cgraph.md5 create mode 100644 docs/html/char_8c_a9da93370b843c312fc7fae6a373c4206_cgraph.png create mode 100644 docs/html/char_8c_abe0cdf5de54fe62bcf737d83ad2cb4f8_cgraph.md5 create mode 100644 docs/html/char_8c_abe0cdf5de54fe62bcf737d83ad2cb4f8_cgraph.png create mode 100644 docs/html/char_8c_aca6506a9db8ce783cac59d28def15b17_cgraph.md5 create mode 100644 docs/html/char_8c_aca6506a9db8ce783cac59d28def15b17_cgraph.png create mode 100644 docs/html/char_8c_addb2c2f7cdda91ae57f50b84a55af573_cgraph.md5 create mode 100644 docs/html/char_8c_addb2c2f7cdda91ae57f50b84a55af573_cgraph.png create mode 100644 docs/html/char_8c_addb2c2f7cdda91ae57f50b84a55af573_icgraph.md5 create mode 100644 docs/html/char_8c_addb2c2f7cdda91ae57f50b84a55af573_icgraph.png create mode 100644 docs/html/char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph.md5 create mode 100644 docs/html/char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph.png create mode 100644 docs/html/char_8h_a119f494ae625a456bb4e62b3a0f78391_cgraph.md5 create mode 100644 docs/html/char_8h_a119f494ae625a456bb4e62b3a0f78391_cgraph.png create mode 100644 docs/html/char_8h_a1463f455ab57b0671638e381a2a85d26_cgraph.md5 create mode 100644 docs/html/char_8h_a1463f455ab57b0671638e381a2a85d26_cgraph.png create mode 100644 docs/html/char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_cgraph.md5 create mode 100644 docs/html/char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_cgraph.png create mode 100644 docs/html/char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_icgraph.md5 create mode 100644 docs/html/char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_icgraph.png create mode 100644 docs/html/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph.md5 create mode 100644 docs/html/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph.png create mode 100644 docs/html/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph.md5 create mode 100644 docs/html/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph.png create mode 100644 docs/html/char_8h_a6d9242880df4717ee13d29c95a33c2f8_cgraph.md5 create mode 100644 docs/html/char_8h_a6d9242880df4717ee13d29c95a33c2f8_cgraph.png create mode 100644 docs/html/char_8h_a6d9242880df4717ee13d29c95a33c2f8_icgraph.md5 create mode 100644 docs/html/char_8h_a6d9242880df4717ee13d29c95a33c2f8_icgraph.png create mode 100644 docs/html/char_8h_a909932a31d20457ee7765543113c2493_cgraph.md5 create mode 100644 docs/html/char_8h_a909932a31d20457ee7765543113c2493_cgraph.png create mode 100644 docs/html/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph.md5 create mode 100644 docs/html/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph.png create mode 100644 docs/html/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph.md5 create mode 100644 docs/html/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph.png create mode 100644 docs/html/char_8h_ab2495c17d510f2bb9c5c577d2e8a4531_cgraph.md5 create mode 100644 docs/html/char_8h_ab2495c17d510f2bb9c5c577d2e8a4531_cgraph.png create mode 100644 docs/html/char_8h_abfc454a0d93d548ed94f109c77b1e68f_cgraph.md5 create mode 100644 docs/html/char_8h_abfc454a0d93d548ed94f109c77b1e68f_cgraph.png create mode 100644 docs/html/char_8h_ac124f08e43b0ae720d1548f482144407_cgraph.md5 create mode 100644 docs/html/char_8h_ac124f08e43b0ae720d1548f482144407_cgraph.png create mode 100644 docs/html/char_8h_ac124f08e43b0ae720d1548f482144407_icgraph.md5 create mode 100644 docs/html/char_8h_ac124f08e43b0ae720d1548f482144407_icgraph.png create mode 100644 docs/html/char_8h_acf28b292dd407661577ae4df5e40684b_cgraph.md5 create mode 100644 docs/html/char_8h_acf28b292dd407661577ae4df5e40684b_cgraph.png create mode 100644 docs/html/char_8h_af50ba493605648683d0b49fd1df62211_cgraph.md5 create mode 100644 docs/html/char_8h_af50ba493605648683d0b49fd1df62211_cgraph.png create mode 100644 docs/html/char_8h_afb06a1b874a501739f2358d019bde21d_cgraph.md5 create mode 100644 docs/html/char_8h_afb06a1b874a501739f2358d019bde21d_cgraph.png create mode 100644 docs/latex/char_8c_a02834d689c11586dfd63cfb5c5af6ec3_cgraph.md5 create mode 100644 docs/latex/char_8c_a02834d689c11586dfd63cfb5c5af6ec3_cgraph.pdf create mode 100644 docs/latex/char_8c_a02834d689c11586dfd63cfb5c5af6ec3_icgraph.md5 create mode 100644 docs/latex/char_8c_a02834d689c11586dfd63cfb5c5af6ec3_icgraph.pdf create mode 100644 docs/latex/char_8c_a1e1289b7cecd55f4fb932418d093e8ab_cgraph.md5 create mode 100644 docs/latex/char_8c_a1e1289b7cecd55f4fb932418d093e8ab_cgraph.pdf create mode 100644 docs/latex/char_8c_a24c097e7e8fc5fb63133cfb6a3f84587_cgraph.md5 create mode 100644 docs/latex/char_8c_a24c097e7e8fc5fb63133cfb6a3f84587_cgraph.pdf create mode 100644 docs/latex/char_8c_a349af3c98a6fb7cdeff001119743c1ca_cgraph.md5 create mode 100644 docs/latex/char_8c_a349af3c98a6fb7cdeff001119743c1ca_cgraph.pdf create mode 100644 docs/latex/char_8c_a61380babe759ddeea94ee96a230e0916_icgraph.md5 create mode 100644 docs/latex/char_8c_a61380babe759ddeea94ee96a230e0916_icgraph.pdf create mode 100644 docs/latex/char_8c_a643fe0b72862983c36a6b61ad57c1cfe_cgraph.md5 create mode 100644 docs/latex/char_8c_a643fe0b72862983c36a6b61ad57c1cfe_cgraph.pdf create mode 100644 docs/latex/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_cgraph.md5 create mode 100644 docs/latex/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_cgraph.pdf create mode 100644 docs/latex/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_icgraph.md5 create mode 100644 docs/latex/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_icgraph.pdf create mode 100644 docs/latex/char_8c_a800be38168fd75c1505b935a62d2f9ae_cgraph.md5 create mode 100644 docs/latex/char_8c_a800be38168fd75c1505b935a62d2f9ae_cgraph.pdf create mode 100644 docs/latex/char_8c_a800be38168fd75c1505b935a62d2f9ae_icgraph.md5 create mode 100644 docs/latex/char_8c_a800be38168fd75c1505b935a62d2f9ae_icgraph.pdf create mode 100644 docs/latex/char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_cgraph.md5 create mode 100644 docs/latex/char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_cgraph.pdf create mode 100644 docs/latex/char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_icgraph.md5 create mode 100644 docs/latex/char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_icgraph.pdf create mode 100644 docs/latex/char_8c_a988ae15b4f6c55c6b664caae27082ac1_cgraph.md5 create mode 100644 docs/latex/char_8c_a988ae15b4f6c55c6b664caae27082ac1_cgraph.pdf create mode 100644 docs/latex/char_8c_a9da93370b843c312fc7fae6a373c4206_cgraph.md5 create mode 100644 docs/latex/char_8c_a9da93370b843c312fc7fae6a373c4206_cgraph.pdf create mode 100644 docs/latex/char_8c_abe0cdf5de54fe62bcf737d83ad2cb4f8_cgraph.md5 create mode 100644 docs/latex/char_8c_abe0cdf5de54fe62bcf737d83ad2cb4f8_cgraph.pdf create mode 100644 docs/latex/char_8c_aca6506a9db8ce783cac59d28def15b17_cgraph.md5 create mode 100644 docs/latex/char_8c_aca6506a9db8ce783cac59d28def15b17_cgraph.pdf create mode 100644 docs/latex/char_8c_addb2c2f7cdda91ae57f50b84a55af573_cgraph.md5 create mode 100644 docs/latex/char_8c_addb2c2f7cdda91ae57f50b84a55af573_cgraph.pdf create mode 100644 docs/latex/char_8c_addb2c2f7cdda91ae57f50b84a55af573_icgraph.md5 create mode 100644 docs/latex/char_8c_addb2c2f7cdda91ae57f50b84a55af573_icgraph.pdf create mode 100644 docs/latex/char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph.md5 create mode 100644 docs/latex/char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph.pdf create mode 100644 docs/latex/char_8h_a119f494ae625a456bb4e62b3a0f78391_cgraph.md5 create mode 100644 docs/latex/char_8h_a119f494ae625a456bb4e62b3a0f78391_cgraph.pdf create mode 100644 docs/latex/char_8h_a1463f455ab57b0671638e381a2a85d26_cgraph.md5 create mode 100644 docs/latex/char_8h_a1463f455ab57b0671638e381a2a85d26_cgraph.pdf create mode 100644 docs/latex/char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_cgraph.md5 create mode 100644 docs/latex/char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_cgraph.pdf create mode 100644 docs/latex/char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_icgraph.md5 create mode 100644 docs/latex/char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_icgraph.pdf create mode 100644 docs/latex/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph.md5 create mode 100644 docs/latex/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph.pdf create mode 100644 docs/latex/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph.md5 create mode 100644 docs/latex/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph.pdf create mode 100644 docs/latex/char_8h_a6d9242880df4717ee13d29c95a33c2f8_cgraph.md5 create mode 100644 docs/latex/char_8h_a6d9242880df4717ee13d29c95a33c2f8_cgraph.pdf create mode 100644 docs/latex/char_8h_a6d9242880df4717ee13d29c95a33c2f8_icgraph.md5 create mode 100644 docs/latex/char_8h_a6d9242880df4717ee13d29c95a33c2f8_icgraph.pdf create mode 100644 docs/latex/char_8h_a909932a31d20457ee7765543113c2493_cgraph.md5 create mode 100644 docs/latex/char_8h_a909932a31d20457ee7765543113c2493_cgraph.pdf create mode 100644 docs/latex/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph.md5 create mode 100644 docs/latex/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph.pdf create mode 100644 docs/latex/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph.md5 create mode 100644 docs/latex/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph.pdf create mode 100644 docs/latex/char_8h_ab2495c17d510f2bb9c5c577d2e8a4531_cgraph.md5 create mode 100644 docs/latex/char_8h_ab2495c17d510f2bb9c5c577d2e8a4531_cgraph.pdf create mode 100644 docs/latex/char_8h_abfc454a0d93d548ed94f109c77b1e68f_cgraph.md5 create mode 100644 docs/latex/char_8h_abfc454a0d93d548ed94f109c77b1e68f_cgraph.pdf create mode 100644 docs/latex/char_8h_ac124f08e43b0ae720d1548f482144407_cgraph.md5 create mode 100644 docs/latex/char_8h_ac124f08e43b0ae720d1548f482144407_cgraph.pdf create mode 100644 docs/latex/char_8h_ac124f08e43b0ae720d1548f482144407_icgraph.md5 create mode 100644 docs/latex/char_8h_ac124f08e43b0ae720d1548f482144407_icgraph.pdf create mode 100644 docs/latex/char_8h_acf28b292dd407661577ae4df5e40684b_cgraph.md5 create mode 100644 docs/latex/char_8h_acf28b292dd407661577ae4df5e40684b_cgraph.pdf create mode 100644 docs/latex/char_8h_af50ba493605648683d0b49fd1df62211_cgraph.md5 create mode 100644 docs/latex/char_8h_af50ba493605648683d0b49fd1df62211_cgraph.pdf create mode 100644 docs/latex/char_8h_afb06a1b874a501739f2358d019bde21d_cgraph.md5 create mode 100644 docs/latex/char_8h_afb06a1b874a501739f2358d019bde21d_cgraph.pdf diff --git a/docs/html/char_8c.html b/docs/html/char_8c.html index 813aa75..5dad007 100644 --- a/docs/html/char_8c.html +++ b/docs/html/char_8c.html @@ -78,7 +78,7 @@
ds 0.3.0 0.4.0
A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
@@ -141,28 +141,82 @@
+
+Functions
char.c File Reference

Implementation of the char type, related constants and functions. More...

-
#include "ds/char.h"
+
#include <stdbool.h>
+#include <stdint.h>
+#include "ds/char.h"
Include dependency graph for char.c:
- - - - - - + + + + + + +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

bool ds_char_in_range (ds_char_t const self, ds_char_t const start, ds_char_t const end)
 Checks if self lies in the inclusive interval between start and end. More...
 
ds_char_t ds_char_to_ascii_uppercase (ds_char_t const self)
 Makes a copy of self in its ASCII upper case equivalent. More...
 
ds_char_t ds_char_to_ascii_lowercase (ds_char_t const self)
 Makes a copy of self in its ASCII lower case equivalent. More...
 
bool ds_char_eq_ignore_ascii_case (ds_char_t const self, ds_char_t const other)
 Checks that self and other are an ASCII case-insensitive match. More...
 
bool ds_char_is_ascii_alphabetic (ds_char_t const self)
 Checks if self is an ASCII alphabetic character: More...
 
bool ds_char_is_ascii_uppercase (ds_char_t const self)
 Checks if self is an ASCII uppercase character: U+0041 'A' ..= U+005A 'Z'. More...
 
bool ds_char_is_ascii_lowercase (ds_char_t const self)
 Checks if self is an ASCII lowercase character: U+0061 'a' ..= U+007A 'z'. More...
 
bool ds_char_is_ascii_alphanumeric (ds_char_t const self)
 Checks if self is an ASCII alphanumeric character: More...
 
bool ds_char_is_ascii_digit (ds_char_t const self)
 Checks if self is an ASCII decimal digit: U+0030 '0' ..= U+0039 '9'. More...
 
bool ds_char_is_ascii_octdigit (ds_char_t const self)
 Checks if self is an ASCII octal digit: U+0030 '0' ..= U+0037 '7'. More...
 
bool ds_char_is_ascii_hexdigit (ds_char_t const self)
 Checks if self is an ASCII hexadecimal digit: More...
 
bool ds_char_is_ascii_punctuation (ds_char_t const self)
 Checks if self is an ASCII punctuation character: More...
 
bool ds_char_is_ascii_graphic (ds_char_t const self)
 Checks if self is an ASCII graphic character: U+0021 '!' ..= U+007E '~'. More...
 
bool ds_char_is_ascii_whitespace (ds_char_t const self)
 Checks if self is an ASCII whitespace character: U+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED, U+000C FORM FEED, or U+000D CARRIAGE RETURN. More...
 
bool ds_char_is_ascii_control (ds_char_t const self)
 Checks if self is an ASCII control character: U+0000 NUL ..= U+001F UNIT SEPARATOR, or U+007F DELETE. Note that most ASCII whitespace characters are control characters, but SPACE is not. More...
 

Detailed Description

Implementation of the char type, related constants and functions.

Author
Avinash Maddikonda (svass.nosp@m.saka.nosp@m.vi@gm.nosp@m.ail..nosp@m.com)
@@ -170,7 +224,983 @@
Date
2023-07-26

Definition in file char.c.

-
+

Function Documentation

+ +

◆ ds_char_eq_ignore_ascii_case()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool ds_char_eq_ignore_ascii_case (ds_char_t self,
ds_char_t other 
)
+
+ +

Checks that self and other are an ASCII case-insensitive match.

+

Equivalent to:

+
+
ds_char_t ds_char_to_ascii_lowercase(ds_char_t self)
Makes a copy of self in its ASCII lower case equivalent.
Definition: char.c:44
+
Parameters
+ + + +
selfThe first value to compare.
otherThe second value to compare.
+
+
+
Returns
true if self and other are an ASCII case-insensitive match, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const upper_a = 'A';
+
ds_char_t const lower_a = 'a';
+
ds_char_t const lower_z = 'z';
+
+
assert (ds_char_eq_ignore_ascii_case (upper_a, lower_a));
+
assert (ds_char_eq_ignore_ascii_case (upper_a, upper_a));
+
assert (!ds_char_eq_ignore_ascii_case (upper_a, lower_z));
+
char ds_char_t
A character type.
Definition: char.h:30
+
bool ds_char_eq_ignore_ascii_case(ds_char_t self, ds_char_t other)
Checks that self and other are an ASCII case-insensitive match.
Definition: char.c:52
+
+

Definition at line 52 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ ds_char_in_range()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool ds_char_in_range (ds_char_t self,
ds_char_t start,
ds_char_t end 
)
+
+ +

Checks if self lies in the inclusive interval between start and end.

+
Parameters
+ + + + +
selfThe value to check.
startThe inclusive start of the interval.
endThe inclusive end of the interval.
+
+
+
Returns
true if self lies in the inclusive interval between start and end, false otherwise.
+

+Examples

+

Basic usage:

+
assert (ds_char_in_range ('a', 'a', 'z'));
+
assert (!ds_char_in_range ('A', 'a', 'z'));
+
bool ds_char_in_range(ds_char_t self, ds_char_t start, ds_char_t end)
Checks if self lies in the inclusive interval between start and end.
Definition: char.c:29
+
+

Definition at line 29 of file char.c.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ ds_char_is_ascii_alphabetic()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_alphabetic (ds_char_t self)
+
+ +

Checks if self is an ASCII alphabetic character:

+ +
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII alphabetic character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (ds_char_is_ascii_alphabetic (uppercase_a));
+
assert (ds_char_is_ascii_alphabetic (uppercase_g));
+ + +
assert (!ds_char_is_ascii_alphabetic (zero));
+
assert (!ds_char_is_ascii_alphabetic (percent));
+
assert (!ds_char_is_ascii_alphabetic (space));
+ + +
bool ds_char_is_ascii_alphabetic(ds_char_t self)
Checks if self is an ASCII alphabetic character:
Definition: char.c:59
+
+

Definition at line 59 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ds_char_is_ascii_alphanumeric()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_alphanumeric (ds_char_t self)
+
+ +

Checks if self is an ASCII alphanumeric character:

+ +
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII alphanumeric character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (ds_char_is_ascii_alphanumeric (uppercase_a));
+
assert (ds_char_is_ascii_alphanumeric (uppercase_g));
+ + + +
assert (!ds_char_is_ascii_alphanumeric (percent));
+ + + +
bool ds_char_is_ascii_alphanumeric(ds_char_t self)
Checks if self is an ASCII alphanumeric character:
Definition: char.c:78
+
+

Definition at line 78 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ ds_char_is_ascii_control()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_control (ds_char_t self)
+
+ +

Checks if self is an ASCII control character: U+0000 NUL ..= U+001F UNIT SEPARATOR, or U+007F DELETE. Note that most ASCII whitespace characters are control characters, but SPACE is not.

+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII control character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (!ds_char_is_ascii_control (uppercase_a));
+
assert (!ds_char_is_ascii_control (uppercase_g));
+ + +
assert (!ds_char_is_ascii_control (zero));
+
assert (!ds_char_is_ascii_control (percent));
+
assert (!ds_char_is_ascii_control (space));
+ +
assert (ds_char_is_ascii_control (esc));
+
bool ds_char_is_ascii_control(ds_char_t self)
Checks if self is an ASCII control character: U+0000 NUL ..= U+001F UNIT SEPARATOR,...
Definition: char.c:124
+
+

Definition at line 124 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ds_char_is_ascii_digit()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_digit (ds_char_t self)
+
+ +

Checks if self is an ASCII decimal digit: U+0030 '0' ..= U+0039 '9'.

+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII decimal digit, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (!ds_char_is_ascii_digit (uppercase_a));
+
assert (!ds_char_is_ascii_digit (uppercase_g));
+
assert (!ds_char_is_ascii_digit (a));
+
assert (!ds_char_is_ascii_digit (g));
+
assert (ds_char_is_ascii_digit (zero));
+
assert (!ds_char_is_ascii_digit (percent));
+
assert (!ds_char_is_ascii_digit (space));
+
assert (!ds_char_is_ascii_digit (lf));
+
assert (!ds_char_is_ascii_digit (esc));
+
bool ds_char_is_ascii_digit(ds_char_t self)
Checks if self is an ASCII decimal digit: U+0030 '0' ..= U+0039 '9'.
Definition: char.c:84
+
+

Definition at line 84 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ ds_char_is_ascii_graphic()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_graphic (ds_char_t self)
+
+ +

Checks if self is an ASCII graphic character: U+0021 '!' ..= U+007E '~'.

+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII graphic character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (ds_char_is_ascii_graphic (uppercase_a));
+
assert (ds_char_is_ascii_graphic (uppercase_g));
+ + +
assert (ds_char_is_ascii_graphic (zero));
+
assert (ds_char_is_ascii_graphic (percent));
+
assert (!ds_char_is_ascii_graphic (space));
+
assert (!ds_char_is_ascii_graphic (lf));
+
assert (!ds_char_is_ascii_graphic (esc));
+
bool ds_char_is_ascii_graphic(ds_char_t self)
Checks if self is an ASCII graphic character: U+0021 '!' ..= U+007E '~'.
Definition: char.c:111
+
+

Definition at line 111 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ds_char_is_ascii_hexdigit()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_hexdigit (ds_char_t self)
+
+ +

Checks if self is an ASCII hexadecimal digit:

+ +
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII hexadecimal digit, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (ds_char_is_ascii_hexdigit (uppercase_a));
+
assert (!ds_char_is_ascii_hexdigit (uppercase_g));
+ + +
assert (ds_char_is_ascii_hexdigit (zero));
+
assert (!ds_char_is_ascii_hexdigit (percent));
+
assert (!ds_char_is_ascii_hexdigit (space));
+ +
assert (!ds_char_is_ascii_hexdigit (esc));
+
bool ds_char_is_ascii_hexdigit(ds_char_t self)
Checks if self is an ASCII hexadecimal digit:
Definition: char.c:96
+
+

Definition at line 96 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ ds_char_is_ascii_lowercase()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_lowercase (ds_char_t self)
+
+ +

Checks if self is an ASCII lowercase character: U+0061 'a' ..= U+007A 'z'.

+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII lowercase character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (!ds_char_is_ascii_lowercase (uppercase_a));
+
assert (!ds_char_is_ascii_lowercase (uppercase_g));
+ + +
assert (!ds_char_is_ascii_lowercase (zero));
+
assert (!ds_char_is_ascii_lowercase (percent));
+
assert (!ds_char_is_ascii_lowercase (space));
+ + +
bool ds_char_is_ascii_lowercase(ds_char_t self)
Checks if self is an ASCII lowercase character: U+0061 'a' ..= U+007A 'z'.
Definition: char.c:72
+
+

Definition at line 72 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ ds_char_is_ascii_octdigit()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_octdigit (ds_char_t self)
+
+ +

Checks if self is an ASCII octal digit: U+0030 '0' ..= U+0037 '7'.

+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII octal digit, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const a = 'a';
+
ds_char_t const zero = '0';
+
ds_char_t const seven = '7';
+
ds_char_t const nine = '9';
+
ds_char_t const percent = '%';
+
ds_char_t const lf = '\n';
+
+
assert (!ds_char_is_ascii_octdigit (uppercase_a));
+ +
assert (ds_char_is_ascii_octdigit (zero));
+
assert (ds_char_is_ascii_octdigit (seven));
+
assert (!ds_char_is_ascii_octdigit (nine));
+
assert (!ds_char_is_ascii_octdigit (percent));
+ +
bool ds_char_is_ascii_octdigit(ds_char_t self)
Checks if self is an ASCII octal digit: U+0030 '0' ..= U+0037 '7'.
Definition: char.c:90
+
+

Definition at line 90 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ds_char_is_ascii_punctuation()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_punctuation (ds_char_t self)
+
+ +

Checks if self is an ASCII punctuation character:

+ +
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII punctuation character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (!ds_char_is_ascii_punctuation (uppercase_a));
+
assert (!ds_char_is_ascii_punctuation (uppercase_g));
+ + + +
assert (ds_char_is_ascii_punctuation (percent));
+
assert (!ds_char_is_ascii_punctuation (space));
+ + +
bool ds_char_is_ascii_punctuation(ds_char_t self)
Checks if self is an ASCII punctuation character:
Definition: char.c:103
+
+

Definition at line 103 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ds_char_is_ascii_uppercase()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_uppercase (ds_char_t self)
+
+ +

Checks if self is an ASCII uppercase character: U+0041 'A' ..= U+005A 'Z'.

+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII uppercase character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (ds_char_is_ascii_uppercase (uppercase_a));
+
assert (ds_char_is_ascii_uppercase (uppercase_g));
+ + +
assert (!ds_char_is_ascii_uppercase (zero));
+
assert (!ds_char_is_ascii_uppercase (percent));
+
assert (!ds_char_is_ascii_uppercase (space));
+ + +
bool ds_char_is_ascii_uppercase(ds_char_t self)
Checks if self is an ASCII uppercase character: U+0041 'A' ..= U+005A 'Z'.
Definition: char.c:66
+
+

Definition at line 66 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + + +
+ +
+
+ +

◆ ds_char_is_ascii_whitespace()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_whitespace (ds_char_t self)
+
+ +

Checks if self is an ASCII whitespace character: U+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED, U+000C FORM FEED, or U+000D CARRIAGE RETURN.

+

ds uses the WhatWG Infra Standard's definition of ASCII whitespace. There are several other definitions in wide use. For instance, the POSIX locale includes U+000B VERTICAL TAB as well as all the above characters, but—from the very same specification—the default rule for "field splitting" in the Bourne shell considers only SPACE, HORIZONTAL TAB, and LINE FEED as whitespace.

+

If you are writing a program that will process an existing file format, check what that format's definition of whitespace is before using this function.

+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII whitespace character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (!ds_char_is_ascii_whitespace (uppercase_a));
+
assert (!ds_char_is_ascii_whitespace (uppercase_g));
+ + +
assert (!ds_char_is_ascii_whitespace (zero));
+
assert (!ds_char_is_ascii_whitespace (percent));
+
assert (ds_char_is_ascii_whitespace (space));
+ + +
bool ds_char_is_ascii_whitespace(ds_char_t self)
Checks if self is an ASCII whitespace character: U+0020 SPACE, U+0009 HORIZONTAL TAB,...
Definition: char.c:117
+
+

Definition at line 117 of file char.c.

+ +
+
+ +

◆ ds_char_to_ascii_lowercase()

+ +
+
+ + + + + + + + +
ds_char_t ds_char_to_ascii_lowercase (ds_char_t self)
+
+ +

Makes a copy of self in its ASCII lower case equivalent.

+

ASCII letters 'A' to 'Z' are mapped to 'a' to 'z', but non-ASCII letters are unchanged.

+
Parameters
+ + +
selfThe value to convert.
+
+
+
Returns
The ASCII lower case equivalent of self.
+

+Examples

+

Basic usage:

+
ds_char_t const ascii = 'A';
+
ds_char_t const non_ascii = '❤';
+
+
assert ('a' == ds_char_to_ascii_lowercase (ascii));
+
assert ('❤' == ds_char_to_ascii_lowercase (non_ascii));
+
+

Definition at line 44 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ds_char_to_ascii_uppercase()

+ +
+
+ + + + + + + + +
ds_char_t ds_char_to_ascii_uppercase (ds_char_t self)
+
+ +

Makes a copy of self in its ASCII upper case equivalent.

+

ASCII letters 'a' to 'z' are mapped to 'A' to 'Z', but non-ASCII letters are unchanged.

+
Parameters
+ + +
selfThe value to convert.
+
+
+
Returns
The ASCII upper case equivalent of self.
+

+Examples

+

Basic usage:

+
ds_char_t const ascii = 'a';
+
ds_char_t const non_ascii = '❤';
+
+
assert ('A' == ds_char_to_ascii_uppercase (ascii));
+
assert ('❤' == ds_char_to_ascii_uppercase (non_ascii));
+
ds_char_t ds_char_to_ascii_uppercase(ds_char_t self)
Makes a copy of self in its ASCII upper case equivalent.
Definition: char.c:36
+
+

Definition at line 36 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+ +
+
+
A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
@@ -151,8 +151,144 @@
5//! @since 0.3.0
6//! @date 2023-07-26
7
-
8#include "ds/char.h"
+
8#include <stdbool.h>
+
9#include <stdint.h>
+
10
+
11#include "ds/char.h"
+
12
+
13/// @internal
+
14/// @brief If 6th bit is set, ASCII is lower case.
+
15static uint8_t const DS_ASCII_CASE_MASK = 0x20;
+
16
+
17/// @internal
+
18/// @brief Toggles the case of an ASCII alphabetic character. Converts lower
+
19/// case to upper case and vice versa.
+
20/// @param self The value to convert.
+
21/// @return The ASCII character in the toggled case.
+
22static ds_char_t
+
23ds_char_ascii_change_case_unchecked (ds_char_t const self)
+
24{
+
25 return (ds_char_t)((uint8_t)self ^ DS_ASCII_CASE_MASK);
+
26}
+
27
+
28bool
+
29ds_char_in_range (ds_char_t const self, ds_char_t const start,
+
30 ds_char_t const end)
+
31{
+
32 return self >= start && self <= end;
+
33}
+
34
+ + +
37{
+
38 return ds_char_is_ascii_lowercase (self)
+
39 ? ds_char_ascii_change_case_unchecked (self)
+
40 : self;
+
41}
+
42
+ + +
45{
+
46 return ds_char_is_ascii_uppercase (self)
+
47 ? ds_char_ascii_change_case_unchecked (self)
+
48 : self;
+
49}
+
50
+
51bool
+ +
53{
+
54 return ds_char_to_ascii_lowercase (self)
+ +
56}
+
57
+
58bool
+ +
60{
+
61 return ds_char_is_ascii_lowercase (self)
+ +
63}
+
64
+
65bool
+ +
67{
+
68 return ds_char_in_range (self, 'A', 'Z');
+
69}
+
70
+
71bool
+ +
73{
+
74 return ds_char_in_range (self, 'a', 'z');
+
75}
+
76
+
77bool
+ +
79{
+ +
81}
+
82
+
83bool
+ +
85{
+
86 return ds_char_in_range (self, '0', '9');
+
87}
+
88
+
89bool
+ +
91{
+
92 return ds_char_in_range (self, '0', '7');
+
93}
+
94
+
95bool
+ +
97{
+
98 return ds_char_is_ascii_digit (self) || ds_char_in_range (self, 'a', 'f')
+
99 || ds_char_in_range (self, 'A', 'F');
+
100}
+
101
+
102bool
+ +
104{
+
105 return ds_char_in_range (self, '!', '/') || ds_char_in_range (self, ':', '@')
+
106 || ds_char_in_range (self, '[', '`')
+
107 || ds_char_in_range (self, '{', '~');
+
108}
+
109
+
110bool
+ +
112{
+
113 return ds_char_in_range (self, '!', '~');
+
114}
+
115
+
116bool
+ +
118{
+
119 return self == '\t' || self == '\n' || self == '\x0C' || self == '\r'
+
120 || self == ' ';
+
121}
+
122
+
123bool
+ +
125{
+
126 return self == '\x7F' || ds_char_in_range (self, DS_CHAR_NUL, '\x1F');
+
127}
+
bool ds_char_is_ascii_alphabetic(ds_char_t const self)
Checks if self is an ASCII alphabetic character:
Definition: char.c:59
+
bool ds_char_is_ascii_hexdigit(ds_char_t const self)
Checks if self is an ASCII hexadecimal digit:
Definition: char.c:96
+
bool ds_char_is_ascii_control(ds_char_t const self)
Checks if self is an ASCII control character: U+0000 NUL ..= U+001F UNIT SEPARATOR,...
Definition: char.c:124
+
bool ds_char_is_ascii_alphanumeric(ds_char_t const self)
Checks if self is an ASCII alphanumeric character:
Definition: char.c:78
+
bool ds_char_is_ascii_whitespace(ds_char_t const self)
Checks if self is an ASCII whitespace character: U+0020 SPACE, U+0009 HORIZONTAL TAB,...
Definition: char.c:117
+
bool ds_char_in_range(ds_char_t const self, ds_char_t const start, ds_char_t const end)
Checks if self lies in the inclusive interval between start and end.
Definition: char.c:29
+
bool ds_char_eq_ignore_ascii_case(ds_char_t const self, ds_char_t const other)
Checks that self and other are an ASCII case-insensitive match.
Definition: char.c:52
+
bool ds_char_is_ascii_digit(ds_char_t const self)
Checks if self is an ASCII decimal digit: U+0030 '0' ..= U+0039 '9'.
Definition: char.c:84
+
bool ds_char_is_ascii_uppercase(ds_char_t const self)
Checks if self is an ASCII uppercase character: U+0041 'A' ..= U+005A 'Z'.
Definition: char.c:66
+
ds_char_t ds_char_to_ascii_lowercase(ds_char_t const self)
Makes a copy of self in its ASCII lower case equivalent.
Definition: char.c:44
+
ds_char_t ds_char_to_ascii_uppercase(ds_char_t const self)
Makes a copy of self in its ASCII upper case equivalent.
Definition: char.c:36
+
bool ds_char_is_ascii_octdigit(ds_char_t const self)
Checks if self is an ASCII octal digit: U+0030 '0' ..= U+0037 '7'.
Definition: char.c:90
+
bool ds_char_is_ascii_punctuation(ds_char_t const self)
Checks if self is an ASCII punctuation character:
Definition: char.c:103
+
bool ds_char_is_ascii_graphic(ds_char_t const self)
Checks if self is an ASCII graphic character: U+0021 '!' ..= U+007E '~'.
Definition: char.c:111
+
bool ds_char_is_ascii_lowercase(ds_char_t const self)
Checks if self is an ASCII lowercase character: U+0061 'a' ..= U+007A 'z'.
Definition: char.c:72
Declaration of the char type, related constants and functions.
+
char ds_char_t
A character type.
Definition: char.h:30
+
#define DS_CHAR_NUL
The null-terminator character.
Definition: char.h:565
diff --git a/docs/html/char_8h.html b/docs/html/char_8h.html index 3f0141c..62f7808 100644 --- a/docs/html/char_8h.html +++ b/docs/html/char_8h.html @@ -78,7 +78,7 @@
ds 0.3.0 0.4.0
A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
@@ -143,7 +143,8 @@
char.h File Reference
@@ -151,17 +152,19 @@

Declaration of the char type, related constants and functions. More...

#include <limits.h>
+#include <stdbool.h>
#include "ds/usize.h"
Include dependency graph for char.h:
- + - - - + + + +
@@ -202,6 +205,54 @@ typedef char ds_char_t  A character type. More...
  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

bool ds_char_in_range (ds_char_t self, ds_char_t start, ds_char_t end)
 Checks if self lies in the inclusive interval between start and end. More...
 
ds_char_t ds_char_to_ascii_uppercase (ds_char_t self)
 Makes a copy of self in its ASCII upper case equivalent. More...
 
ds_char_t ds_char_to_ascii_lowercase (ds_char_t self)
 Makes a copy of self in its ASCII lower case equivalent. More...
 
bool ds_char_eq_ignore_ascii_case (ds_char_t self, ds_char_t other)
 Checks that self and other are an ASCII case-insensitive match. More...
 
bool ds_char_is_ascii_alphabetic (ds_char_t self)
 Checks if self is an ASCII alphabetic character: More...
 
bool ds_char_is_ascii_uppercase (ds_char_t self)
 Checks if self is an ASCII uppercase character: U+0041 'A' ..= U+005A 'Z'. More...
 
bool ds_char_is_ascii_lowercase (ds_char_t self)
 Checks if self is an ASCII lowercase character: U+0061 'a' ..= U+007A 'z'. More...
 
bool ds_char_is_ascii_alphanumeric (ds_char_t self)
 Checks if self is an ASCII alphanumeric character: More...
 
bool ds_char_is_ascii_digit (ds_char_t self)
 Checks if self is an ASCII decimal digit: U+0030 '0' ..= U+0039 '9'. More...
 
bool ds_char_is_ascii_octdigit (ds_char_t self)
 Checks if self is an ASCII octal digit: U+0030 '0' ..= U+0037 '7'. More...
 
bool ds_char_is_ascii_hexdigit (ds_char_t self)
 Checks if self is an ASCII hexadecimal digit: More...
 
bool ds_char_is_ascii_punctuation (ds_char_t self)
 Checks if self is an ASCII punctuation character: More...
 
bool ds_char_is_ascii_graphic (ds_char_t self)
 Checks if self is an ASCII graphic character: U+0021 '!' ..= U+007E '~'. More...
 
bool ds_char_is_ascii_whitespace (ds_char_t self)
 Checks if self is an ASCII whitespace character: U+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED, U+000C FORM FEED, or U+000D CARRIAGE RETURN. More...
 
bool ds_char_is_ascii_control (ds_char_t self)
 Checks if self is an ASCII control character: U+0000 NUL ..= U+001F UNIT SEPARATOR, or U+007F DELETE. Note that most ASCII whitespace characters are control characters, but SPACE is not. More...
 

Detailed Description

Declaration of the char type, related constants and functions.

@@ -224,13 +275,13 @@

The size of char in bytes.

-

+

Examples

Basic usage:

assert (DS_CHAR_BYTES == 1);
-
#define DS_CHAR_BYTES
The size of char in bytes.
Definition: char.h:40
+
#define DS_CHAR_BYTES
The size of char in bytes.
Definition: char.h:532
-

Definition at line 40 of file char.h.

+

Definition at line 532 of file char.h.

@@ -247,13 +298,13 @@

The largest value that can be represented by char.

-

+

Examples

Basic usage:

assert (DS_CHAR_MAX == CHAR_MAX);
-
#define DS_CHAR_MAX
The largest value that can be represented by char.
Definition: char.h:62
+
#define DS_CHAR_MAX
The largest value that can be represented by char.
Definition: char.h:554
-

Definition at line 62 of file char.h.

+

Definition at line 554 of file char.h.

@@ -270,13 +321,13 @@

The smallest value that can be represented by char.

-

+

Examples

Basic usage:

assert (DS_CHAR_MIN == CHAR_MIN);
-
#define DS_CHAR_MIN
The smallest value that can be represented by char.
Definition: char.h:51
+
#define DS_CHAR_MIN
The smallest value that can be represented by char.
Definition: char.h:543
-

Definition at line 51 of file char.h.

+

Definition at line 543 of file char.h.

@@ -293,13 +344,13 @@

The null-terminator character.

-

+

Examples

Basic usage:

assert (DS_CHAR_NUL == '\0');
-
#define DS_CHAR_NUL
The null-terminator character.
Definition: char.h:73
+
#define DS_CHAR_NUL
The null-terminator character.
Definition: char.h:565
-

Definition at line 73 of file char.h.

+

Definition at line 565 of file char.h.

@@ -316,15 +367,15 @@

char notation. Can be used in printf to format and write char values.

-

+

Examples

Basic usage:

printf ("%" DS_PRI_CHAR, x);
-
char ds_char_t
A character type.
Definition: char.h:29
-
#define DS_PRI_CHAR
char notation. Can be used in printf to format and write char values.
Definition: char.h:103
+
char ds_char_t
A character type.
Definition: char.h:30
+
#define DS_PRI_CHAR
char notation. Can be used in printf to format and write char values.
Definition: char.h:595
-

Definition at line 103 of file char.h.

+

Definition at line 595 of file char.h.

@@ -342,14 +393,14 @@

char notation. Can be used in scanf to parse and read char values.

Warning
It is strongly advised to use fgets instead of scanf to read input.
-

+

Examples

Basic usage:

scanf ("%" DS_SCN_CHAR, &x);
-
#define DS_SCN_CHAR
char notation. Can be used in scanf to parse and read char values.
Definition: char.h:90
+
#define DS_SCN_CHAR
char notation. Can be used in scanf to parse and read char values.
Definition: char.h:582
-

Definition at line 90 of file char.h.

+

Definition at line 582 of file char.h.

@@ -370,7 +421,982 @@

char type represents a single character.

More specifically, since ‘character’ isn’t a well-defined concept in Unicode, char will be a ‘Unicode scalar value’ in the future, when UTF-8 validation is fully supported.

-

Definition at line 29 of file char.h.

+

Definition at line 30 of file char.h.

+ + + +

Function Documentation

+ +

◆ ds_char_eq_ignore_ascii_case()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool ds_char_eq_ignore_ascii_case (ds_char_t self,
ds_char_t other 
)
+
+ +

Checks that self and other are an ASCII case-insensitive match.

+

Equivalent to:

+
+
ds_char_t ds_char_to_ascii_lowercase(ds_char_t self)
Makes a copy of self in its ASCII lower case equivalent.
Definition: char.c:44
+
Parameters
+ + + +
selfThe first value to compare.
otherThe second value to compare.
+
+
+
Returns
true if self and other are an ASCII case-insensitive match, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const upper_a = 'A';
+
ds_char_t const lower_a = 'a';
+
ds_char_t const lower_z = 'z';
+
+
assert (ds_char_eq_ignore_ascii_case (upper_a, lower_a));
+
assert (ds_char_eq_ignore_ascii_case (upper_a, upper_a));
+
assert (!ds_char_eq_ignore_ascii_case (upper_a, lower_z));
+
bool ds_char_eq_ignore_ascii_case(ds_char_t self, ds_char_t other)
Checks that self and other are an ASCII case-insensitive match.
Definition: char.c:52
+
+

Definition at line 52 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ ds_char_in_range()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool ds_char_in_range (ds_char_t self,
ds_char_t start,
ds_char_t end 
)
+
+ +

Checks if self lies in the inclusive interval between start and end.

+
Parameters
+ + + + +
selfThe value to check.
startThe inclusive start of the interval.
endThe inclusive end of the interval.
+
+
+
Returns
true if self lies in the inclusive interval between start and end, false otherwise.
+

+Examples

+

Basic usage:

+
assert (ds_char_in_range ('a', 'a', 'z'));
+
assert (!ds_char_in_range ('A', 'a', 'z'));
+
bool ds_char_in_range(ds_char_t self, ds_char_t start, ds_char_t end)
Checks if self lies in the inclusive interval between start and end.
Definition: char.c:29
+
+

Definition at line 29 of file char.c.

+
+Here is the caller graph for this function:
+
+
+ + + + + + + + + + + + + + + + +
+ +
+
+ +

◆ ds_char_is_ascii_alphabetic()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_alphabetic (ds_char_t self)
+
+ +

Checks if self is an ASCII alphabetic character:

+
    +
  • U+0041 'A' ..= U+005A 'Z', or
  • +
  • U+0061 'a' ..= U+007A 'z'.
  • +
+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII alphabetic character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (ds_char_is_ascii_alphabetic (uppercase_a));
+
assert (ds_char_is_ascii_alphabetic (uppercase_g));
+ + +
assert (!ds_char_is_ascii_alphabetic (zero));
+
assert (!ds_char_is_ascii_alphabetic (percent));
+
assert (!ds_char_is_ascii_alphabetic (space));
+ + +
bool ds_char_is_ascii_alphabetic(ds_char_t self)
Checks if self is an ASCII alphabetic character:
Definition: char.c:59
+
+

Definition at line 59 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ds_char_is_ascii_alphanumeric()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_alphanumeric (ds_char_t self)
+
+ +

Checks if self is an ASCII alphanumeric character:

+
    +
  • U+0041 'A' ..= U+005A 'Z', or
  • +
  • U+0061 'a' ..= U+007A 'z', or
  • +
  • U+0030 '0' ..= U+0039 '9'.
  • +
+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII alphanumeric character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (ds_char_is_ascii_alphanumeric (uppercase_a));
+
assert (ds_char_is_ascii_alphanumeric (uppercase_g));
+ + + +
assert (!ds_char_is_ascii_alphanumeric (percent));
+ + + +
bool ds_char_is_ascii_alphanumeric(ds_char_t self)
Checks if self is an ASCII alphanumeric character:
Definition: char.c:78
+
+

Definition at line 78 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + + + + + +
+ +
+
+ +

◆ ds_char_is_ascii_control()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_control (ds_char_t self)
+
+ +

Checks if self is an ASCII control character: U+0000 NUL ..= U+001F UNIT SEPARATOR, or U+007F DELETE. Note that most ASCII whitespace characters are control characters, but SPACE is not.

+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII control character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (!ds_char_is_ascii_control (uppercase_a));
+
assert (!ds_char_is_ascii_control (uppercase_g));
+ + +
assert (!ds_char_is_ascii_control (zero));
+
assert (!ds_char_is_ascii_control (percent));
+
assert (!ds_char_is_ascii_control (space));
+ +
assert (ds_char_is_ascii_control (esc));
+
bool ds_char_is_ascii_control(ds_char_t self)
Checks if self is an ASCII control character: U+0000 NUL ..= U+001F UNIT SEPARATOR,...
Definition: char.c:124
+
+

Definition at line 124 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ds_char_is_ascii_digit()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_digit (ds_char_t self)
+
+ +

Checks if self is an ASCII decimal digit: U+0030 '0' ..= U+0039 '9'.

+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII decimal digit, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (!ds_char_is_ascii_digit (uppercase_a));
+
assert (!ds_char_is_ascii_digit (uppercase_g));
+
assert (!ds_char_is_ascii_digit (a));
+
assert (!ds_char_is_ascii_digit (g));
+
assert (ds_char_is_ascii_digit (zero));
+
assert (!ds_char_is_ascii_digit (percent));
+
assert (!ds_char_is_ascii_digit (space));
+
assert (!ds_char_is_ascii_digit (lf));
+
assert (!ds_char_is_ascii_digit (esc));
+
bool ds_char_is_ascii_digit(ds_char_t self)
Checks if self is an ASCII decimal digit: U+0030 '0' ..= U+0039 '9'.
Definition: char.c:84
+
+

Definition at line 84 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ ds_char_is_ascii_graphic()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_graphic (ds_char_t self)
+
+ +

Checks if self is an ASCII graphic character: U+0021 '!' ..= U+007E '~'.

+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII graphic character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (ds_char_is_ascii_graphic (uppercase_a));
+
assert (ds_char_is_ascii_graphic (uppercase_g));
+ + +
assert (ds_char_is_ascii_graphic (zero));
+
assert (ds_char_is_ascii_graphic (percent));
+
assert (!ds_char_is_ascii_graphic (space));
+
assert (!ds_char_is_ascii_graphic (lf));
+
assert (!ds_char_is_ascii_graphic (esc));
+
bool ds_char_is_ascii_graphic(ds_char_t self)
Checks if self is an ASCII graphic character: U+0021 '!' ..= U+007E '~'.
Definition: char.c:111
+
+

Definition at line 111 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ds_char_is_ascii_hexdigit()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_hexdigit (ds_char_t self)
+
+ +

Checks if self is an ASCII hexadecimal digit:

+
    +
  • U+0030 '0' ..= U+0039 '9', or
  • +
  • U+0041 'A' ..= U+0046 'F', or
  • +
  • U+0061 'a' ..= U+0066 'f'.
  • +
+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII hexadecimal digit, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (ds_char_is_ascii_hexdigit (uppercase_a));
+
assert (!ds_char_is_ascii_hexdigit (uppercase_g));
+ + +
assert (ds_char_is_ascii_hexdigit (zero));
+
assert (!ds_char_is_ascii_hexdigit (percent));
+
assert (!ds_char_is_ascii_hexdigit (space));
+ +
assert (!ds_char_is_ascii_hexdigit (esc));
+
bool ds_char_is_ascii_hexdigit(ds_char_t self)
Checks if self is an ASCII hexadecimal digit:
Definition: char.c:96
+
+

Definition at line 96 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+ +
+
+ +

◆ ds_char_is_ascii_lowercase()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_lowercase (ds_char_t self)
+
+ +

Checks if self is an ASCII lowercase character: U+0061 'a' ..= U+007A 'z'.

+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII lowercase character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (!ds_char_is_ascii_lowercase (uppercase_a));
+
assert (!ds_char_is_ascii_lowercase (uppercase_g));
+ + +
assert (!ds_char_is_ascii_lowercase (zero));
+
assert (!ds_char_is_ascii_lowercase (percent));
+
assert (!ds_char_is_ascii_lowercase (space));
+ + +
bool ds_char_is_ascii_lowercase(ds_char_t self)
Checks if self is an ASCII lowercase character: U+0061 'a' ..= U+007A 'z'.
Definition: char.c:72
+
+

Definition at line 72 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + +
+ +
+
+ +

◆ ds_char_is_ascii_octdigit()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_octdigit (ds_char_t self)
+
+ +

Checks if self is an ASCII octal digit: U+0030 '0' ..= U+0037 '7'.

+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII octal digit, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const a = 'a';
+
ds_char_t const zero = '0';
+
ds_char_t const seven = '7';
+
ds_char_t const nine = '9';
+
ds_char_t const percent = '%';
+
ds_char_t const lf = '\n';
+
+
assert (!ds_char_is_ascii_octdigit (uppercase_a));
+ +
assert (ds_char_is_ascii_octdigit (zero));
+
assert (ds_char_is_ascii_octdigit (seven));
+
assert (!ds_char_is_ascii_octdigit (nine));
+
assert (!ds_char_is_ascii_octdigit (percent));
+ +
bool ds_char_is_ascii_octdigit(ds_char_t self)
Checks if self is an ASCII octal digit: U+0030 '0' ..= U+0037 '7'.
Definition: char.c:90
+
+

Definition at line 90 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ds_char_is_ascii_punctuation()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_punctuation (ds_char_t self)
+
+ +

Checks if self is an ASCII punctuation character:

+
    +
  • U+0021 ..= U+002F ! " # $ % & ' ( ) * + , - . /, or
  • +
  • U+003A ..= U+0040 : ; < = > ? @, or
  • +
  • U+005B ..= U+0060 [ \ ] ^ _ `, or
  • +
  • U+007B ..= U+007E { | } ~
  • +
+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII punctuation character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (!ds_char_is_ascii_punctuation (uppercase_a));
+
assert (!ds_char_is_ascii_punctuation (uppercase_g));
+ + + +
assert (ds_char_is_ascii_punctuation (percent));
+
assert (!ds_char_is_ascii_punctuation (space));
+ + +
bool ds_char_is_ascii_punctuation(ds_char_t self)
Checks if self is an ASCII punctuation character:
Definition: char.c:103
+
+

Definition at line 103 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ds_char_is_ascii_uppercase()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_uppercase (ds_char_t self)
+
+ +

Checks if self is an ASCII uppercase character: U+0041 'A' ..= U+005A 'Z'.

+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII uppercase character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (ds_char_is_ascii_uppercase (uppercase_a));
+
assert (ds_char_is_ascii_uppercase (uppercase_g));
+ + +
assert (!ds_char_is_ascii_uppercase (zero));
+
assert (!ds_char_is_ascii_uppercase (percent));
+
assert (!ds_char_is_ascii_uppercase (space));
+ + +
bool ds_char_is_ascii_uppercase(ds_char_t self)
Checks if self is an ASCII uppercase character: U+0041 'A' ..= U+005A 'Z'.
Definition: char.c:66
+
+

Definition at line 66 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + + + + +
+ +
+
+ +

◆ ds_char_is_ascii_whitespace()

+ +
+
+ + + + + + + + +
bool ds_char_is_ascii_whitespace (ds_char_t self)
+
+ +

Checks if self is an ASCII whitespace character: U+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED, U+000C FORM FEED, or U+000D CARRIAGE RETURN.

+

ds uses the WhatWG Infra Standard's definition of ASCII whitespace. There are several other definitions in wide use. For instance, the POSIX locale includes U+000B VERTICAL TAB as well as all the above characters, but—from the very same specification—the default rule for "field splitting" in the Bourne shell considers only SPACE, HORIZONTAL TAB, and LINE FEED as whitespace.

+

If you are writing a program that will process an existing file format, check what that format's definition of whitespace is before using this function.

+
Parameters
+ + +
selfThe value to check.
+
+
+
Returns
true if self is an ASCII whitespace character, false otherwise.
+

+Examples

+

Basic usage:

+
ds_char_t const uppercase_a = 'A';
+
ds_char_t const uppercase_g = 'G';
+
ds_char_t const a = 'a';
+
ds_char_t const g = 'g';
+
ds_char_t const zero = '0';
+
ds_char_t const percent = '%';
+
ds_char_t const space = ' ';
+
ds_char_t const lf = '\n';
+
ds_char_t const esc = '\x1b';
+
+
assert (!ds_char_is_ascii_whitespace (uppercase_a));
+
assert (!ds_char_is_ascii_whitespace (uppercase_g));
+ + +
assert (!ds_char_is_ascii_whitespace (zero));
+
assert (!ds_char_is_ascii_whitespace (percent));
+
assert (ds_char_is_ascii_whitespace (space));
+ + +
bool ds_char_is_ascii_whitespace(ds_char_t self)
Checks if self is an ASCII whitespace character: U+0020 SPACE, U+0009 HORIZONTAL TAB,...
Definition: char.c:117
+
+

Definition at line 117 of file char.c.

+ +
+
+ +

◆ ds_char_to_ascii_lowercase()

+ +
+
+ + + + + + + + +
ds_char_t ds_char_to_ascii_lowercase (ds_char_t self)
+
+ +

Makes a copy of self in its ASCII lower case equivalent.

+

ASCII letters 'A' to 'Z' are mapped to 'a' to 'z', but non-ASCII letters are unchanged.

+
Parameters
+ + +
selfThe value to convert.
+
+
+
Returns
The ASCII lower case equivalent of self.
+

+Examples

+

Basic usage:

+
ds_char_t const ascii = 'A';
+
ds_char_t const non_ascii = '❤';
+
+
assert ('a' == ds_char_to_ascii_lowercase (ascii));
+
assert ('❤' == ds_char_to_ascii_lowercase (non_ascii));
+
+

Definition at line 44 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + + +
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ds_char_to_ascii_uppercase()

+ +
+
+ + + + + + + + +
ds_char_t ds_char_to_ascii_uppercase (ds_char_t self)
+
+ +

Makes a copy of self in its ASCII upper case equivalent.

+

ASCII letters 'a' to 'z' are mapped to 'A' to 'Z', but non-ASCII letters are unchanged.

+
Parameters
+ + +
selfThe value to convert.
+
+
+
Returns
The ASCII upper case equivalent of self.
+

+Examples

+

Basic usage:

+
ds_char_t const ascii = 'a';
+
ds_char_t const non_ascii = '❤';
+
+
assert ('A' == ds_char_to_ascii_uppercase (ascii));
+
assert ('❤' == ds_char_to_ascii_uppercase (non_ascii));
+
ds_char_t ds_char_to_ascii_uppercase(ds_char_t self)
Makes a copy of self in its ASCII upper case equivalent.
Definition: char.c:36
+
+

Definition at line 36 of file char.c.

+
+Here is the call graph for this function:
+
+
+ + + + + +
diff --git a/docs/html/char_8h.js b/docs/html/char_8h.js index 2277927..4325d9a 100644 --- a/docs/html/char_8h.js +++ b/docs/html/char_8h.js @@ -6,5 +6,20 @@ var char_8h = [ "DS_CHAR_NUL", "char_8h.html#aff8ca144f3aed3f78bedd4310eefbbbc", null ], [ "DS_PRI_CHAR", "char_8h.html#ae7a05ab6f23500c4eb3f066e5b381bd4", null ], [ "DS_SCN_CHAR", "char_8h.html#ae2ad7e7322720db2607b90a7f0011fa7", null ], - [ "ds_char_t", "char_8h.html#a2c809211274ede9eddff5a750bdeb5ae", null ] + [ "ds_char_t", "char_8h.html#a2c809211274ede9eddff5a750bdeb5ae", null ], + [ "ds_char_eq_ignore_ascii_case", "char_8h.html#a909932a31d20457ee7765543113c2493", null ], + [ "ds_char_in_range", "char_8h.html#a0d17ad586e00766b4684bdac9924ed0e", null ], + [ "ds_char_is_ascii_alphabetic", "char_8h.html#ac124f08e43b0ae720d1548f482144407", null ], + [ "ds_char_is_ascii_alphanumeric", "char_8h.html#ab2495c17d510f2bb9c5c577d2e8a4531", null ], + [ "ds_char_is_ascii_control", "char_8h.html#a1463f455ab57b0671638e381a2a85d26", null ], + [ "ds_char_is_ascii_digit", "char_8h.html#a56c6c6cbf8bb5eb5e06e29961cfd0cf1", null ], + [ "ds_char_is_ascii_graphic", "char_8h.html#af50ba493605648683d0b49fd1df62211", null ], + [ "ds_char_is_ascii_hexdigit", "char_8h.html#a119f494ae625a456bb4e62b3a0f78391", null ], + [ "ds_char_is_ascii_lowercase", "char_8h.html#aa0bffbb96f997d839b69ca28f8e0e43e", null ], + [ "ds_char_is_ascii_octdigit", "char_8h.html#afb06a1b874a501739f2358d019bde21d", null ], + [ "ds_char_is_ascii_punctuation", "char_8h.html#abfc454a0d93d548ed94f109c77b1e68f", null ], + [ "ds_char_is_ascii_uppercase", "char_8h.html#a682fb8a7ff2098b9de6feab90fe28bf2", null ], + [ "ds_char_is_ascii_whitespace", "char_8h.html#af92b320584b2581e725f2d6ae4d3f18a", null ], + [ "ds_char_to_ascii_lowercase", "char_8h.html#a6d9242880df4717ee13d29c95a33c2f8", null ], + [ "ds_char_to_ascii_uppercase", "char_8h.html#acf28b292dd407661577ae4df5e40684b", null ] ]; \ No newline at end of file diff --git a/docs/html/char_8h__incl.md5 b/docs/html/char_8h__incl.md5 index 950de6c..a2a606c 100644 --- a/docs/html/char_8h__incl.md5 +++ b/docs/html/char_8h__incl.md5 @@ -1 +1 @@ -b2fe8f4b676537ca7b8c13246629bdac \ No newline at end of file +a35e2245e6786c09b98305501dd6619b \ No newline at end of file diff --git a/docs/html/char_8h__incl.png b/docs/html/char_8h__incl.png index 9168d479d052c10ea12232741f4665ed3357ed90..9396d25c359993068b807ca9e1167e71e3d44b04 100644 GIT binary patch literal 11720 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 B@CX0^ diff --git a/docs/html/char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph.md5 b/docs/html/char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph.md5 new file mode 100644 index 0000000..647fb9e --- /dev/null +++ b/docs/html/char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph.md5 @@ -0,0 +1 @@ +941213d26519f47259acd5f4666540f8 \ No newline at end of file diff --git a/docs/html/char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph.png b/docs/html/char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..7a6f03028193a3dd64f75facfb11bf9ab8273780 GIT binary patch literal 49940 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 literal 0 HcmV?d00001 diff --git a/docs/html/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph.md5 b/docs/html/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph.md5 new file mode 100644 index 0000000..1e1511a --- /dev/null +++ b/docs/html/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph.md5 @@ -0,0 +1 @@ +e7178e231f3459f41a5021fb20de27ee \ No newline at end of file diff --git a/docs/html/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph.png b/docs/html/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..bfa1fb47650ad245a7262b7624b6dbff23ebf26c GIT binary patch literal 3232 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 literal 0 HcmV?d00001 diff --git a/docs/html/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph.md5 b/docs/html/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph.md5 new file mode 100644 index 0000000..77f8feb --- /dev/null +++ b/docs/html/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph.md5 @@ -0,0 +1 @@ +9532b926d72f144e14e2eac1907c13da \ No newline at end of file diff --git a/docs/html/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph.png b/docs/html/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..6d6369064de18a21463348b7c60f459f14196439 GIT binary patch literal 11775 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 literal 0 HcmV?d00001 diff --git a/docs/html/char_8h_a6d9242880df4717ee13d29c95a33c2f8_icgraph.md5 b/docs/html/char_8h_a6d9242880df4717ee13d29c95a33c2f8_icgraph.md5 new file mode 100644 index 0000000..361c233 --- /dev/null +++ b/docs/html/char_8h_a6d9242880df4717ee13d29c95a33c2f8_icgraph.md5 @@ -0,0 +1 @@ +a5d7bb80303fee80f2c4bb14702c7e2b \ No newline at end of file diff --git a/docs/html/char_8h_a6d9242880df4717ee13d29c95a33c2f8_icgraph.png b/docs/html/char_8h_a6d9242880df4717ee13d29c95a33c2f8_icgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..c7312e4fcffb7758b05d102a9bdcef072575564f GIT binary patch literal 3763 zcmZ9Pc|25a`^S&vu_Q~jO17_jEh9qKm~2DBWSdaduQfYa##oXHS!yhUWQ6SdHb}NM z8M0>Ik}XRp24jSI?w;50kLUT_^Lov4pEKuN_jRu8{rTK+CO5CMp5i+NK@jT=eS{eV z(X@f@e>2g7_uFi_ao~f&(eOF~qW*d1wiTyB5Zm1w2rX0yelt7Fgv*WGmE$L+9Q5QK zbFMbimpiA?gBU|eGIUB;XQ?RowBtH%>>-CILg&_{T*9!$^=$tb6#c^|2GP)EShegu zbNc&EuCL>tGLLKWuqrT7j%z!*FIP{#Wq_If4v*0Y7TU*?;IVz(_3SOoH^owEnCNMv z9P|u_X@xnMmIUbbkzm45Ti`yTrb}Q5-k%cVC*6rGoT4 z^}&iN!dA(93WvvEnmev;m*ikFFfb@Vt*4YfY#mUKI3(28nhwKGgqGCF+uK6~4q^*U z&OoF$;yNX_$;}SJXh_J&d~J_tDZ16lmen^#peMFO?Ud4v|IfW2L~zkYX^#9~VA#%m zB*P>Bql0bTtL|Q2qRILRfjdou!^2KqUKQ>G&j06}`PMJ3r5i zWWi|E*3~U+hs0l?T7guwY7hwOH;p^C)TO&-W6EH3Wi!k`fye6UV9Ofal|5V{cx+KF7zG(!I34 z?m-E;d9%MKO$upbBrh+Yl$xiYYva-_A(WR!Opem(z$>h(~e&yxm0s;b06BC0s zr?I&~#oEH5j=XJ=q*$Houf3j2WyQC`6oV>2`8Z_xOV9Q@kJ`!p$O&bUCDXIrx^qiFJ6v>OL4jYh4fMe3(*E9_Gz>-yC1SC^DU`qR zgy5mOVEHjIF=Aq3B4X9I=o)G!NM`#T(8yL691aI@#j*+T@$tncCL-({6crU$`m@U` zD+T!ZZQ8>zuC7I}fIO3PXU_O95zo|G^*YPDD@^U~DnPj%9rmJ}dwYBS%`=IKr=v7~ z{hI%P$MXwf$>52JrFJ{Wams zAWDcntFRn%lEI4TK+Q(4Gbo{f+HiT zi(S|z@9E%!U;iZQ?~Yp9M@L7qva?IA_eaY!sYk`6XtufAF{fXju0`e__VZCP$#>ADcz}-kr-gfa&v`Q zSXgSUHWn7-m6T$R#y)-0Ylo|;Wo2cR=Rc}C+FAarrKL69=&f^P|0Zzldta7zo~*Di zG-Omf44U^lvc9H9RzhNxG@!u<$!7M}yA6menw2W3sab>89~cG22*Boq~ifl9!r z1dUhO^0TcR?)`9v4w`-Q^99uWaHx=e_6)|y$wW_CpY+WAq>VI4yWgP6 z;|k#7`uqEPd%e890k|(kYp<=ZYb%O#FcEu?6q5qN&3dH#Po^+mBVwxNqcT7<|*8VFYXF({B=-}XXIPA)Le z=KdxhXwds?mPJKHSV4Ho&v=B0l#~=dTNC={*T;_^Z*6V;7_TlaEG&Ja%8czI@9s)q zrE)YV6bcfFoC_!Qy$Sm9sjCaX0VPlxf2-UgC^)zW&B(yO&(CjyMLdmufrA};?yVsLP(Psq$C%$b`8eQrYtA-S88{7LGPZ@wrmmy%}%ma;jF>|<^|JTig`2nevUva+|& zd1Z|HXM*%%TtjcKLXP=j4?A!VGhy?`&&!3+YN!AzT1c=fVF?DucV%Ip5ZBl1sj6FIE z7fYQS9nyKu5R=_Z`02b_PKavMHlOhyxQXY+k}P& zS2vfbDHY$JL1)g$WGSniKUd-v&;ynX>?K|eEdw;iNbKT|=K1+~TU*-}^iRPTh?1uu$+})iq;MYAmMP_BFQBOay}*RYgVGy?JEm7{Nm@_;=;d< zhf!HGPBVO%nmPo2X#zP`aXU392YX3eXT+tuUy3tMRaLdJFq%$tzdEuq-)vSA$NK4$ zQ0{tjz)FAC7#&8#p?(rjAYQ1ZbU&QyA_%Pn9a3vm(W#Nq96|*@*Vfj6rj3uAmyTFB z`Akks9PLm0a>h9i7aVU@n}cW1WwdGMyaRD@8AV y8IaC$rt@8k;-4*>^tZ$RxmJy@_J7@Iy94dy8Go$vDgx|6p&Pn45mnj_5C08dv5dtJm=i!zOU!La{C@`B2R@@lTSAo@xha8{=Dp=DXrZLvRf{ZzCT7n$LVL{6u`n*Z5u?R#Uq(2r(D48LFMJlA)ayUn8CY7VhqV9v z6HI5cedX`LSQy-aw9hY;wYB47WA8FEh1(~ruiGfg9pMP{-fHBw9{M~pW2Bsa6x7_@ z+}Zh9Ip5nu9^=ZDzIZ;lLFV(u$w~b|LMeLm)^DPLqL+OmA|s8TKIK}^qn+lqwY3eS z79lJTYdR|_hB-<>Fnudmkx_Vq(T!0SN{2DDIW8389>v>`?K|w(? zGczkIt8`NCz!@rZ$tmAw&z|`!5||Jx>F7Mp=$9;bMoVwbK*-&A;|&oB9P5BcaQZaO zO0qqrefaPpH8pj*2G`$jI`q-}XEyF$`hO>Y+-5r_Ha7Od2W}Zg7_&~j$1!cvwX07U z2BxMA2ALlag&q|N1x3h;iG4fxGk#?yGcWJ4s;ZOB-h02LzLc)c&gTtcS+Gw+!uZJK zAt$Hv>Y(*-A?{CE50BcEl5qc^o1=>f-ih*>gqxU{XzA+WO@(DVC(Ozz?h<-`IuzK&bE$nsr&`!(t?k)>6GoftrES|_?tZPq38yft+yRuo` zYI-Ok;TsSTkfVML8?aDMwJ}vN{k7m*vq?haKz&ryT2hjJy2c(R7boXkCMJS%?Dp{O zrIb2MOc%`pp|lL58^lqLf5v!7gV?N;@v$_hAK1JP6SX({I@!y<-5e13_3L4}1_nX% z60z5Ck>TO?c1d|TE*_rO?qZSlN7ZbFs;a8d@$q+leqSmoa5x)WHmAZw&n?W&m)6$0 zL>%KIB4+33=a-jVR|lCg@367;G&MD~w)#KL(oh4cQH#7HCMSM`L&Jsd6}<4))m1A)L&N*`YrM|Z3{MX?mnzgICnmbJIqP1Z9^|R#udlDa z+?cp=^QOo4+@ssC?Cc85%E}@m2UZ5MBk1iXs~47*mS$$~@$tPSZ>AEd6EfE_?XKxg z+0DOS>b-QT>n*~2@In$Tp~p;9bJ%|LxrU}oe!}?o^>tk@)b=dTO%hVl)#YUwSy{Nr zit_SXA-ojwj~+eJ&=?vUi|;VO=Hy^wc1jleP64+!TjaF|DBB4a8yP=N)u( zbfAo?s%o$MJ8XMaPucC&qWpXb4R=9~2Um+Y;R};BF6amaC8eW)p1AlWBsD7wGpvn1 zt;n$9fz#p>__DFFakGh-ed<{5(dm~ZcYy~S_C>?oSzY6W3JSVjp<}= zH@(ACV^-JE(UFkINKHkMACr^vSt@NIl#Fa_BJKw^^Dj5Hx3?4S+3M7~mgMF#f__%>x*96E|ALaT7ET}qUa(50~SiuV+5b-b?-OYSN-XAZK2U#Q!!hNipkvx{EAXi zQkt5FLj}4r#&&iaUn~bQGc))0_By+|Fk^>@hsVdqySlpa^YfiV`&M=qx`?qKNlCS~ zv}9#xUqO`A)b`E}r{x|${?K94D<692&YiN-Qdqh0hrL1m{+FMxz;^A6l@Bno;Nakd z1j;!g61x4)fOK7M|~3cIARFg(P&!-UR|5B(2#jwvZSR%`jg5_Z)2@#nKa!f8n`b72MhSWxIapd+Iysfq)_Uma-4u12Z@NK3@~gj}fSP(^ zcD8?f90$qC&$qU*`CL%Y)7_ofZ*lGN?~Tct7eZ%^Z*lCW>p`LLu&~60CmOsi_Sc5X z%gc>hgJ<^*RaDZ8ioA|@OlfFRVmJ(8?g29Q?%gXiZ19|Id|OaZkdvomoW{_i*r1e( zT~<+XvFUXI7t6^BkBVYtVL?ZtqN7(OjH0 zwy>L$$wV*cL*OQnk_h$?ZX;4v7^+vCclo-Q_HH!>LJ`??AU(O<`8P7jMI;=NEw4tiX zZEdIk)|A7rUecD8l{GjdL|##`sHkZ8=TDuIXD!}SV!!-F_&m?0iQ89Vdd#L9E&`>x zhKIupO6ZvGpK7=qN(WP)oSY;kChqO;Q&Lb|rxJRxGcSvXX==vA#E>N^K$XCaeym^f zl1F0SIF=Dj8M-p_J~Qq( zP}cTZ@`N6PQj>tt(B6E_A{A9t5JWjSIWFfl(T8r0?~ESH$;r#hld)@q2u# zUhU@v1au?{Iw1(G=kf8ejJv)4W;~yDb4v>@E-ncP$#nf|U44C9V45&d-_X#(&n&s& zLj4S-yEl`xwY6(MEcT`JQ4;f+4%ROWhiHkFlQ8qPzL2^EEJMWXIch$ycSN&XM1CMF zs~El$QT^b!oRNj4YiNj6u;S$Ols=^z6oiY5OIB7E&epp}$ZX!57$@pgUslG07y;rE zr+H*$WY)*Z<@EF>T3e;GwW~5RntuG)+FxsU*`b#zVyczLbA`>aq?e@YQPo2qpy%g8VWp#^=1S^)O4&hfXD zy}iAcSHtJepZ)wKVYV$S?uzcNuCBJWw%U$=CBVXvkdWBOYKQGxlYFprp`q7>si#Lr z15nm;%>f`Ei98)2*>ph{N-}SdlKKnh*=^$i>6EqYJdxDNblS#0-c3H!Qw)p2kyspSEj&@0Z{`{G^-eK}wSC{gw`0TP|v>(O)0eK5Gg}cy1dq(esBKCcQ;9r@u$bej(mhi8N?LbQYKRW2Sw>Kp_AY0$y}Qz&c?Ok&uuO zKpzYrlv6BCNvY??wbuELNVoCm=xD*;SHjxRk?NWn@UE}-SAT(*a7chM^fVWRAWs+~ zbuYtsD#-mPaQK)!Pu^ZqAK62at3#j-P&|1%{JoTN)FBc=P+)ojN!|?0osMFPV^j%$EN7EM++48^L31_Ik zm6n!*rXb$M#l_BRL%Df*6y)S1qoW0e4F(Dd*MB8WBeA@eggcjR)FIwbIsko;z3%by z(&l%|+;0uU_*dyAxL=_m6ZwB8=-oP_m_S+pM71HX24J{k9=+dM{l)U_7iG>^akl^J zMWj9(yTbWOc4vxb9`V;Je&P=w#!okd4{SpEXlXeN3fg30I*yLw)YsR>xb%u-WNg*xSd)9+%w8$F5Vy;`m?L-p;iL+j}| z1BYd5YFfo{Wkk-(AO$sZG*9-zo8_`^T47)RYHGY5N(gM;(CA~#f$PQ>dxu_Eb^A~8Px6?j?s zgnROF+*xI1M90+uuWs{$(Jim2z{A0zoLSxe-G5ss5b@5gN$XLAR*+19Hxu|wg$WAOL=SuKSl;-7yCqMva@h|G#$`TD5p^G3qmZv zbI*^7iGImbu|7UFhSRsvjAiBJ3rcr3ofd+~IC%N^wp~3yf|n>R&(TW4 zuHOV)m447MMZDi!GnP*&9Gg6|KpokkMbjW+^70|OT$`(_;=M*h3{Tp7dpA~BPySR) zr>CbI)O*B5Mfq7NFhoY=nIg65t}THi6ciNTSXDngfjeGU_iGjKE|C+*^|R_#6qXX; zGkpD8Bs-#PjR4s~9Xriaa@c2l_@Dxk7X5hPrIv<9tBAK-`BO#QUl)ukYioPkanPJ# zP5bO;dV0{vZx2JFBix3%#>8}0TH06QT_Z5~NZk`b`1r~JY7pcz&)v7@Fn=m!spP7y z0sygba6sJ*YhC~1$r?r)_kUZ%Z={UAKGhpBCGd&B+Xu%se(dM0Y;1~2Le5}3w9Cw*A?OVb#>U5+nVZ99 z9HBD9WntHRlzc5j5Qu{XrKLYdMvi)u?t{vrKK5<7qQHkm``q*T?^xa;ZZDJw^mm+wcjXbKApgWM{Gf%gH#9BtHWuCA?B z*o-!sl?k$3^7%gNkd&0fO4`-bWDFG=LJsg63~inB8fj_kJFcOQNJh8F#zI2`V0O;uG-qToPJk1doka7c17>{MF`*VLYl?27LfWoI9D z=(UEN?#kgA$;xsK&M7_#9vL5(W(ae1c#_b!@sAXyK?-B>5 zr_Y5@@-M%rj*22aIBOG^6~~2A*k~Q9FU)b9Ft@fg@w?HCLnYPymkwjlesDh8ng#l% zfWd-{22}%cUu_6(oIxPv-Zo@H1OG4mN*B(`997Hf%IzWlp> z4^fa2t7;&B<859tB1zZV_$)6Y<9qs}6BU&?_rq6LADqR<#s<@fJ^=qNBvk$B69W^I zEM#C9xYJ@c69)&x-V_n{ud%V@4gKIV=olHvC@Cok2^)<#!QCn(3cOiAor{nT2VD2} zL$VpGus4Ll1}Ip{3Zq(oXx<%ri-SWkqaOqeEX~gDE_@2|2$JUEfvR?1GpKvDFgsiF z^3NCqEgTk!{QMpi&0qPNhX)5%*4EOJl3P5Q>gpkZ zfsbL%0|JzlmBFol{3w;e^3u^UAS6WptIdtLC)csCmY0`Ds-0O@6&UOo6cWh^2qL1Q znoYQ)qoQCy;ngM(VPIC}WMnwGxW1PP73Sr^n1&2JkF)CPCj0vx$G%vihGyDLxI?7w zKcAP;(@U(bK7rW*zv8mprbyTt%lANc075t9Y@nzh z509#W0rh@6F6BK}H#g7_%LS5}|^T;0%GcS}1VW6pglp_h2HZA=qz`}exd`f`q_vA;tKHwQ-%#6w`E z^UIfoz`f2+Y(y-3;Oy)SRPxU4+mKE%*82_)4j}pKR60DBmVTF;y8@Q_h)Onl0KO`p z4ZQ4Gc~PB`VhDNMn<8}hX2w5JbEIY0NA3C8*ce2-i}S+f??OUC66qdW zbJA*21eg&rKYpnP1?uSOQ$@y9Obs|O*e~#Z(W`YOcqe6Il8JTZWvSkD!&L3oojV)z zCb1vpG*!!953{@Qly&%Mwq5R9>`73bZceNAIx;`H`1!$~r!&V#=C*}3%LQsTUAH1V zFwj${>iIpZ1%5wBbE)+K?Y2Uab6ysA_V@OHg;4!q1CTPmv~*uc=sI1R7bk`JIp+rm z|KNp2M{_@Y`f4{>U38|+PG>S=cCMo{#mtm8L1K?MEaK4-H}MP{9N1P=3MfBb9mse6 zXJ6&hILjv26RLY6)0d%1kA;KdezKRFp8gCxgN#i3((&vcr?f*<2sOkBcs(k(M2A7H zD1zUPWztPv@6zclCiP%z@AOV_MFknEwy^K=gK@Hd9^GJ>5TgZ&{^!Y!G6w7UzfWt# zqzH`X-NTo`^>B-^-TMlQ?w%d_XwD)N}B5r2q6S|qm%FKH=b=h zd2eCl6cHE4WF;7GPkQhkE!63Kab;Ciz^jq-kiSo4PSJOw|9-yu^prn+BUri9o6FmG s6XU-hBcW{^|IbCg&Efq&BfPkhT)|OcTI@IvPr?w{M+%aK;zmCI1*WpnZvX%Q literal 0 HcmV?d00001 diff --git a/docs/html/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph.md5 b/docs/html/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph.md5 new file mode 100644 index 0000000..f7c24b2 --- /dev/null +++ b/docs/html/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph.md5 @@ -0,0 +1 @@ +60ffeefbe1cb82b856ea7f74c31012e3 \ No newline at end of file diff --git a/docs/html/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph.png b/docs/html/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..fc7398572a0365334feb2eddad59b3416f28e19b GIT binary patch literal 3315 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 NdUuVrYBZgn{TtuoV_pCN literal 0 HcmV?d00001 diff --git a/docs/html/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph.md5 b/docs/html/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph.md5 new file mode 100644 index 0000000..a6a8b92 --- /dev/null +++ b/docs/html/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph.md5 @@ -0,0 +1 @@ +ef1a672cdd13c18d6f199866323e4867 \ No newline at end of file diff --git a/docs/html/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph.png b/docs/html/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..bec3a5fc9e22ba3191fec531a9309c0f73b5d99f GIT binary patch literal 8676 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 literal 0 HcmV?d00001 diff --git a/docs/html/char_8h_ac124f08e43b0ae720d1548f482144407_cgraph.md5 b/docs/html/char_8h_ac124f08e43b0ae720d1548f482144407_cgraph.md5 new file mode 100644 index 0000000..7a8e958 --- /dev/null +++ b/docs/html/char_8h_ac124f08e43b0ae720d1548f482144407_cgraph.md5 @@ -0,0 +1 @@ +e6bdfbd2c11b0b50f7cc4ae94e9b495d \ No newline at end of file diff --git a/docs/html/char_8h_ac124f08e43b0ae720d1548f482144407_cgraph.png b/docs/html/char_8h_ac124f08e43b0ae720d1548f482144407_cgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..3d1797820d2c87b324a575f3d659b54e2b574166 GIT binary patch literal 10092 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 UNvx`Hd=BwYMnyUo`RvVq0Zr7XApigX literal 0 HcmV?d00001 diff --git a/docs/html/char_8h_ac124f08e43b0ae720d1548f482144407_icgraph.md5 b/docs/html/char_8h_ac124f08e43b0ae720d1548f482144407_icgraph.md5 new file mode 100644 index 0000000..4fa84ce --- /dev/null +++ b/docs/html/char_8h_ac124f08e43b0ae720d1548f482144407_icgraph.md5 @@ -0,0 +1 @@ +3a478a6d32d3456be7d942e0f18daaa8 \ No newline at end of file diff --git a/docs/html/char_8h_ac124f08e43b0ae720d1548f482144407_icgraph.png b/docs/html/char_8h_ac124f08e43b0ae720d1548f482144407_icgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..a4744ea325f9c40b777e8c431a7d8ed028cd56b0 GIT binary patch literal 3868 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 SlfiYDN>|fJqg>4)>c0SjrnBn+ literal 0 HcmV?d00001 diff --git a/docs/html/char_8h_acf28b292dd407661577ae4df5e40684b_cgraph.md5 b/docs/html/char_8h_acf28b292dd407661577ae4df5e40684b_cgraph.md5 new file mode 100644 index 0000000..ec93e71 --- /dev/null +++ b/docs/html/char_8h_acf28b292dd407661577ae4df5e40684b_cgraph.md5 @@ -0,0 +1 @@ +a520318daeeed10e983b6738feee71c8 \ No newline at end of file diff --git a/docs/html/char_8h_acf28b292dd407661577ae4df5e40684b_cgraph.png b/docs/html/char_8h_acf28b292dd407661577ae4df5e40684b_cgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..74b60d2d4c9e0959e94ed64129fc15f61e57bfa0 GIT binary patch literal 5597 zcmaJ_by(A1`$kbj8YM?5h~OxRNl1JV6%ddVkW@li97qm^f>O#r=@MatDB-}--91ve zbHM1X{SM#v_vd@P*LIBqpIw~uJkR~y_x+p@t*6S=6c7p$5)x`vm4`YcBo~drnwOjm ze7d;^;=vCx3pM43B*gRA_sXnD5)#I*st*qiQ7*7>hKW90XfWw$)Lc})6`39! zlAYRrcG_ciI)birCsByIleoq5{gIVIVT991qg;I+a{n9P{pW)OkCO8F zirjxg;(BAuzsm=d*Z#{&?C|vZ@bGX$Qxk-nNzrpIkd~_}(YeZQ>F&-oHa0bP_oCE# zx(`gTF)^=}=yte^vi#JkE6ut1izp~4R5Ueh`hRGL-{M!i8w@+tk>6< z^?|H142rh&26-mabFGnqG)m5Hqq@${&PqYtvKL*}2d{+Y%1lpB3o(Y@kY)N7xPS2b zW&O9IN~B^pFATp=)Z=KuacUWXs19`~x}-=4-bNAp|7)f7iNP3y!K{vz7V?(e z=Hm;(_hl8UOltbq)jg1vmE}AzrrYT$b~b;SB-O+1oBzBpu%@Pl318mzH`ka|0qOGz zl^T8ohuv#}IsCng*jr^nseATzB;SvH_DdhDGRdd;t)Zs}^XMqgb-M1dppcO9+s}OO zr3!XGUDy~ zV|L~E=4cT|R{9(&Rmm$&N=9aDCBGUXLlpq3#q|FDd!PMr50JA1QmtPDNm5_hzw%~N zvHbRr7gu;SS+!n@C~oUcz3RVVK8ZwxcuX8d)doyjw?*x%svahc7Oz8O1gEcVYK7+d z5sxQ3zR4xRXPf9DkT#L(6K*VF2tx|$0P;Rb&w4zcD#U5(iWVX|4Cbk3 z(X0@KvQl;P`!Y3V$4Xs$D;!6QsKJIlK0Yey>JM}E+lwwF$suCAwil-HcvUT}2njyw zPVCr9_By*A8?iNG;q25N#d&JJfSXjEta9EwTG{m3Y<&Ln=g-8+a-&YfdZlvl>v7w` zJPt}`;q=T*vUj7!&f-oZ5+lXV;nC5Iii(P3)qd65r?1CK=n)76C@QP?D=IH9FP+g! z#6CGWc}-oNKc}4cZ|6yQ5-1c3{_-89z|hd}u0;bm{&u0m-<+2{X^+&Cr0AKMnTIj6 zv$GkxZ;uvkFn`LE$IhE6vktRQv?Cfl9*X4eY zXN^=pVsX5vC8eF+q?We!q1NMr)k56TU_RHv!h)x#=bO_bw`?J9?u*98#&{T1P|#5? zB|bi$3L-&HNl8gY!`_mr6eKZ%Mx*gV7#P-CA9y2omj~Xi{G}Eb7eCs;*ME~k zkfbNx2?`1Vbz*C4Yx{#rPDv3-ew<@0EG$gp;NXyxlN0>;b3dz}(kwnyW0WO`h9k|7 zc=pGxFYtNcD^c$q+nL$f_ajEHmbz1Aw>!kCSj8S%8uy!Y3KvmOQeLH{wE_Ep$e9fc z4DQsdR~@5#kM}Sy>&f<3hm{iVIjN|qbPq3vu}OkcTP}3OpRAY@>u|X6jg2>UyjAW5 zNJd7+Ek3^Owes}>%VwG}-SlHRw4XcrI0QhNX-1<3&ivRpWg2&_46C^^4C%o0rKOBQiWL;d*0>mH!0DDwa zR76x%LtC`KaJh#_5G_}XQ@Pjn?e-X;{yzkRq!tj~Eqx-=;A`6K1^);1YUjWDBpq{89c^$9XtHh!+R&W(Juuut_QRSigPyb|8SMj-FnFD^9N2|1xFzUQ`r= ztejja@>HhK2KQ=nrjf*Pq9VScLe|B_h5yc-RP$;iL^6K7%uPTyQ+>MS3r|>=<|O-^ z#g`RbgSE~tQBe;~OxQsROv>Jdtc{n?5(pYAe{F_Ok3Q8VWP}E-Ie~o&bRj48X>!%{wuci-r|a z@yOE{NyOq(-A79GWSQvs_E=pLla6%N$aLk;9c)6t=B zVq$X8Zhm&L=3sL+1FaYx9UT`J*ZuREKu2fi^HLXU^pUL3!Cj?5s@j18#&@EYO?O{) zuw;+-_eV)ic#>YfemyBU8BPNU~i_sxRBLTzX?#I@34P&oHc!UpvxOu>6+i7D}yGU4oWgqE5a8DjFr_!>dh3NppbE@4t32)ncaOqK(e3NB%eZ`1o-=>i%WW}Pc-)TGl1xTMr3fS z$EK&>dK}K#2~bNCC+}O<6psRpTIfzN0?{`PVJv|WNd-_<3?PGVFKFP2yGuPvvv3U! zYVaT~P9pd7kDMGUP>#6x`02GZRB|#0(BkjP;hY8S16=uPvBKvNoCW>)nd5$pftlCk zcL4SB2UDcq_qO4yLm2gVu}2A6=cxhS0uWqcl%-OFsbh3ZOfS~KAZ&4&la}osm4}Ci zzrX(yAoqYPw6C`2TKS`&49n-6SEF)sbN{*v2nd8R8>VWJV6y~ubabSAk0dT%zD&FG z(%O1p?g6EJxWs9dNQO=}+_U(m%VtYwSl$U&V43cF63{^Pz*TvVfxYfXIyp5qHiDLY zg1GFKl$4}(jwqqn@G93^l1N>j?XYXcqm3FyO99>o^w~YJBO)pO@bIvqp&=qUxieb8AYC`nZD*KeB{9H6(8YJTtx_7O45qj^mNPLi z5v>O;b(yE&4Lbe9v4$7Xrw<}OCW#dQM3bQ2~XyD>y? zB7pM&W+RY_)ju~^Xl-px(D3&^v%bA_rt7*ON`MqzxjbV{0Vwobgp^V2(}1XGcX~3^ zVsA4WxwQkSmb+_a8S{%RUlaqAc&w;+K@PDO_052vq1UD#@TRJU2C&P|(D^~T_j`bv z%6P1G3>VtKzLk6LLIKG687L+^XQ?lelD2ks&i835@ZP%haM9@|5bTmS)Bb<=%4U}L zuU)$)<+jWK7$Xg!e5}k(ZRA&s@zdC+$ujV@G3l_yP*9w{tngKr|A)Y?c6AA`STg|d zy|V=cV!#)rr~Ul>n-0KfxQK>BW@>s`QAMSN)N+1q&b9+dg*}j6I11I zj(ozev>DD%%LT~`ST})EzvzLj-k7B+c^yS=X;S>9#JML_FNaJ-eIvYJ3Bk@ z+xCEgImV)qLfEvdAx6m9>R1mN-P=@tbL4L+aBbaaWm*u*(s;S#)vH&1wp#gg5S9w> zR{A8blp4+*^+zLIhlYpk*m=tk`@)YNJsKJrv2b<{*U7d5G*odg^9k7SUSQ8=W@cDm z_6)#4{X-z*lah*i_wL=5BL(->xF+`Y`Ly+umas{NfdOmB3E5xIePyXAnQz})CdS9H zz==p|eSN2;Ng^xoEsZ<)Q3%!%xaiiduD_mZzOV-ih|-&=qhzx^gJdM@1pp4c$8MgmJ+M) zIgJ)&q^Exnx9I{cTLS*;#w#wGc3Pz!t#>Oh15ArUbQ%fYD=HHR5 zs#3|vz%;&m`SLT1s6X(^1wMx^-~7(J?5^PI>jN|r@2N72mzS1;@gNJXaNEz%Pe0$R z^Sffe(g;>yw8#m_Q)cao<(!LM*NH7#_1PB&Q+xY0Rv(Vb2gj3s6wKd1wNOJthQM)4dv4qS zsjS$jqlA16xTl--lotvOJw4tR2cDzqWJ?X0D1IpPKVbqJ@4dI$3P|O7m5;PN*2q$M zTx%z+v$;9w#}9rWph2MC>(xYggM70`sajJ6LT7iX(&paYtGSjhR@TTforH zRPIlp%gPdZ(8|~8>1!7{6GK8n(-8Y>IcAkcGDm1lSpf9`8A+GJ6<3TI=tWR!o5QVn z7FO2j_4R!12t#9IOG`^0Mnf|*Gth}=+bKj_CtZF9a4rlu4$uvJZw94Wj9@K*%2B2c zN2$+FGWzv+nH>kwPK#J?oB?TR2nq1SXH#!#o_WiIJ&=KiBeguOKjqmN%0j_bV%D230J`Ifq_J^jYr>CT>>>3A$ z#)}s>zI^!-295Z$o2^OXf@#^!c3ukuhu75BrUwXI06hi1T7cMpZ5KWc00%7LlR?3< z^789kT=|=XIUon;?i$$9^O@k>1rX0pshMP4N|){{Xs{AhtsEU6YJ@>7EidQgRRWVu zH`{#w*1*G13d!dsyqx+)P zkChbjw7rXR;F1VGDqPnm1a5kO>K8Z+1}N*#jeH{mR{rhUSp1(q5&=!x`uer5xR0q? z{hZn`F&*Hxw>=T}#l7DufLeH_*n;ztkcFGm89f=_Tk=S}6Y%B@`SjX2l!4+h#pQ|v z3+GIA_~Q)7yA10UvRJRA8D_}eN`wc{nRJfWg$S?8J}MX8zVq1~P;M^KXgLXA&pFxc zCHopqek3j`YS9op(a>}R-&;jEPRd`=#JxA7%vH7?F0dw!mq?uCuQA;W-#!TJnudQ; z>IUwfK7dTF{pT~?gUx0zQZ3F92szkpZ#^+FF{?>~GGPxd_9j0)>GLTJpsDMdoSK)H zG#B#VCL<#w6<6MIJ7p&?%JHh7VR-wO+@C+~+uD$5-K@-0WSmq1uPlKxi$|%k(fTdE z_uyEyc9yYPOF%{@0U!o=zX$ndl?TlVXE(>oewNOm99i9qpVM7Z*9c2Au?1I6wlHk> zHBQai+FDR4g)MlaGY`doZX0iCJ6`=Ct6b(5;+f>)rD;1?a2WxZ)N$! z&vmB%MmNg>&DOsgllw8G4PE>9iqKZ^zpaQ@_!RopYeX*$fcsh!)kjYs<~?}f|9>HD BITio_ literal 0 HcmV?d00001 diff --git a/docs/html/char_8h_af50ba493605648683d0b49fd1df62211_cgraph.md5 b/docs/html/char_8h_af50ba493605648683d0b49fd1df62211_cgraph.md5 new file mode 100644 index 0000000..8a03ac3 --- /dev/null +++ b/docs/html/char_8h_af50ba493605648683d0b49fd1df62211_cgraph.md5 @@ -0,0 +1 @@ +01218bce729d6280cf69cd4cf39c70f0 \ No newline at end of file diff --git a/docs/html/char_8h_af50ba493605648683d0b49fd1df62211_cgraph.png b/docs/html/char_8h_af50ba493605648683d0b49fd1df62211_cgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..d878470ee2ca46ec0cf399851ce7a6edcd35a1c5 GIT binary patch literal 3474 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 M#@0ra26y8B4+TLGIRF3v literal 0 HcmV?d00001 diff --git a/docs/html/char_8h_source.html b/docs/html/char_8h_source.html index 66e97be..646e1ba 100644 --- a/docs/html/char_8h_source.html +++ b/docs/html/char_8h_source.html @@ -78,7 +78,7 @@
ds 0.3.0 0.4.0
A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
@@ -157,103 +157,610 @@
11//! @date 2023-07-26
12
13#include <limits.h>
-
14
-
15#include "ds/usize.h"
-
16
-
17#ifdef __cplusplus
-
18extern "C"
-
19{
-
20#endif /* __cplusplus */
-
21
-
22 /// @brief A character type.
-
23 ///
-
24 /// The @ref ds_char_t "char" type represents a single character.
-
25 ///
-
26 /// More specifically, since ‘character’ isn’t a well-defined concept in
-
27 /// Unicode, @ref ds_char_t "char" will be a ‘Unicode scalar value’ in the
-
28 /// future, when UTF-8 validation is fully supported.
-
29 typedef char ds_char_t;
-
30
-
31/// @brief The size of @ref ds_char_t "char" in bytes.
-
32///
-
33/// ### Examples
-
34///
-
35/// Basic usage:
-
36///
-
37/// ```c
-
38/// assert (DS_CHAR_BYTES == 1);
-
39/// ```
-
40#define DS_CHAR_BYTES ((ds_usize_t)sizeof (ds_char_t))
-
41
-
42/// @brief The smallest value that can be represented by @ref ds_char_t "char".
-
43///
-
44/// ### Examples
-
45///
-
46/// Basic usage:
-
47///
-
48/// ```c
-
49/// assert (DS_CHAR_MIN == CHAR_MIN);
-
50/// ```
-
51#define DS_CHAR_MIN ((ds_char_t)CHAR_MIN)
-
52
-
53/// @brief The largest value that can be represented by @ref ds_char_t "char".
-
54///
-
55/// ### Examples
-
56///
-
57/// Basic usage:
-
58///
-
59/// ```c
-
60/// assert (DS_CHAR_MAX == CHAR_MAX);
-
61/// ```
-
62#define DS_CHAR_MAX ((ds_char_t)CHAR_MAX)
-
63
-
64/// @brief The null-terminator character.
-
65///
-
66/// ### Examples
-
67///
-
68/// Basic usage:
-
69///
-
70/// ```c
-
71/// assert (DS_CHAR_NUL == '\0');
-
72/// ```
-
73#define DS_CHAR_NUL ((ds_char_t)0)
-
74
-
75/// @brief @ref ds_char_t "char" notation. Can be used in `scanf` to parse and
-
76/// read @ref ds_char_t "char" values.
-
77///
-
78/// @warning It is strongly advised to use
-
79/// [`fgets`](https://en.cppreference.com/w/c/io/fgets "fgets -
-
80/// cppreference.com") instead of `scanf` to read input.
-
81///
-
82/// ### Examples
-
83///
-
84/// Basic usage:
-
85///
-
86/// ```c
-
87/// ds_char_t x;
-
88/// scanf ("%" DS_SCN_CHAR, &x);
-
89/// ```
-
90#define DS_SCN_CHAR "c"
-
91
-
92/// @brief @ref ds_char_t "char" notation. Can be used in `printf` to format
-
93/// and write @ref ds_char_t "char" values.
-
94///
-
95/// ### Examples
-
96///
-
97/// Basic usage:
-
98///
-
99/// ```c
-
100/// ds_char_t x = DS_CHAR_MAX;
-
101/// printf ("%" DS_PRI_CHAR, x);
-
102/// ```
-
103#define DS_PRI_CHAR "c"
-
104
-
105#ifdef __cplusplus
-
106}
-
107#endif /* __cplusplus */
-
108
-
109#endif /* DS_CHAR_H */
-
char ds_char_t
A character type.
Definition: char.h:29
+
14#include <stdbool.h>
+
15
+
16#include "ds/usize.h"
+
17
+
18#ifdef __cplusplus
+
19extern "C"
+
20{
+
21#endif /* __cplusplus */
+
22
+
23 /// @brief A character type.
+
24 ///
+
25 /// The @ref ds_char_t "char" type represents a single character.
+
26 ///
+
27 /// More specifically, since ‘character’ isn’t a well-defined concept in
+
28 /// Unicode, @ref ds_char_t "char" will be a ‘Unicode scalar value’ in the
+
29 /// future, when UTF-8 validation is fully supported.
+
30 typedef char ds_char_t;
+
31
+
32 /// @brief Checks if @p self lies in the inclusive interval between @p start
+
33 /// and @p end.
+
34 /// @param self The value to check.
+
35 /// @param start The inclusive start of the interval.
+
36 /// @param end The inclusive end of the interval.
+
37 /// @return `true` if @p self lies in the inclusive interval between @p start
+
38 /// and @p end, `false` otherwise.
+
39 ///
+
40 /// ### Examples
+
41 ///
+
42 /// Basic usage:
+
43 ///
+
44 /// ```c
+
45 /// assert (ds_char_in_range ('a', 'a', 'z'));
+
46 /// assert (!ds_char_in_range ('A', 'a', 'z'));
+
47 /// ```
+
48 extern bool ds_char_in_range (ds_char_t self, ds_char_t start,
+
49 ds_char_t end);
+
50
+
51 /// @brief Makes a copy of @p self in its ASCII upper case equivalent.
+
52 ///
+
53 /// ASCII letters 'a' to 'z' are mapped to 'A' to 'Z', but non-ASCII letters
+
54 /// are unchanged.
+
55 ///
+
56 /// @param self The value to convert.
+
57 /// @return The ASCII upper case equivalent of @p self.
+
58 ///
+
59 /// ### Examples
+
60 ///
+
61 /// Basic usage:
+
62 ///
+
63 /// ```c
+
64 /// ds_char_t const ascii = 'a';
+
65 /// ds_char_t const non_ascii = '❤';
+
66 ///
+
67 /// assert ('A' == ds_char_to_ascii_uppercase (ascii));
+
68 /// assert ('❤' == ds_char_to_ascii_uppercase (non_ascii));
+
69 /// ```
+ +
71
+
72 /// @brief Makes a copy of @p self in its ASCII lower case equivalent.
+
73 ///
+
74 /// ASCII letters 'A' to 'Z' are mapped to 'a' to 'z', but non-ASCII letters
+
75 /// are unchanged.
+
76 ///
+
77 /// @param self The value to convert.
+
78 /// @return The ASCII lower case equivalent of @p self.
+
79 ///
+
80 /// ### Examples
+
81 ///
+
82 /// Basic usage:
+
83 ///
+
84 /// ```c
+
85 /// ds_char_t const ascii = 'A';
+
86 /// ds_char_t const non_ascii = '❤';
+
87 ///
+
88 /// assert ('a' == ds_char_to_ascii_lowercase (ascii));
+
89 /// assert ('❤' == ds_char_to_ascii_lowercase (non_ascii));
+
90 /// ```
+ +
92
+
93 /// @brief Checks that @p self and @p other are an ASCII case-insensitive
+
94 /// match.
+
95 ///
+
96 /// Equivalent to:
+
97 ///
+
98 /// ```c
+
99 /// ds_char_to_ascii_lowercase (self) == ds_char_to_ascii_lowercase (other);
+
100 /// ```
+
101 ///
+
102 /// @param self The first value to compare.
+
103 /// @param other The second value to compare.
+
104 /// @return `true` if @p self and @p other are an ASCII case-insensitive
+
105 /// match, `false` otherwise.
+
106 ///
+
107 /// ### Examples
+
108 ///
+
109 /// Basic usage:
+
110 ///
+
111 /// ```c
+
112 /// ds_char_t const upper_a = 'A';
+
113 /// ds_char_t const lower_a = 'a';
+
114 /// ds_char_t const lower_z = 'z';
+
115 ///
+
116 /// assert (ds_char_eq_ignore_ascii_case (upper_a, lower_a));
+
117 /// assert (ds_char_eq_ignore_ascii_case (upper_a, upper_a));
+
118 /// assert (!ds_char_eq_ignore_ascii_case (upper_a, lower_z));
+
119 /// ```
+
120 extern bool ds_char_eq_ignore_ascii_case (ds_char_t self, ds_char_t other);
+
121
+
122 /// @brief Checks if @p self is an ASCII alphabetic character:
+
123 ///
+
124 /// - U+0041 'A' ..= U+005A 'Z', or
+
125 /// - U+0061 'a' ..= U+007A 'z'.
+
126 ///
+
127 /// @param self The value to check.
+
128 /// @return `true` if @p self is an ASCII alphabetic character, `false`
+
129 /// otherwise.
+
130 ///
+
131 /// ### Examples
+
132 ///
+
133 /// Basic usage:
+
134 ///
+
135 /// ```c
+
136 /// ds_char_t const uppercase_a = 'A';
+
137 /// ds_char_t const uppercase_g = 'G';
+
138 /// ds_char_t const a = 'a';
+
139 /// ds_char_t const g = 'g';
+
140 /// ds_char_t const zero = '0';
+
141 /// ds_char_t const percent = '%';
+
142 /// ds_char_t const space = ' ';
+
143 /// ds_char_t const lf = '\n';
+
144 /// ds_char_t const esc = '\x1b';
+
145 ///
+
146 /// assert (ds_char_is_ascii_alphabetic (uppercase_a));
+
147 /// assert (ds_char_is_ascii_alphabetic (uppercase_g));
+
148 /// assert (ds_char_is_ascii_alphabetic (a));
+
149 /// assert (ds_char_is_ascii_alphabetic (g));
+
150 /// assert (!ds_char_is_ascii_alphabetic (zero));
+
151 /// assert (!ds_char_is_ascii_alphabetic (percent));
+
152 /// assert (!ds_char_is_ascii_alphabetic (space));
+
153 /// assert (!ds_char_is_ascii_alphabetic (lf));
+
154 /// assert (!ds_char_is_ascii_alphabetic (esc));
+
155 /// ```
+
156 extern bool ds_char_is_ascii_alphabetic (ds_char_t self);
+
157
+
158 /// @brief Checks if @p self is an ASCII uppercase character:
+
159 /// U+0041 'A' ..= U+005A 'Z'.
+
160 ///
+
161 /// @param self The value to check.
+
162 /// @return `true` if @p self is an ASCII uppercase character, `false`
+
163 /// otherwise.
+
164 ///
+
165 /// ### Examples
+
166 ///
+
167 /// Basic usage:
+
168 ///
+
169 /// ```c
+
170 /// ds_char_t const uppercase_a = 'A';
+
171 /// ds_char_t const uppercase_g = 'G';
+
172 /// ds_char_t const a = 'a';
+
173 /// ds_char_t const g = 'g';
+
174 /// ds_char_t const zero = '0';
+
175 /// ds_char_t const percent = '%';
+
176 /// ds_char_t const space = ' ';
+
177 /// ds_char_t const lf = '\n';
+
178 /// ds_char_t const esc = '\x1b';
+
179 ///
+
180 /// assert (ds_char_is_ascii_uppercase (uppercase_a));
+
181 /// assert (ds_char_is_ascii_uppercase (uppercase_g));
+
182 /// assert (!ds_char_is_ascii_uppercase (a));
+
183 /// assert (!ds_char_is_ascii_uppercase (g));
+
184 /// assert (!ds_char_is_ascii_uppercase (zero));
+
185 /// assert (!ds_char_is_ascii_uppercase (percent));
+
186 /// assert (!ds_char_is_ascii_uppercase (space));
+
187 /// assert (!ds_char_is_ascii_uppercase (lf));
+
188 /// assert (!ds_char_is_ascii_uppercase (esc));
+
189 /// ```
+
190 extern bool ds_char_is_ascii_uppercase (ds_char_t self);
+
191
+
192 /// @brief Checks if @p self is an ASCII lowercase character:
+
193 /// U+0061 'a' ..= U+007A 'z'.
+
194 ///
+
195 /// @param self The value to check.
+
196 /// @return `true` if @p self is an ASCII lowercase character, `false`
+
197 /// otherwise.
+
198 ///
+
199 /// ### Examples
+
200 ///
+
201 /// Basic usage:
+
202 ///
+
203 /// ```c
+
204 /// ds_char_t const uppercase_a = 'A';
+
205 /// ds_char_t const uppercase_g = 'G';
+
206 /// ds_char_t const a = 'a';
+
207 /// ds_char_t const g = 'g';
+
208 /// ds_char_t const zero = '0';
+
209 /// ds_char_t const percent = '%';
+
210 /// ds_char_t const space = ' ';
+
211 /// ds_char_t const lf = '\n';
+
212 /// ds_char_t const esc = '\x1b';
+
213 ///
+
214 /// assert (!ds_char_is_ascii_lowercase (uppercase_a));
+
215 /// assert (!ds_char_is_ascii_lowercase (uppercase_g));
+
216 /// assert (ds_char_is_ascii_lowercase (a));
+
217 /// assert (ds_char_is_ascii_lowercase (g));
+
218 /// assert (!ds_char_is_ascii_lowercase (zero));
+
219 /// assert (!ds_char_is_ascii_lowercase (percent));
+
220 /// assert (!ds_char_is_ascii_lowercase (space));
+
221 /// assert (!ds_char_is_ascii_lowercase (lf));
+
222 /// assert (!ds_char_is_ascii_lowercase (esc));
+
223 /// ```
+
224 extern bool ds_char_is_ascii_lowercase (ds_char_t self);
+
225
+
226 /// @brief Checks if @p self is an ASCII alphanumeric character:
+
227 ///
+
228 /// - U+0041 'A' ..= U+005A 'Z', or
+
229 /// - U+0061 'a' ..= U+007A 'z', or
+
230 /// - U+0030 '0' ..= U+0039 '9'.
+
231 ///
+
232 /// @param self The value to check.
+
233 /// @return `true` if @p self is an ASCII alphanumeric character, `false`
+
234 /// otherwise.
+
235 ///
+
236 /// ### Examples
+
237 ///
+
238 /// Basic usage:
+
239 ///
+
240 /// ```c
+
241 /// ds_char_t const uppercase_a = 'A';
+
242 /// ds_char_t const uppercase_g = 'G';
+
243 /// ds_char_t const a = 'a';
+
244 /// ds_char_t const g = 'g';
+
245 /// ds_char_t const zero = '0';
+
246 /// ds_char_t const percent = '%';
+
247 /// ds_char_t const space = ' ';
+
248 /// ds_char_t const lf = '\n';
+
249 /// ds_char_t const esc = '\x1b';
+
250 ///
+
251 /// assert (ds_char_is_ascii_alphanumeric (uppercase_a));
+
252 /// assert (ds_char_is_ascii_alphanumeric (uppercase_g));
+
253 /// assert (ds_char_is_ascii_alphanumeric (a));
+
254 /// assert (ds_char_is_ascii_alphanumeric (g));
+
255 /// assert (ds_char_is_ascii_alphanumeric (zero));
+
256 /// assert (!ds_char_is_ascii_alphanumeric (percent));
+
257 /// assert (!ds_char_is_ascii_alphanumeric (space));
+
258 /// assert (!ds_char_is_ascii_alphanumeric (lf));
+
259 /// assert (!ds_char_is_ascii_alphanumeric (esc));
+
260 /// ```
+
261 extern bool ds_char_is_ascii_alphanumeric (ds_char_t self);
+
262
+
263 /// @brief Checks if @p self is an ASCII decimal digit:
+
264 /// U+0030 '0' ..= U+0039 '9'.
+
265 ///
+
266 /// @param self The value to check.
+
267 /// @return `true` if @p self is an ASCII decimal digit, `false` otherwise.
+
268 ///
+
269 /// ### Examples
+
270 ///
+
271 /// Basic usage:
+
272 ///
+
273 /// ```c
+
274 /// ds_char_t const uppercase_a = 'A';
+
275 /// ds_char_t const uppercase_g = 'G';
+
276 /// ds_char_t const a = 'a';
+
277 /// ds_char_t const g = 'g';
+
278 /// ds_char_t const zero = '0';
+
279 /// ds_char_t const percent = '%';
+
280 /// ds_char_t const space = ' ';
+
281 /// ds_char_t const lf = '\n';
+
282 /// ds_char_t const esc = '\x1b';
+
283 ///
+
284 /// assert (!ds_char_is_ascii_digit (uppercase_a));
+
285 /// assert (!ds_char_is_ascii_digit (uppercase_g));
+
286 /// assert (!ds_char_is_ascii_digit (a));
+
287 /// assert (!ds_char_is_ascii_digit (g));
+
288 /// assert (ds_char_is_ascii_digit (zero));
+
289 /// assert (!ds_char_is_ascii_digit (percent));
+
290 /// assert (!ds_char_is_ascii_digit (space));
+
291 /// assert (!ds_char_is_ascii_digit (lf));
+
292 /// assert (!ds_char_is_ascii_digit (esc));
+
293 /// ```
+
294 extern bool ds_char_is_ascii_digit (ds_char_t self);
+
295
+
296 /// @brief Checks if @p self is an ASCII octal digit:
+
297 /// U+0030 '0' ..= U+0037 '7'.
+
298 ///
+
299 /// @param self The value to check.
+
300 /// @return `true` if @p self is an ASCII octal digit, `false` otherwise.
+
301 ///
+
302 /// ### Examples
+
303 ///
+
304 /// Basic usage:
+
305 ///
+
306 /// ```c
+
307 /// ds_char_t const uppercase_a = 'A';
+
308 /// ds_char_t const a = 'a';
+
309 /// ds_char_t const zero = '0';
+
310 /// ds_char_t const seven = '7';
+
311 /// ds_char_t const nine = '9';
+
312 /// ds_char_t const percent = '%';
+
313 /// ds_char_t const lf = '\n';
+
314 ///
+
315 /// assert (!ds_char_is_ascii_octdigit (uppercase_a));
+
316 /// assert (!ds_char_is_ascii_octdigit (a));
+
317 /// assert (ds_char_is_ascii_octdigit (zero));
+
318 /// assert (ds_char_is_ascii_octdigit (seven));
+
319 /// assert (!ds_char_is_ascii_octdigit (nine));
+
320 /// assert (!ds_char_is_ascii_octdigit (percent));
+
321 /// assert (!ds_char_is_ascii_octdigit (lf));
+
322 /// ```
+
323 extern bool ds_char_is_ascii_octdigit (ds_char_t self);
+
324
+
325 /// @brief Checks if @p self is an ASCII hexadecimal digit:
+
326 ///
+
327 /// - U+0030 '0' ..= U+0039 '9', or
+
328 /// - U+0041 'A' ..= U+0046 'F', or
+
329 /// - U+0061 'a' ..= U+0066 'f'.
+
330 ///
+
331 /// @param self The value to check.
+
332 /// @return `true` if @p self is an ASCII hexadecimal digit, `false`
+
333 /// otherwise.
+
334 ///
+
335 /// ### Examples
+
336 ///
+
337 /// Basic usage:
+
338 ///
+
339 /// ```c
+
340 /// ds_char_t const uppercase_a = 'A';
+
341 /// ds_char_t const uppercase_g = 'G';
+
342 /// ds_char_t const a = 'a';
+
343 /// ds_char_t const g = 'g';
+
344 /// ds_char_t const zero = '0';
+
345 /// ds_char_t const percent = '%';
+
346 /// ds_char_t const space = ' ';
+
347 /// ds_char_t const lf = '\n';
+
348 /// ds_char_t const esc = '\x1b';
+
349 ///
+
350 /// assert (ds_char_is_ascii_hexdigit (uppercase_a));
+
351 /// assert (!ds_char_is_ascii_hexdigit (uppercase_g));
+
352 /// assert (ds_char_is_ascii_hexdigit (a));
+
353 /// assert (!ds_char_is_ascii_hexdigit (g));
+
354 /// assert (ds_char_is_ascii_hexdigit (zero));
+
355 /// assert (!ds_char_is_ascii_hexdigit (percent));
+
356 /// assert (!ds_char_is_ascii_hexdigit (space));
+
357 /// assert (!ds_char_is_ascii_hexdigit (lf));
+
358 /// assert (!ds_char_is_ascii_hexdigit (esc));
+
359 /// ```
+
360 extern bool ds_char_is_ascii_hexdigit (ds_char_t self);
+
361
+
362 /// @brief Checks if @p self is an ASCII punctuation character:
+
363 ///
+
364 /// - U+0021 ..= U+002F ```! " # $ % & ' ( ) * + , - . /```, or
+
365 /// - U+003A ..= U+0040 ```: ; < = > ? @```, or
+
366 /// - U+005B ..= U+0060 ```[ \ ] ^ _ ` ```, or
+
367 /// - U+007B ..= U+007E ```{ | } ~```
+
368 ///
+
369 /// @param self The value to check.
+
370 /// @return `true` if @p self is an ASCII punctuation character, `false`
+
371 /// otherwise.
+
372 ///
+
373 /// ### Examples
+
374 ///
+
375 /// Basic usage:
+
376 ///
+
377 /// ```c
+
378 /// ds_char_t const uppercase_a = 'A';
+
379 /// ds_char_t const uppercase_g = 'G';
+
380 /// ds_char_t const a = 'a';
+
381 /// ds_char_t const g = 'g';
+
382 /// ds_char_t const zero = '0';
+
383 /// ds_char_t const percent = '%';
+
384 /// ds_char_t const space = ' ';
+
385 /// ds_char_t const lf = '\n';
+
386 /// ds_char_t const esc = '\x1b';
+
387 ///
+
388 /// assert (!ds_char_is_ascii_punctuation (uppercase_a));
+
389 /// assert (!ds_char_is_ascii_punctuation (uppercase_g));
+
390 /// assert (!ds_char_is_ascii_punctuation (a));
+
391 /// assert (!ds_char_is_ascii_punctuation (g));
+
392 /// assert (!ds_char_is_ascii_punctuation (zero));
+
393 /// assert (ds_char_is_ascii_punctuation (percent));
+
394 /// assert (!ds_char_is_ascii_punctuation (space));
+
395 /// assert (!ds_char_is_ascii_punctuation (lf));
+
396 /// assert (!ds_char_is_ascii_punctuation (esc));
+
397 /// ```
+
398 extern bool ds_char_is_ascii_punctuation (ds_char_t self);
+
399
+
400 /// @brief Checks if @p self is an ASCII graphic character:
+
401 /// U+0021 '!' ..= U+007E '~'.
+
402 ///
+
403 /// @param self The value to check.
+
404 /// @return `true` if @p self is an ASCII graphic character, `false`
+
405 /// otherwise.
+
406 ///
+
407 /// ### Examples
+
408 ///
+
409 /// Basic usage:
+
410 ///
+
411 /// ```c
+
412 /// ds_char_t const uppercase_a = 'A';
+
413 /// ds_char_t const uppercase_g = 'G';
+
414 /// ds_char_t const a = 'a';
+
415 /// ds_char_t const g = 'g';
+
416 /// ds_char_t const zero = '0';
+
417 /// ds_char_t const percent = '%';
+
418 /// ds_char_t const space = ' ';
+
419 /// ds_char_t const lf = '\n';
+
420 /// ds_char_t const esc = '\x1b';
+
421 ///
+
422 /// assert (ds_char_is_ascii_graphic (uppercase_a));
+
423 /// assert (ds_char_is_ascii_graphic (uppercase_g));
+
424 /// assert (ds_char_is_ascii_graphic (a));
+
425 /// assert (ds_char_is_ascii_graphic (g));
+
426 /// assert (ds_char_is_ascii_graphic (zero));
+
427 /// assert (ds_char_is_ascii_graphic (percent));
+
428 /// assert (!ds_char_is_ascii_graphic (space));
+
429 /// assert (!ds_char_is_ascii_graphic (lf));
+
430 /// assert (!ds_char_is_ascii_graphic (esc));
+
431 /// ```
+
432 extern bool ds_char_is_ascii_graphic (ds_char_t self);
+
433
+
434 /// @brief Checks if @p self is an ASCII whitespace character:
+
435 /// U+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED,
+
436 /// U+000C FORM FEED, or U+000D CARRIAGE RETURN.
+
437 ///
+
438 /// `ds` uses the WhatWG Infra Standard's [definition of ASCII
+
439 /// whitespace][infra-aw]. There are several other definitions in wide use.
+
440 /// For instance, [the POSIX locale][pct] includes U+000B VERTICAL TAB as
+
441 /// well as all the above characters, but—from the very same
+
442 /// specification—[the default rule for "field splitting" in the Bourne
+
443 /// shell][bfs] considers *only* SPACE, HORIZONTAL TAB, and LINE FEED as
+
444 /// whitespace.
+
445 ///
+
446 /// If you are writing a program that will process an existing file format,
+
447 /// check what that format's definition of whitespace is before using this
+
448 /// function.
+
449 ///
+
450 /// [infra-aw]: https://infra.spec.whatwg.org/#ascii-whitespace
+
451 /// [pct]:
+
452 /// https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_01
+
453 /// [bfs]:
+
454 /// https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_05
+
455 ///
+
456 /// @param self The value to check.
+
457 /// @return `true` if @p self is an ASCII whitespace character, `false`
+
458 /// otherwise.
+
459 ///
+
460 /// ### Examples
+
461 ///
+
462 /// Basic usage:
+
463 ///
+
464 /// ```c
+
465 /// ds_char_t const uppercase_a = 'A';
+
466 /// ds_char_t const uppercase_g = 'G';
+
467 /// ds_char_t const a = 'a';
+
468 /// ds_char_t const g = 'g';
+
469 /// ds_char_t const zero = '0';
+
470 /// ds_char_t const percent = '%';
+
471 /// ds_char_t const space = ' ';
+
472 /// ds_char_t const lf = '\n';
+
473 /// ds_char_t const esc = '\x1b';
+
474 ///
+
475 /// assert (!ds_char_is_ascii_whitespace (uppercase_a));
+
476 /// assert (!ds_char_is_ascii_whitespace (uppercase_g));
+
477 /// assert (!ds_char_is_ascii_whitespace (a));
+
478 /// assert (!ds_char_is_ascii_whitespace (g));
+
479 /// assert (!ds_char_is_ascii_whitespace (zero));
+
480 /// assert (!ds_char_is_ascii_whitespace (percent));
+
481 /// assert (ds_char_is_ascii_whitespace (space));
+
482 /// assert (ds_char_is_ascii_whitespace (lf));
+
483 /// assert (!ds_char_is_ascii_whitespace (esc));
+
484 /// ```
+
485 extern bool ds_char_is_ascii_whitespace (ds_char_t self);
+
486
+
487 /// @brief Checks if @p self is an ASCII control character:
+
488 /// U+0000 @ref DS_CHAR_NUL "NUL" ..= U+001F UNIT SEPARATOR, or U+007F
+
489 /// DELETE. Note that most ASCII whitespace characters are control
+
490 /// characters, but SPACE is not.
+
491 ///
+
492 /// @param self The value to check.
+
493 /// @return `true` if @p self is an ASCII control character, `false`
+
494 /// otherwise.
+
495 ///
+
496 /// ### Examples
+
497 ///
+
498 /// Basic usage:
+
499 ///
+
500 /// ```c
+
501 /// ds_char_t const uppercase_a = 'A';
+
502 /// ds_char_t const uppercase_g = 'G';
+
503 /// ds_char_t const a = 'a';
+
504 /// ds_char_t const g = 'g';
+
505 /// ds_char_t const zero = '0';
+
506 /// ds_char_t const percent = '%';
+
507 /// ds_char_t const space = ' ';
+
508 /// ds_char_t const lf = '\n';
+
509 /// ds_char_t const esc = '\x1b';
+
510 ///
+
511 /// assert (!ds_char_is_ascii_control (uppercase_a));
+
512 /// assert (!ds_char_is_ascii_control (uppercase_g));
+
513 /// assert (!ds_char_is_ascii_control (a));
+
514 /// assert (!ds_char_is_ascii_control (g));
+
515 /// assert (!ds_char_is_ascii_control (zero));
+
516 /// assert (!ds_char_is_ascii_control (percent));
+
517 /// assert (!ds_char_is_ascii_control (space));
+
518 /// assert (ds_char_is_ascii_control (lf));
+
519 /// assert (ds_char_is_ascii_control (esc));
+
520 /// ```
+
521 extern bool ds_char_is_ascii_control (ds_char_t self);
+
522
+
523/// @brief The size of @ref ds_char_t "char" in bytes.
+
524///
+
525/// ### Examples
+
526///
+
527/// Basic usage:
+
528///
+
529/// ```c
+
530/// assert (DS_CHAR_BYTES == 1);
+
531/// ```
+
532#define DS_CHAR_BYTES ((ds_usize_t)sizeof (ds_char_t))
+
533
+
534/// @brief The smallest value that can be represented by @ref ds_char_t "char".
+
535///
+
536/// ### Examples
+
537///
+
538/// Basic usage:
+
539///
+
540/// ```c
+
541/// assert (DS_CHAR_MIN == CHAR_MIN);
+
542/// ```
+
543#define DS_CHAR_MIN ((ds_char_t)CHAR_MIN)
+
544
+
545/// @brief The largest value that can be represented by @ref ds_char_t "char".
+
546///
+
547/// ### Examples
+
548///
+
549/// Basic usage:
+
550///
+
551/// ```c
+
552/// assert (DS_CHAR_MAX == CHAR_MAX);
+
553/// ```
+
554#define DS_CHAR_MAX ((ds_char_t)CHAR_MAX)
+
555
+
556/// @brief The null-terminator character.
+
557///
+
558/// ### Examples
+
559///
+
560/// Basic usage:
+
561///
+
562/// ```c
+
563/// assert (DS_CHAR_NUL == '\0');
+
564/// ```
+
565#define DS_CHAR_NUL ((ds_char_t)0)
+
566
+
567/// @brief @ref ds_char_t "char" notation. Can be used in `scanf` to parse and
+
568/// read @ref ds_char_t "char" values.
+
569///
+
570/// @warning It is strongly advised to use
+
571/// [`fgets`](https://en.cppreference.com/w/c/io/fgets "fgets -
+
572/// cppreference.com") instead of `scanf` to read input.
+
573///
+
574/// ### Examples
+
575///
+
576/// Basic usage:
+
577///
+
578/// ```c
+
579/// ds_char_t x;
+
580/// scanf ("%" DS_SCN_CHAR, &x);
+
581/// ```
+
582#define DS_SCN_CHAR "c"
+
583
+
584/// @brief @ref ds_char_t "char" notation. Can be used in `printf` to format
+
585/// and write @ref ds_char_t "char" values.
+
586///
+
587/// ### Examples
+
588///
+
589/// Basic usage:
+
590///
+
591/// ```c
+
592/// ds_char_t x = DS_CHAR_MAX;
+
593/// printf ("%" DS_PRI_CHAR, x);
+
594/// ```
+
595#define DS_PRI_CHAR "c"
+
596
+
597#ifdef __cplusplus
+
598}
+
599#endif /* __cplusplus */
+
600
+
601#endif /* DS_CHAR_H */
+
bool ds_char_in_range(ds_char_t self, ds_char_t start, ds_char_t end)
Checks if self lies in the inclusive interval between start and end.
Definition: char.c:29
+
bool ds_char_is_ascii_hexdigit(ds_char_t self)
Checks if self is an ASCII hexadecimal digit:
Definition: char.c:96
+
bool ds_char_is_ascii_control(ds_char_t self)
Checks if self is an ASCII control character: U+0000 NUL ..= U+001F UNIT SEPARATOR,...
Definition: char.c:124
+
char ds_char_t
A character type.
Definition: char.h:30
+
bool ds_char_is_ascii_digit(ds_char_t self)
Checks if self is an ASCII decimal digit: U+0030 '0' ..= U+0039 '9'.
Definition: char.c:84
+
bool ds_char_is_ascii_uppercase(ds_char_t self)
Checks if self is an ASCII uppercase character: U+0041 'A' ..= U+005A 'Z'.
Definition: char.c:66
+
ds_char_t ds_char_to_ascii_lowercase(ds_char_t self)
Makes a copy of self in its ASCII lower case equivalent.
Definition: char.c:44
+
bool ds_char_eq_ignore_ascii_case(ds_char_t self, ds_char_t other)
Checks that self and other are an ASCII case-insensitive match.
Definition: char.c:52
+
bool ds_char_is_ascii_lowercase(ds_char_t self)
Checks if self is an ASCII lowercase character: U+0061 'a' ..= U+007A 'z'.
Definition: char.c:72
+
bool ds_char_is_ascii_alphanumeric(ds_char_t self)
Checks if self is an ASCII alphanumeric character:
Definition: char.c:78
+
bool ds_char_is_ascii_punctuation(ds_char_t self)
Checks if self is an ASCII punctuation character:
Definition: char.c:103
+
bool ds_char_is_ascii_alphabetic(ds_char_t self)
Checks if self is an ASCII alphabetic character:
Definition: char.c:59
+
ds_char_t ds_char_to_ascii_uppercase(ds_char_t self)
Makes a copy of self in its ASCII upper case equivalent.
Definition: char.c:36
+
bool ds_char_is_ascii_graphic(ds_char_t self)
Checks if self is an ASCII graphic character: U+0021 '!' ..= U+007E '~'.
Definition: char.c:111
+
bool ds_char_is_ascii_whitespace(ds_char_t self)
Checks if self is an ASCII whitespace character: U+0020 SPACE, U+0009 HORIZONTAL TAB,...
Definition: char.c:117
+
bool ds_char_is_ascii_octdigit(ds_char_t self)
Checks if self is an ASCII octal digit: U+0030 '0' ..= U+0037 '7'.
Definition: char.c:90
Declaration of the usize type, related constants and functions.
diff --git a/docs/html/dir_000001_000002.html b/docs/html/dir_000001_000002.html index d0c0663..c50485b 100644 --- a/docs/html/dir_000001_000002.html +++ b/docs/html/dir_000001_000002.html @@ -78,7 +78,7 @@
ds 0.3.0 0.4.0
A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
diff --git a/docs/html/dir_122f4add68bb94b3fee614989bbbd8f9.html b/docs/html/dir_122f4add68bb94b3fee614989bbbd8f9.html index 93ca343..5032566 100644 --- a/docs/html/dir_122f4add68bb94b3fee614989bbbd8f9.html +++ b/docs/html/dir_122f4add68bb94b3fee614989bbbd8f9.html @@ -78,7 +78,7 @@
ds 0.3.0 0.4.0
A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
diff --git a/docs/html/dir_122f4add68bb94b3fee614989bbbd8f9.js b/docs/html/dir_122f4add68bb94b3fee614989bbbd8f9.js index 64fc79a..4b31baa 100644 --- a/docs/html/dir_122f4add68bb94b3fee614989bbbd8f9.js +++ b/docs/html/dir_122f4add68bb94b3fee614989bbbd8f9.js @@ -1,6 +1,6 @@ var dir_122f4add68bb94b3fee614989bbbd8f9 = [ - [ "char.c", "char_8c.html", null ], + [ "char.c", "char_8c.html", "char_8c" ], [ "helpers.c", "helpers_8c.html", "helpers_8c" ], [ "usize.c", "usize_8c.html", null ] ]; \ No newline at end of file diff --git a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 60726f7..499a131 100644 --- a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -78,7 +78,7 @@
ds 0.3.0 0.4.0
A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
diff --git a/docs/html/dir_b9148fc9a2e8ee35527863418373429b.html b/docs/html/dir_b9148fc9a2e8ee35527863418373429b.html index a1a36e8..f9ab272 100644 --- a/docs/html/dir_b9148fc9a2e8ee35527863418373429b.html +++ b/docs/html/dir_b9148fc9a2e8ee35527863418373429b.html @@ -78,7 +78,7 @@
ds 0.3.0 0.4.0
A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
diff --git a/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html b/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html index 34410ed..e8b7d7c 100644 --- a/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html @@ -78,7 +78,7 @@
ds 0.3.0 0.4.0
A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
diff --git a/docs/html/files.html b/docs/html/files.html index 2b26eac..76883ca 100644 --- a/docs/html/files.html +++ b/docs/html/files.html @@ -78,7 +78,7 @@
ds 0.3.0 0.4.0
A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
diff --git a/docs/html/globals.html b/docs/html/globals.html index 2240209..677f595 100644 --- a/docs/html/globals.html +++ b/docs/html/globals.html @@ -78,7 +78,7 @@
ds 0.3.0 0.4.0
A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
@@ -141,12 +141,29 @@
-
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
    +
    Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
    + +

    - d -

    • DS_CHAR_BYTES : char.h
    • +
    • ds_char_eq_ignore_ascii_case() : char.h, char.c
    • +
    • ds_char_in_range() : char.h, char.c
    • +
    • ds_char_is_ascii_alphabetic() : char.h, char.c
    • +
    • ds_char_is_ascii_alphanumeric() : char.h, char.c
    • +
    • ds_char_is_ascii_control() : char.h, char.c
    • +
    • ds_char_is_ascii_digit() : char.h, char.c
    • +
    • ds_char_is_ascii_graphic() : char.c, char.h
    • +
    • ds_char_is_ascii_hexdigit() : char.h, char.c
    • +
    • ds_char_is_ascii_lowercase() : char.h, char.c
    • +
    • ds_char_is_ascii_octdigit() : char.h, char.c
    • +
    • ds_char_is_ascii_punctuation() : char.h, char.c
    • +
    • ds_char_is_ascii_uppercase() : char.h, char.c
    • +
    • ds_char_is_ascii_whitespace() : char.h, char.c
    • DS_CHAR_MAX : char.h
    • DS_CHAR_MIN : char.h
    • DS_CHAR_NUL : char.h
    • ds_char_t : char.h
    • +
    • ds_char_to_ascii_lowercase() : char.h, char.c
    • +
    • ds_char_to_ascii_uppercase() : char.h, char.c
    • DS_HELPERS_CLAMP : helpers.h
    • ds_helpers_is_instance() : helpers.h, helpers.c
    • ds_helpers_is_null() : helpers.h, helpers.c
    • diff --git a/docs/html/globals_defs.html b/docs/html/globals_defs.html index 811f64a..9e4984d 100644 --- a/docs/html/globals_defs.html +++ b/docs/html/globals_defs.html @@ -78,7 +78,7 @@
      ds 0.3.0 0.4.0
      A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
      diff --git a/docs/html/globals_func.html b/docs/html/globals_func.html index 95e4850..9f8edc4 100644 --- a/docs/html/globals_func.html +++ b/docs/html/globals_func.html @@ -78,7 +78,7 @@
      ds 0.3.0 0.4.0
      A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
      @@ -141,7 +141,24 @@
    +  + +

    - d -

    diff --git a/docs/html/globals_type.html b/docs/html/globals_type.html index a24d87c..28fe6c2 100644 --- a/docs/html/globals_type.html +++ b/docs/html/globals_type.html @@ -78,7 +78,7 @@
    ds 0.3.0 0.4.0
    A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
    diff --git a/docs/html/graph_legend.html b/docs/html/graph_legend.html index 41cbdad..e56b5cc 100644 --- a/docs/html/graph_legend.html +++ b/docs/html/graph_legend.html @@ -78,7 +78,7 @@
    ds 0.3.0 0.4.0
    A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
    diff --git a/docs/html/helpers_8c.html b/docs/html/helpers_8c.html index ad40190..4bf47f7 100644 --- a/docs/html/helpers_8c.html +++ b/docs/html/helpers_8c.html @@ -78,7 +78,7 @@
    ds 0.3.0 0.4.0
    A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
    @@ -207,7 +207,7 @@

    Returns
    true if ptr is a valid non-NULL pointer. false otherwise.
    -

    +

    Examples

    Basic usage:

    int x = 0;
    @@ -251,7 +251,7 @@

    Returns
    true if ptr is NULL. false otherwise.
    -

    +

    Examples

    Basic usage:

    assert (ds_helpers_is_null (NULL));
    diff --git a/docs/html/helpers_8c_source.html b/docs/html/helpers_8c_source.html index 2e05136..70d89f0 100644 --- a/docs/html/helpers_8c_source.html +++ b/docs/html/helpers_8c_source.html @@ -78,7 +78,7 @@
    ds 0.3.0 0.4.0
    A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
    diff --git a/docs/html/helpers_8h.html b/docs/html/helpers_8h.html index a821a78..5857305 100644 --- a/docs/html/helpers_8h.html +++ b/docs/html/helpers_8h.html @@ -78,7 +78,7 @@
    ds 0.3.0 0.4.0
    A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
    @@ -244,7 +244,7 @@

    Returns
    max if self is greater than max, and min if self is less than min. Otherwise this returns self.
    Attention
    Always ensure that min is less than or equal to max.
    -

    +

    Examples

    Basic usage:

    assert (DS_HELPERS_CLAMP (-3, -2, 1), -2);
    @@ -293,7 +293,7 @@

    Returns
    The maximum of self and other.
    other if the comparison determines them to be equal.
    -

    +

    Examples

    Basic usage:

    assert (DS_HELPERS_MAX (1, 2) == 2);
    @@ -341,7 +341,7 @@

    Returns
    The minimum of self and other.
    self if the comparison determines them to be equal.
    -

    +

    Examples

    Basic usage:

    assert (DS_HELPERS_MIN (1, 2) == 1);
    @@ -377,7 +377,7 @@

    Returns
    true if ptr is a valid non-NULL pointer. false otherwise.
    -

    +

    Examples

    Basic usage:

    int x = 0;
    @@ -421,7 +421,7 @@

    Returns
    true if ptr is NULL. false otherwise.
    -

    +

    Examples

    Basic usage:

    assert (ds_helpers_is_null (NULL));
    diff --git a/docs/html/helpers_8h_source.html b/docs/html/helpers_8h_source.html index adee15c..0388787 100644 --- a/docs/html/helpers_8h_source.html +++ b/docs/html/helpers_8h_source.html @@ -78,7 +78,7 @@
    ds 0.3.0 0.4.0
    A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
    diff --git a/docs/html/index.html b/docs/html/index.html index 363f2be..54ebef0 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -78,7 +78,7 @@
    ds 0.3.0 0.4.0
    A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
    @@ -144,7 +144,8 @@
    dynamic strings
    -

    A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.

    +

    A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.

    +
    Documentation | Repository

    diff --git a/docs/html/menudata.js b/docs/html/menudata.js index 209ea71..1124a83 100644 --- a/docs/html/menudata.js +++ b/docs/html/menudata.js @@ -27,7 +27,9 @@ var menudata={children:[ {text:"Files",url:"files.html",children:[ {text:"File List",url:"files.html"}, {text:"Globals",url:"globals.html",children:[ -{text:"All",url:"globals.html"}, -{text:"Functions",url:"globals_func.html"}, +{text:"All",url:"globals.html",children:[ +{text:"d",url:"globals.html#index_d"}]}, +{text:"Functions",url:"globals_func.html",children:[ +{text:"d",url:"globals_func.html#index_d"}]}, {text:"Typedefs",url:"globals_type.html"}, {text:"Macros",url:"globals_defs.html"}]}]}]} diff --git a/docs/html/navtreeindex0.js b/docs/html/navtreeindex0.js index d25bbf5..668496c 100644 --- a/docs/html/navtreeindex0.js +++ b/docs/html/navtreeindex0.js @@ -1,14 +1,44 @@ var NAVTREEINDEX0 = { "char_8c.html":[1,0,1,0,0], +"char_8c.html#a02834d689c11586dfd63cfb5c5af6ec3":[1,0,1,0,0,2], +"char_8c.html#a1e1289b7cecd55f4fb932418d093e8ab":[1,0,1,0,0,7], +"char_8c.html#a24c097e7e8fc5fb63133cfb6a3f84587":[1,0,1,0,0,4], +"char_8c.html#a349af3c98a6fb7cdeff001119743c1ca":[1,0,1,0,0,3], +"char_8c.html#a603228992a323665c2ad4c34d86a95aa":[1,0,1,0,0,12], +"char_8c.html#a61380babe759ddeea94ee96a230e0916":[1,0,1,0,0,1], +"char_8c.html#a643fe0b72862983c36a6b61ad57c1cfe":[1,0,1,0,0,0], +"char_8c.html#a6bbbed2e3dec7ed2aa9eff0683f2f351":[1,0,1,0,0,5], +"char_8c.html#a800be38168fd75c1505b935a62d2f9ae":[1,0,1,0,0,11], +"char_8c.html#a8385de1c37e3dfa511ca0ebdec5ed29d":[1,0,1,0,0,13], +"char_8c.html#a988ae15b4f6c55c6b664caae27082ac1":[1,0,1,0,0,14], +"char_8c.html#a9da93370b843c312fc7fae6a373c4206":[1,0,1,0,0,9], +"char_8c.html#abe0cdf5de54fe62bcf737d83ad2cb4f8":[1,0,1,0,0,10], +"char_8c.html#aca6506a9db8ce783cac59d28def15b17":[1,0,1,0,0,6], +"char_8c.html#addb2c2f7cdda91ae57f50b84a55af573":[1,0,1,0,0,8], "char_8c_source.html":[1,0,1,0,0], "char_8h.html":[1,0,0,0,0], +"char_8h.html#a0d17ad586e00766b4684bdac9924ed0e":[1,0,0,0,0,8], "char_8h.html#a1185442ceeb0594a4a4c8d79abce60ad":[1,0,0,0,0,0], +"char_8h.html#a119f494ae625a456bb4e62b3a0f78391":[1,0,0,0,0,14], +"char_8h.html#a1463f455ab57b0671638e381a2a85d26":[1,0,0,0,0,11], "char_8h.html#a2c809211274ede9eddff5a750bdeb5ae":[1,0,0,0,0,6], +"char_8h.html#a56c6c6cbf8bb5eb5e06e29961cfd0cf1":[1,0,0,0,0,12], +"char_8h.html#a682fb8a7ff2098b9de6feab90fe28bf2":[1,0,0,0,0,18], "char_8h.html#a6a4d17f251bbb80c89c3dee5cc586023":[1,0,0,0,0,2], +"char_8h.html#a6d9242880df4717ee13d29c95a33c2f8":[1,0,0,0,0,20], +"char_8h.html#a909932a31d20457ee7765543113c2493":[1,0,0,0,0,7], +"char_8h.html#aa0bffbb96f997d839b69ca28f8e0e43e":[1,0,0,0,0,15], +"char_8h.html#ab2495c17d510f2bb9c5c577d2e8a4531":[1,0,0,0,0,10], +"char_8h.html#abfc454a0d93d548ed94f109c77b1e68f":[1,0,0,0,0,17], +"char_8h.html#ac124f08e43b0ae720d1548f482144407":[1,0,0,0,0,9], +"char_8h.html#acf28b292dd407661577ae4df5e40684b":[1,0,0,0,0,21], "char_8h.html#ae2ad7e7322720db2607b90a7f0011fa7":[1,0,0,0,0,5], "char_8h.html#ae542829a032ef5e36137dd69d3415584":[1,0,0,0,0,1], "char_8h.html#ae7a05ab6f23500c4eb3f066e5b381bd4":[1,0,0,0,0,4], +"char_8h.html#af50ba493605648683d0b49fd1df62211":[1,0,0,0,0,13], +"char_8h.html#af92b320584b2581e725f2d6ae4d3f18a":[1,0,0,0,0,19], +"char_8h.html#afb06a1b874a501739f2358d019bde21d":[1,0,0,0,0,16], "char_8h.html#aff8ca144f3aed3f78bedd4310eefbbbc":[1,0,0,0,0,3], "char_8h_source.html":[1,0,0,0,0], "dir_122f4add68bb94b3fee614989bbbd8f9.html":[1,0,1,0], diff --git a/docs/html/search/all_2.js b/docs/html/search/all_2.js index a4ccde6..72a2e1b 100644 --- a/docs/html/search/all_2.js +++ b/docs/html/search/all_2.js @@ -1,21 +1,36 @@ var searchData= [ ['ds_5fchar_5fbytes_0',['DS_CHAR_BYTES',['../char_8h.html#a1185442ceeb0594a4a4c8d79abce60ad',1,'char.h']]], - ['ds_5fchar_5fmax_1',['DS_CHAR_MAX',['../char_8h.html#ae542829a032ef5e36137dd69d3415584',1,'char.h']]], - ['ds_5fchar_5fmin_2',['DS_CHAR_MIN',['../char_8h.html#a6a4d17f251bbb80c89c3dee5cc586023',1,'char.h']]], - ['ds_5fchar_5fnul_3',['DS_CHAR_NUL',['../char_8h.html#aff8ca144f3aed3f78bedd4310eefbbbc',1,'char.h']]], - ['ds_5fchar_5ft_4',['ds_char_t',['../char_8h.html#a2c809211274ede9eddff5a750bdeb5ae',1,'char.h']]], - ['ds_5fhelpers_5fclamp_5',['DS_HELPERS_CLAMP',['../helpers_8h.html#af76d252a309762d8769be5426777fefa',1,'helpers.h']]], - ['ds_5fhelpers_5fis_5finstance_6',['ds_helpers_is_instance',['../helpers_8h.html#acd47143f0c7cabf4f90ac3c849de195c',1,'ds_helpers_is_instance(void const *ptr): helpers.c'],['../helpers_8c.html#a504f9fc2c382cde060c859bf82ea0b51',1,'ds_helpers_is_instance(void const *const ptr): helpers.c']]], - ['ds_5fhelpers_5fis_5fnull_7',['ds_helpers_is_null',['../helpers_8h.html#a33cc59a60961d28d4cba1f41a76bb4e9',1,'ds_helpers_is_null(void const *ptr): helpers.c'],['../helpers_8c.html#a5b2ecacaab141d28a86aa3cbbfc92dd8',1,'ds_helpers_is_null(void const *const ptr): helpers.c']]], - ['ds_5fhelpers_5fmax_8',['DS_HELPERS_MAX',['../helpers_8h.html#aad9c75302c0d731d2283d3aa23a330b2',1,'helpers.h']]], - ['ds_5fhelpers_5fmin_9',['DS_HELPERS_MIN',['../helpers_8h.html#a4554cbffb13739970bee6fbe17f4cef4',1,'helpers.h']]], - ['ds_5fpri_5fchar_10',['DS_PRI_CHAR',['../char_8h.html#ae7a05ab6f23500c4eb3f066e5b381bd4',1,'char.h']]], - ['ds_5fpri_5fusize_11',['DS_PRI_USIZE',['../usize_8h.html#a4c30f0cc0613fbb63234f2075596dc8b',1,'usize.h']]], - ['ds_5fscn_5fchar_12',['DS_SCN_CHAR',['../char_8h.html#ae2ad7e7322720db2607b90a7f0011fa7',1,'char.h']]], - ['ds_5fscn_5fusize_13',['DS_SCN_USIZE',['../usize_8h.html#a6206726a11ca423f7c92010180684259',1,'usize.h']]], - ['ds_5fusize_5fbytes_14',['DS_USIZE_BYTES',['../usize_8h.html#ae96c519acbabee86b8f60110a91553a7',1,'usize.h']]], - ['ds_5fusize_5fmax_15',['DS_USIZE_MAX',['../usize_8h.html#adac120b8a16419c4546c05b83513d5c7',1,'usize.h']]], - ['ds_5fusize_5fmin_16',['DS_USIZE_MIN',['../usize_8h.html#a2e4064a3bfc2acd50c5465078ebe346d',1,'usize.h']]], - ['ds_5fusize_5ft_17',['ds_usize_t',['../usize_8h.html#af225603b1dc0270688232ccab1cc2f52',1,'usize.h']]] + ['ds_5fchar_5feq_5fignore_5fascii_5fcase_1',['ds_char_eq_ignore_ascii_case',['../char_8h.html#a909932a31d20457ee7765543113c2493',1,'ds_char_eq_ignore_ascii_case(ds_char_t self, ds_char_t other): char.c'],['../char_8c.html#a643fe0b72862983c36a6b61ad57c1cfe',1,'ds_char_eq_ignore_ascii_case(ds_char_t const self, ds_char_t const other): char.c']]], + ['ds_5fchar_5fin_5frange_2',['ds_char_in_range',['../char_8h.html#a0d17ad586e00766b4684bdac9924ed0e',1,'ds_char_in_range(ds_char_t self, ds_char_t start, ds_char_t end): char.c'],['../char_8c.html#a61380babe759ddeea94ee96a230e0916',1,'ds_char_in_range(ds_char_t const self, ds_char_t const start, ds_char_t const end): char.c']]], + ['ds_5fchar_5fis_5fascii_5falphabetic_3',['ds_char_is_ascii_alphabetic',['../char_8h.html#ac124f08e43b0ae720d1548f482144407',1,'ds_char_is_ascii_alphabetic(ds_char_t self): char.c'],['../char_8c.html#a02834d689c11586dfd63cfb5c5af6ec3',1,'ds_char_is_ascii_alphabetic(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5falphanumeric_4',['ds_char_is_ascii_alphanumeric',['../char_8h.html#ab2495c17d510f2bb9c5c577d2e8a4531',1,'ds_char_is_ascii_alphanumeric(ds_char_t self): char.c'],['../char_8c.html#a349af3c98a6fb7cdeff001119743c1ca',1,'ds_char_is_ascii_alphanumeric(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5fcontrol_5',['ds_char_is_ascii_control',['../char_8h.html#a1463f455ab57b0671638e381a2a85d26',1,'ds_char_is_ascii_control(ds_char_t self): char.c'],['../char_8c.html#a24c097e7e8fc5fb63133cfb6a3f84587',1,'ds_char_is_ascii_control(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5fdigit_6',['ds_char_is_ascii_digit',['../char_8h.html#a56c6c6cbf8bb5eb5e06e29961cfd0cf1',1,'ds_char_is_ascii_digit(ds_char_t self): char.c'],['../char_8c.html#a6bbbed2e3dec7ed2aa9eff0683f2f351',1,'ds_char_is_ascii_digit(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5fgraphic_7',['ds_char_is_ascii_graphic',['../char_8c.html#aca6506a9db8ce783cac59d28def15b17',1,'ds_char_is_ascii_graphic(ds_char_t const self): char.c'],['../char_8h.html#af50ba493605648683d0b49fd1df62211',1,'ds_char_is_ascii_graphic(ds_char_t self): char.c']]], + ['ds_5fchar_5fis_5fascii_5fhexdigit_8',['ds_char_is_ascii_hexdigit',['../char_8h.html#a119f494ae625a456bb4e62b3a0f78391',1,'ds_char_is_ascii_hexdigit(ds_char_t self): char.c'],['../char_8c.html#a1e1289b7cecd55f4fb932418d093e8ab',1,'ds_char_is_ascii_hexdigit(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5flowercase_9',['ds_char_is_ascii_lowercase',['../char_8h.html#aa0bffbb96f997d839b69ca28f8e0e43e',1,'ds_char_is_ascii_lowercase(ds_char_t self): char.c'],['../char_8c.html#addb2c2f7cdda91ae57f50b84a55af573',1,'ds_char_is_ascii_lowercase(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5foctdigit_10',['ds_char_is_ascii_octdigit',['../char_8h.html#afb06a1b874a501739f2358d019bde21d',1,'ds_char_is_ascii_octdigit(ds_char_t self): char.c'],['../char_8c.html#a9da93370b843c312fc7fae6a373c4206',1,'ds_char_is_ascii_octdigit(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5fpunctuation_11',['ds_char_is_ascii_punctuation',['../char_8h.html#abfc454a0d93d548ed94f109c77b1e68f',1,'ds_char_is_ascii_punctuation(ds_char_t self): char.c'],['../char_8c.html#abe0cdf5de54fe62bcf737d83ad2cb4f8',1,'ds_char_is_ascii_punctuation(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5fuppercase_12',['ds_char_is_ascii_uppercase',['../char_8h.html#a682fb8a7ff2098b9de6feab90fe28bf2',1,'ds_char_is_ascii_uppercase(ds_char_t self): char.c'],['../char_8c.html#a800be38168fd75c1505b935a62d2f9ae',1,'ds_char_is_ascii_uppercase(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5fwhitespace_13',['ds_char_is_ascii_whitespace',['../char_8h.html#af92b320584b2581e725f2d6ae4d3f18a',1,'ds_char_is_ascii_whitespace(ds_char_t self): char.c'],['../char_8c.html#a603228992a323665c2ad4c34d86a95aa',1,'ds_char_is_ascii_whitespace(ds_char_t const self): char.c']]], + ['ds_5fchar_5fmax_14',['DS_CHAR_MAX',['../char_8h.html#ae542829a032ef5e36137dd69d3415584',1,'char.h']]], + ['ds_5fchar_5fmin_15',['DS_CHAR_MIN',['../char_8h.html#a6a4d17f251bbb80c89c3dee5cc586023',1,'char.h']]], + ['ds_5fchar_5fnul_16',['DS_CHAR_NUL',['../char_8h.html#aff8ca144f3aed3f78bedd4310eefbbbc',1,'char.h']]], + ['ds_5fchar_5ft_17',['ds_char_t',['../char_8h.html#a2c809211274ede9eddff5a750bdeb5ae',1,'char.h']]], + ['ds_5fchar_5fto_5fascii_5flowercase_18',['ds_char_to_ascii_lowercase',['../char_8h.html#a6d9242880df4717ee13d29c95a33c2f8',1,'ds_char_to_ascii_lowercase(ds_char_t self): char.c'],['../char_8c.html#a8385de1c37e3dfa511ca0ebdec5ed29d',1,'ds_char_to_ascii_lowercase(ds_char_t const self): char.c']]], + ['ds_5fchar_5fto_5fascii_5fuppercase_19',['ds_char_to_ascii_uppercase',['../char_8h.html#acf28b292dd407661577ae4df5e40684b',1,'ds_char_to_ascii_uppercase(ds_char_t self): char.c'],['../char_8c.html#a988ae15b4f6c55c6b664caae27082ac1',1,'ds_char_to_ascii_uppercase(ds_char_t const self): char.c']]], + ['ds_5fhelpers_5fclamp_20',['DS_HELPERS_CLAMP',['../helpers_8h.html#af76d252a309762d8769be5426777fefa',1,'helpers.h']]], + ['ds_5fhelpers_5fis_5finstance_21',['ds_helpers_is_instance',['../helpers_8h.html#acd47143f0c7cabf4f90ac3c849de195c',1,'ds_helpers_is_instance(void const *ptr): helpers.c'],['../helpers_8c.html#a504f9fc2c382cde060c859bf82ea0b51',1,'ds_helpers_is_instance(void const *const ptr): helpers.c']]], + ['ds_5fhelpers_5fis_5fnull_22',['ds_helpers_is_null',['../helpers_8h.html#a33cc59a60961d28d4cba1f41a76bb4e9',1,'ds_helpers_is_null(void const *ptr): helpers.c'],['../helpers_8c.html#a5b2ecacaab141d28a86aa3cbbfc92dd8',1,'ds_helpers_is_null(void const *const ptr): helpers.c']]], + ['ds_5fhelpers_5fmax_23',['DS_HELPERS_MAX',['../helpers_8h.html#aad9c75302c0d731d2283d3aa23a330b2',1,'helpers.h']]], + ['ds_5fhelpers_5fmin_24',['DS_HELPERS_MIN',['../helpers_8h.html#a4554cbffb13739970bee6fbe17f4cef4',1,'helpers.h']]], + ['ds_5fpri_5fchar_25',['DS_PRI_CHAR',['../char_8h.html#ae7a05ab6f23500c4eb3f066e5b381bd4',1,'char.h']]], + ['ds_5fpri_5fusize_26',['DS_PRI_USIZE',['../usize_8h.html#a4c30f0cc0613fbb63234f2075596dc8b',1,'usize.h']]], + ['ds_5fscn_5fchar_27',['DS_SCN_CHAR',['../char_8h.html#ae2ad7e7322720db2607b90a7f0011fa7',1,'char.h']]], + ['ds_5fscn_5fusize_28',['DS_SCN_USIZE',['../usize_8h.html#a6206726a11ca423f7c92010180684259',1,'usize.h']]], + ['ds_5fusize_5fbytes_29',['DS_USIZE_BYTES',['../usize_8h.html#ae96c519acbabee86b8f60110a91553a7',1,'usize.h']]], + ['ds_5fusize_5fmax_30',['DS_USIZE_MAX',['../usize_8h.html#adac120b8a16419c4546c05b83513d5c7',1,'usize.h']]], + ['ds_5fusize_5fmin_31',['DS_USIZE_MIN',['../usize_8h.html#a2e4064a3bfc2acd50c5465078ebe346d',1,'usize.h']]], + ['ds_5fusize_5ft_32',['ds_usize_t',['../usize_8h.html#af225603b1dc0270688232ccab1cc2f52',1,'usize.h']]] ]; diff --git a/docs/html/search/functions_0.js b/docs/html/search/functions_0.js index 66bb9de..9f1d656 100644 --- a/docs/html/search/functions_0.js +++ b/docs/html/search/functions_0.js @@ -1,5 +1,20 @@ var searchData= [ - ['ds_5fhelpers_5fis_5finstance_0',['ds_helpers_is_instance',['../helpers_8h.html#acd47143f0c7cabf4f90ac3c849de195c',1,'ds_helpers_is_instance(void const *ptr): helpers.c'],['../helpers_8c.html#a504f9fc2c382cde060c859bf82ea0b51',1,'ds_helpers_is_instance(void const *const ptr): helpers.c']]], - ['ds_5fhelpers_5fis_5fnull_1',['ds_helpers_is_null',['../helpers_8h.html#a33cc59a60961d28d4cba1f41a76bb4e9',1,'ds_helpers_is_null(void const *ptr): helpers.c'],['../helpers_8c.html#a5b2ecacaab141d28a86aa3cbbfc92dd8',1,'ds_helpers_is_null(void const *const ptr): helpers.c']]] + ['ds_5fchar_5feq_5fignore_5fascii_5fcase_0',['ds_char_eq_ignore_ascii_case',['../char_8c.html#a643fe0b72862983c36a6b61ad57c1cfe',1,'ds_char_eq_ignore_ascii_case(ds_char_t const self, ds_char_t const other): char.c'],['../char_8h.html#a909932a31d20457ee7765543113c2493',1,'ds_char_eq_ignore_ascii_case(ds_char_t self, ds_char_t other): char.c']]], + ['ds_5fchar_5fin_5frange_1',['ds_char_in_range',['../char_8h.html#a0d17ad586e00766b4684bdac9924ed0e',1,'ds_char_in_range(ds_char_t self, ds_char_t start, ds_char_t end): char.c'],['../char_8c.html#a61380babe759ddeea94ee96a230e0916',1,'ds_char_in_range(ds_char_t const self, ds_char_t const start, ds_char_t const end): char.c']]], + ['ds_5fchar_5fis_5fascii_5falphabetic_2',['ds_char_is_ascii_alphabetic',['../char_8h.html#ac124f08e43b0ae720d1548f482144407',1,'ds_char_is_ascii_alphabetic(ds_char_t self): char.c'],['../char_8c.html#a02834d689c11586dfd63cfb5c5af6ec3',1,'ds_char_is_ascii_alphabetic(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5falphanumeric_3',['ds_char_is_ascii_alphanumeric',['../char_8h.html#ab2495c17d510f2bb9c5c577d2e8a4531',1,'ds_char_is_ascii_alphanumeric(ds_char_t self): char.c'],['../char_8c.html#a349af3c98a6fb7cdeff001119743c1ca',1,'ds_char_is_ascii_alphanumeric(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5fcontrol_4',['ds_char_is_ascii_control',['../char_8h.html#a1463f455ab57b0671638e381a2a85d26',1,'ds_char_is_ascii_control(ds_char_t self): char.c'],['../char_8c.html#a24c097e7e8fc5fb63133cfb6a3f84587',1,'ds_char_is_ascii_control(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5fdigit_5',['ds_char_is_ascii_digit',['../char_8h.html#a56c6c6cbf8bb5eb5e06e29961cfd0cf1',1,'ds_char_is_ascii_digit(ds_char_t self): char.c'],['../char_8c.html#a6bbbed2e3dec7ed2aa9eff0683f2f351',1,'ds_char_is_ascii_digit(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5fgraphic_6',['ds_char_is_ascii_graphic',['../char_8h.html#af50ba493605648683d0b49fd1df62211',1,'ds_char_is_ascii_graphic(ds_char_t self): char.c'],['../char_8c.html#aca6506a9db8ce783cac59d28def15b17',1,'ds_char_is_ascii_graphic(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5fhexdigit_7',['ds_char_is_ascii_hexdigit',['../char_8h.html#a119f494ae625a456bb4e62b3a0f78391',1,'ds_char_is_ascii_hexdigit(ds_char_t self): char.c'],['../char_8c.html#a1e1289b7cecd55f4fb932418d093e8ab',1,'ds_char_is_ascii_hexdigit(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5flowercase_8',['ds_char_is_ascii_lowercase',['../char_8c.html#addb2c2f7cdda91ae57f50b84a55af573',1,'ds_char_is_ascii_lowercase(ds_char_t const self): char.c'],['../char_8h.html#aa0bffbb96f997d839b69ca28f8e0e43e',1,'ds_char_is_ascii_lowercase(ds_char_t self): char.c']]], + ['ds_5fchar_5fis_5fascii_5foctdigit_9',['ds_char_is_ascii_octdigit',['../char_8h.html#afb06a1b874a501739f2358d019bde21d',1,'ds_char_is_ascii_octdigit(ds_char_t self): char.c'],['../char_8c.html#a9da93370b843c312fc7fae6a373c4206',1,'ds_char_is_ascii_octdigit(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5fpunctuation_10',['ds_char_is_ascii_punctuation',['../char_8h.html#abfc454a0d93d548ed94f109c77b1e68f',1,'ds_char_is_ascii_punctuation(ds_char_t self): char.c'],['../char_8c.html#abe0cdf5de54fe62bcf737d83ad2cb4f8',1,'ds_char_is_ascii_punctuation(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5fuppercase_11',['ds_char_is_ascii_uppercase',['../char_8h.html#a682fb8a7ff2098b9de6feab90fe28bf2',1,'ds_char_is_ascii_uppercase(ds_char_t self): char.c'],['../char_8c.html#a800be38168fd75c1505b935a62d2f9ae',1,'ds_char_is_ascii_uppercase(ds_char_t const self): char.c']]], + ['ds_5fchar_5fis_5fascii_5fwhitespace_12',['ds_char_is_ascii_whitespace',['../char_8c.html#a603228992a323665c2ad4c34d86a95aa',1,'ds_char_is_ascii_whitespace(ds_char_t const self): char.c'],['../char_8h.html#af92b320584b2581e725f2d6ae4d3f18a',1,'ds_char_is_ascii_whitespace(ds_char_t self): char.c']]], + ['ds_5fchar_5fto_5fascii_5flowercase_13',['ds_char_to_ascii_lowercase',['../char_8h.html#a6d9242880df4717ee13d29c95a33c2f8',1,'ds_char_to_ascii_lowercase(ds_char_t self): char.c'],['../char_8c.html#a8385de1c37e3dfa511ca0ebdec5ed29d',1,'ds_char_to_ascii_lowercase(ds_char_t const self): char.c']]], + ['ds_5fchar_5fto_5fascii_5fuppercase_14',['ds_char_to_ascii_uppercase',['../char_8h.html#acf28b292dd407661577ae4df5e40684b',1,'ds_char_to_ascii_uppercase(ds_char_t self): char.c'],['../char_8c.html#a988ae15b4f6c55c6b664caae27082ac1',1,'ds_char_to_ascii_uppercase(ds_char_t const self): char.c']]], + ['ds_5fhelpers_5fis_5finstance_15',['ds_helpers_is_instance',['../helpers_8h.html#acd47143f0c7cabf4f90ac3c849de195c',1,'ds_helpers_is_instance(void const *ptr): helpers.c'],['../helpers_8c.html#a504f9fc2c382cde060c859bf82ea0b51',1,'ds_helpers_is_instance(void const *const ptr): helpers.c']]], + ['ds_5fhelpers_5fis_5fnull_16',['ds_helpers_is_null',['../helpers_8h.html#a33cc59a60961d28d4cba1f41a76bb4e9',1,'ds_helpers_is_null(void const *ptr): helpers.c'],['../helpers_8c.html#a5b2ecacaab141d28a86aa3cbbfc92dd8',1,'ds_helpers_is_null(void const *const ptr): helpers.c']]] ]; diff --git a/docs/html/usize_8c.html b/docs/html/usize_8c.html index ea7ec37..b4151a3 100644 --- a/docs/html/usize_8c.html +++ b/docs/html/usize_8c.html @@ -78,7 +78,7 @@
    ds 0.3.0 0.4.0
    A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
    diff --git a/docs/html/usize_8c_source.html b/docs/html/usize_8c_source.html index 785ace0..802f611 100644 --- a/docs/html/usize_8c_source.html +++ b/docs/html/usize_8c_source.html @@ -78,7 +78,7 @@
    ds 0.3.0 0.4.0
    A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
    diff --git a/docs/html/usize_8h.html b/docs/html/usize_8h.html index b5c6d88..6923836 100644 --- a/docs/html/usize_8h.html +++ b/docs/html/usize_8h.html @@ -78,7 +78,7 @@
    ds 0.3.0 0.4.0
    A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
    @@ -221,7 +221,7 @@

    usize notation. Can be used in printf to format and write usize values.

    -

    +

    Examples

    Basic usage:

    @@ -248,7 +248,7 @@

    usize notation. Can be used in scanf to parse and read usize values.

    Warning
    It is strongly advised to use fgets instead of scanf to read input.
    -

    +

    Examples

    Basic usage:

    @@ -272,7 +272,7 @@

    The size of usize in bytes.

    -

    +

    Examples

    Basic usage:

    assert (DS_USIZE_BYTES == sizeof (size_t));
    @@ -295,7 +295,7 @@

    The largest value that can be represented by usize (264 − 1 on 64-bit targets, 232 − 1 on 32-bit).

    -

    +

    Examples

    Basic usage:

    assert (DS_USIZE_MAX == SIZE_MAX);
    @@ -317,7 +317,7 @@

    The smallest value that can be represented by usize.

    -

    +

    Examples

    Basic usage:

    assert (DS_USIZE_MIN == 0);
    diff --git a/docs/html/usize_8h_source.html b/docs/html/usize_8h_source.html index 7358739..a664dad 100644 --- a/docs/html/usize_8h_source.html +++ b/docs/html/usize_8h_source.html @@ -78,7 +78,7 @@
    ds 0.3.0 0.4.0
    A C library to safely yet efficiently work with UTF-8–encoded, growable dynamic strings.
    diff --git a/docs/latex/char_8c.tex b/docs/latex/char_8c.tex index c5d6bf5..ad8df19 100644 --- a/docs/latex/char_8c.tex +++ b/docs/latex/char_8c.tex @@ -5,15 +5,50 @@ Implementation of the \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{char}} type, related constants and functions. +{\ttfamily \#include $<$stdbool.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline {\ttfamily \#include \char`\"{}ds/char.\+h\char`\"{}}\newline Include dependency graph for char.\+c\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode -\includegraphics[width=234pt]{char_8c__incl} +\includegraphics[width=294pt]{char_8c__incl} \end{center} \end{figure} +\doxysubsection*{Functions} +\begin{DoxyCompactItemize} +\item +bool \mbox{\hyperlink{char_8c_a61380babe759ddeea94ee96a230e0916}{ds\+\_\+char\+\_\+in\+\_\+range}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self, \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const start, \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const end) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} lies in the inclusive interval between {\ttfamily start} and {\ttfamily end}. \end{DoxyCompactList}\item +\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} \mbox{\hyperlink{char_8c_a988ae15b4f6c55c6b664caae27082ac1}{ds\+\_\+char\+\_\+to\+\_\+ascii\+\_\+uppercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self) +\begin{DoxyCompactList}\small\item\em Makes a copy of {\ttfamily self} in its ASCII upper case equivalent. \end{DoxyCompactList}\item +\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} \mbox{\hyperlink{char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d}{ds\+\_\+char\+\_\+to\+\_\+ascii\+\_\+lowercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self) +\begin{DoxyCompactList}\small\item\em Makes a copy of {\ttfamily self} in its ASCII lower case equivalent. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8c_a643fe0b72862983c36a6b61ad57c1cfe}{ds\+\_\+char\+\_\+eq\+\_\+ignore\+\_\+ascii\+\_\+case}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self, \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const other) +\begin{DoxyCompactList}\small\item\em Checks that {\ttfamily self} and {\ttfamily other} are an ASCII case-\/insensitive match. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8c_a02834d689c11586dfd63cfb5c5af6ec3}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+alphabetic}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII alphabetic character\+: \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8c_a800be38168fd75c1505b935a62d2f9ae}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+uppercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII uppercase character\+: U+0041 \textquotesingle{}A\textquotesingle{} ..= U+005A \textquotesingle{}Z\textquotesingle{}. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8c_addb2c2f7cdda91ae57f50b84a55af573}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+lowercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII lowercase character\+: U+0061 \textquotesingle{}a\textquotesingle{} ..= U+007A \textquotesingle{}z\textquotesingle{}. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8c_a349af3c98a6fb7cdeff001119743c1ca}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+alphanumeric}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII alphanumeric character\+: \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+digit}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII decimal digit\+: U+0030 \textquotesingle{}0\textquotesingle{} ..= U+0039 \textquotesingle{}9\textquotesingle{}. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8c_a9da93370b843c312fc7fae6a373c4206}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+octdigit}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII octal digit\+: U+0030 \textquotesingle{}0\textquotesingle{} ..= U+0037 \textquotesingle{}7\textquotesingle{}. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8c_a1e1289b7cecd55f4fb932418d093e8ab}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+hexdigit}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII hexadecimal digit\+: \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8c_abe0cdf5de54fe62bcf737d83ad2cb4f8}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+punctuation}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII punctuation character\+: \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8c_aca6506a9db8ce783cac59d28def15b17}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+graphic}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII graphic character\+: U+0021 \textquotesingle{}!\textquotesingle{} ..= U+007E \textquotesingle{}$\sim$\textquotesingle{}. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8c_a603228992a323665c2ad4c34d86a95aa}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+whitespace}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII whitespace character\+: U+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED, U+000C FORM FEED, or U+000D CARRIAGE RETURN. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8c_a24c097e7e8fc5fb63133cfb6a3f84587}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+control}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} const self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII control character\+: U+0000 \mbox{\hyperlink{char_8h_aff8ca144f3aed3f78bedd4310eefbbbc}{NUL}} ..= U+001F UNIT SEPARATOR, or U+007F DELETE. Note that most ASCII whitespace characters are control characters, but SPACE is not. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Detailed Description} @@ -32,3 +67,868 @@ Definition in file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + + +\doxysubsection{Function Documentation} +\mbox{\Hypertarget{char_8c_a643fe0b72862983c36a6b61ad57c1cfe}\label{char_8c_a643fe0b72862983c36a6b61ad57c1cfe}} +\index{char.c@{char.c}!ds\_char\_eq\_ignore\_ascii\_case@{ds\_char\_eq\_ignore\_ascii\_case}} +\index{ds\_char\_eq\_ignore\_ascii\_case@{ds\_char\_eq\_ignore\_ascii\_case}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_eq\_ignore\_ascii\_case()}{ds\_char\_eq\_ignore\_ascii\_case()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+eq\+\_\+ignore\+\_\+ascii\+\_\+case (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self, }\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{other }\end{DoxyParamCaption})} + + + +Checks that {\ttfamily self} and {\ttfamily other} are an ASCII case-\/insensitive match. + +Equivalent to\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a6d9242880df4717ee13d29c95a33c2f8}{ds\_char\_to\_ascii\_lowercase}} (self) == \mbox{\hyperlink{char_8h_a6d9242880df4717ee13d29c95a33c2f8}{ds\_char\_to\_ascii\_lowercase}} (other);} + +\end{DoxyCode} + + + +\begin{DoxyParams}{Parameters} +{\em self} & The first value to compare. \\ +\hline +{\em other} & The second value to compare. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} and {\ttfamily other} are an ASCII case-\/insensitive match, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md4}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md4} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} upper\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lower\_a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lower\_z = \textcolor{charliteral}{'z'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a909932a31d20457ee7765543113c2493}{ds\_char\_eq\_ignore\_ascii\_case}} (upper\_a, lower\_a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a909932a31d20457ee7765543113c2493}{ds\_char\_eq\_ignore\_ascii\_case}} (upper\_a, upper\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a909932a31d20457ee7765543113c2493}{ds\_char\_eq\_ignore\_ascii\_case}} (upper\_a, lower\_z));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00052}{52}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8c_a643fe0b72862983c36a6b61ad57c1cfe_cgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8c_a61380babe759ddeea94ee96a230e0916}\label{char_8c_a61380babe759ddeea94ee96a230e0916}} +\index{char.c@{char.c}!ds\_char\_in\_range@{ds\_char\_in\_range}} +\index{ds\_char\_in\_range@{ds\_char\_in\_range}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_in\_range()}{ds\_char\_in\_range()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+in\+\_\+range (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self, }\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{start, }\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{end }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} lies in the inclusive interval between {\ttfamily start} and {\ttfamily end}. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +{\em start} & The inclusive start of the interval. \\ +\hline +{\em end} & The inclusive end of the interval. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} lies in the inclusive interval between {\ttfamily start} and {\ttfamily end}, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md1}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md1} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a0d17ad586e00766b4684bdac9924ed0e}{ds\_char\_in\_range}} (\textcolor{charliteral}{'a'}, \textcolor{charliteral}{'a'}, \textcolor{charliteral}{'z'}));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a0d17ad586e00766b4684bdac9924ed0e}{ds\_char\_in\_range}} (\textcolor{charliteral}{'A'}, \textcolor{charliteral}{'a'}, \textcolor{charliteral}{'z'}));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00029}{29}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the caller graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8c_a61380babe759ddeea94ee96a230e0916_icgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8c_a02834d689c11586dfd63cfb5c5af6ec3}\label{char_8c_a02834d689c11586dfd63cfb5c5af6ec3}} +\index{char.c@{char.c}!ds\_char\_is\_ascii\_alphabetic@{ds\_char\_is\_ascii\_alphabetic}} +\index{ds\_char\_is\_ascii\_alphabetic@{ds\_char\_is\_ascii\_alphabetic}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_alphabetic()}{ds\_char\_is\_ascii\_alphabetic()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+alphabetic (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII alphabetic character\+: + + +\begin{DoxyItemize} +\item U+0041 \textquotesingle{}A\textquotesingle{} ..= U+005A \textquotesingle{}Z\textquotesingle{}, or +\item U+0061 \textquotesingle{}a\textquotesingle{} ..= U+007A \textquotesingle{}z\textquotesingle{}. +\end{DoxyItemize} + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII alphabetic character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md5}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md5} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (uppercase\_a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (uppercase\_g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00059}{59}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8c_a02834d689c11586dfd63cfb5c5af6ec3_cgraph} +\end{center} +\end{figure} +Here is the caller graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8c_a02834d689c11586dfd63cfb5c5af6ec3_icgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8c_a349af3c98a6fb7cdeff001119743c1ca}\label{char_8c_a349af3c98a6fb7cdeff001119743c1ca}} +\index{char.c@{char.c}!ds\_char\_is\_ascii\_alphanumeric@{ds\_char\_is\_ascii\_alphanumeric}} +\index{ds\_char\_is\_ascii\_alphanumeric@{ds\_char\_is\_ascii\_alphanumeric}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_alphanumeric()}{ds\_char\_is\_ascii\_alphanumeric()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+alphanumeric (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII alphanumeric character\+: + + +\begin{DoxyItemize} +\item U+0041 \textquotesingle{}A\textquotesingle{} ..= U+005A \textquotesingle{}Z\textquotesingle{}, or +\item U+0061 \textquotesingle{}a\textquotesingle{} ..= U+007A \textquotesingle{}z\textquotesingle{}, or +\item U+0030 \textquotesingle{}0\textquotesingle{} ..= U+0039 \textquotesingle{}9\textquotesingle{}. +\end{DoxyItemize} + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII alphanumeric character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md8}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md8} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (uppercase\_a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (uppercase\_g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00078}{78}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8c_a349af3c98a6fb7cdeff001119743c1ca_cgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8c_a24c097e7e8fc5fb63133cfb6a3f84587}\label{char_8c_a24c097e7e8fc5fb63133cfb6a3f84587}} +\index{char.c@{char.c}!ds\_char\_is\_ascii\_control@{ds\_char\_is\_ascii\_control}} +\index{ds\_char\_is\_ascii\_control@{ds\_char\_is\_ascii\_control}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_control()}{ds\_char\_is\_ascii\_control()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+control (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII control character\+: U+0000 \mbox{\hyperlink{char_8h_aff8ca144f3aed3f78bedd4310eefbbbc}{NUL}} ..= U+001F UNIT SEPARATOR, or U+007F DELETE. Note that most ASCII whitespace characters are control characters, but SPACE is not. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII control character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md15}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md15} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (uppercase\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (uppercase\_g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (space));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (lf));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00124}{124}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=333pt]{char_8c_a24c097e7e8fc5fb63133cfb6a3f84587_cgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351}\label{char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351}} +\index{char.c@{char.c}!ds\_char\_is\_ascii\_digit@{ds\_char\_is\_ascii\_digit}} +\index{ds\_char\_is\_ascii\_digit@{ds\_char\_is\_ascii\_digit}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_digit()}{ds\_char\_is\_ascii\_digit()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+digit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII decimal digit\+: U+0030 \textquotesingle{}0\textquotesingle{} ..= U+0039 \textquotesingle{}9\textquotesingle{}. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII decimal digit, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md9}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md9} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (uppercase\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (uppercase\_g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00084}{84}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=322pt]{char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_cgraph} +\end{center} +\end{figure} +Here is the caller graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_icgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8c_aca6506a9db8ce783cac59d28def15b17}\label{char_8c_aca6506a9db8ce783cac59d28def15b17}} +\index{char.c@{char.c}!ds\_char\_is\_ascii\_graphic@{ds\_char\_is\_ascii\_graphic}} +\index{ds\_char\_is\_ascii\_graphic@{ds\_char\_is\_ascii\_graphic}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_graphic()}{ds\_char\_is\_ascii\_graphic()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+graphic (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII graphic character\+: U+0021 \textquotesingle{}!\textquotesingle{} ..= U+007E \textquotesingle{}$\sim$\textquotesingle{}. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII graphic character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md13}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md13} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (uppercase\_a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (uppercase\_g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (zero));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00111}{111}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=335pt]{char_8c_aca6506a9db8ce783cac59d28def15b17_cgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8c_a1e1289b7cecd55f4fb932418d093e8ab}\label{char_8c_a1e1289b7cecd55f4fb932418d093e8ab}} +\index{char.c@{char.c}!ds\_char\_is\_ascii\_hexdigit@{ds\_char\_is\_ascii\_hexdigit}} +\index{ds\_char\_is\_ascii\_hexdigit@{ds\_char\_is\_ascii\_hexdigit}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_hexdigit()}{ds\_char\_is\_ascii\_hexdigit()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+hexdigit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII hexadecimal digit\+: + + +\begin{DoxyItemize} +\item U+0030 \textquotesingle{}0\textquotesingle{} ..= U+0039 \textquotesingle{}9\textquotesingle{}, or +\item U+0041 \textquotesingle{}A\textquotesingle{} ..= U+0046 \textquotesingle{}F\textquotesingle{}, or +\item U+0061 \textquotesingle{}a\textquotesingle{} ..= U+0066 \textquotesingle{}f\textquotesingle{}. +\end{DoxyItemize} + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII hexadecimal digit, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md11}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md11} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (uppercase\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (uppercase\_g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00096}{96}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8c_a1e1289b7cecd55f4fb932418d093e8ab_cgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8c_addb2c2f7cdda91ae57f50b84a55af573}\label{char_8c_addb2c2f7cdda91ae57f50b84a55af573}} +\index{char.c@{char.c}!ds\_char\_is\_ascii\_lowercase@{ds\_char\_is\_ascii\_lowercase}} +\index{ds\_char\_is\_ascii\_lowercase@{ds\_char\_is\_ascii\_lowercase}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_lowercase()}{ds\_char\_is\_ascii\_lowercase()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+lowercase (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII lowercase character\+: U+0061 \textquotesingle{}a\textquotesingle{} ..= U+007A \textquotesingle{}z\textquotesingle{}. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII lowercase character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md7}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md7} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (uppercase\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (uppercase\_g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00072}{72}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=348pt]{char_8c_addb2c2f7cdda91ae57f50b84a55af573_cgraph} +\end{center} +\end{figure} +Here is the caller graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8c_addb2c2f7cdda91ae57f50b84a55af573_icgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8c_a9da93370b843c312fc7fae6a373c4206}\label{char_8c_a9da93370b843c312fc7fae6a373c4206}} +\index{char.c@{char.c}!ds\_char\_is\_ascii\_octdigit@{ds\_char\_is\_ascii\_octdigit}} +\index{ds\_char\_is\_ascii\_octdigit@{ds\_char\_is\_ascii\_octdigit}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_octdigit()}{ds\_char\_is\_ascii\_octdigit()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+octdigit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII octal digit\+: U+0030 \textquotesingle{}0\textquotesingle{} ..= U+0037 \textquotesingle{}7\textquotesingle{}. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII octal digit, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md10}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md10} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} seven = \textcolor{charliteral}{'7'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} nine = \textcolor{charliteral}{'9'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (uppercase\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (zero));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (seven));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (nine));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (lf));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00090}{90}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=335pt]{char_8c_a9da93370b843c312fc7fae6a373c4206_cgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8c_abe0cdf5de54fe62bcf737d83ad2cb4f8}\label{char_8c_abe0cdf5de54fe62bcf737d83ad2cb4f8}} +\index{char.c@{char.c}!ds\_char\_is\_ascii\_punctuation@{ds\_char\_is\_ascii\_punctuation}} +\index{ds\_char\_is\_ascii\_punctuation@{ds\_char\_is\_ascii\_punctuation}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_punctuation()}{ds\_char\_is\_ascii\_punctuation()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+punctuation (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII punctuation character\+: + + +\begin{DoxyItemize} +\item U+0021 ..= U+002F {\ttfamily ! "{} \# \$ \% \& \textquotesingle{} ( ) $\ast$ + , -\/ . /}, or +\item U+003A ..= U+0040 {\ttfamily \+: ; \texorpdfstring{$<$}{<} = \texorpdfstring{$>$}{>} ? @}, or +\item U+005B ..= U+0060 {\ttfamily \mbox{[} \textbackslash{} \mbox{]} $^\wedge$ \+\_\+ \`{}}, or +\item U+007B ..= U+007E {\ttfamily \{ $\vert$ \} $\sim$} +\end{DoxyItemize} + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII punctuation character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md12}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md12} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (uppercase\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (uppercase\_g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (zero));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00103}{103}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8c_abe0cdf5de54fe62bcf737d83ad2cb4f8_cgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8c_a800be38168fd75c1505b935a62d2f9ae}\label{char_8c_a800be38168fd75c1505b935a62d2f9ae}} +\index{char.c@{char.c}!ds\_char\_is\_ascii\_uppercase@{ds\_char\_is\_ascii\_uppercase}} +\index{ds\_char\_is\_ascii\_uppercase@{ds\_char\_is\_ascii\_uppercase}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_uppercase()}{ds\_char\_is\_ascii\_uppercase()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+uppercase (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII uppercase character\+: U+0041 \textquotesingle{}A\textquotesingle{} ..= U+005A \textquotesingle{}Z\textquotesingle{}. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII uppercase character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md6}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md6} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (uppercase\_a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (uppercase\_g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00066}{66}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=349pt]{char_8c_a800be38168fd75c1505b935a62d2f9ae_cgraph} +\end{center} +\end{figure} +Here is the caller graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8c_a800be38168fd75c1505b935a62d2f9ae_icgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8c_a603228992a323665c2ad4c34d86a95aa}\label{char_8c_a603228992a323665c2ad4c34d86a95aa}} +\index{char.c@{char.c}!ds\_char\_is\_ascii\_whitespace@{ds\_char\_is\_ascii\_whitespace}} +\index{ds\_char\_is\_ascii\_whitespace@{ds\_char\_is\_ascii\_whitespace}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_whitespace()}{ds\_char\_is\_ascii\_whitespace()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+whitespace (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII whitespace character\+: U+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED, U+000C FORM FEED, or U+000D CARRIAGE RETURN. + +{\ttfamily ds} uses the What\+WG Infra Standard\textquotesingle{}s \href{https://infra.spec.whatwg.org/\#ascii-whitespace}{\texttt{ definition of ASCII whitespace}}. There are several other definitions in wide use. For instance, \href{https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html\#tag_07_03_01}{\texttt{ the POSIX locale}} includes U+000B VERTICAL TAB as well as all the above characters, but—from the very same specification—\href{https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html\#tag_18_06_05}{\texttt{ the default rule for "{}field splitting"{} in the Bourne shell}} considers {\itshape only} SPACE, HORIZONTAL TAB, and LINE FEED as whitespace. + +If you are writing a program that will process an existing file format, check what that format\textquotesingle{}s definition of whitespace is before using this function. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII whitespace character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md14}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md14} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (uppercase\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (uppercase\_g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (percent));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (space));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00117}{117}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +\mbox{\Hypertarget{char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d}\label{char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d}} +\index{char.c@{char.c}!ds\_char\_to\_ascii\_lowercase@{ds\_char\_to\_ascii\_lowercase}} +\index{ds\_char\_to\_ascii\_lowercase@{ds\_char\_to\_ascii\_lowercase}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_to\_ascii\_lowercase()}{ds\_char\_to\_ascii\_lowercase()}} +{\footnotesize\ttfamily \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} ds\+\_\+char\+\_\+to\+\_\+ascii\+\_\+lowercase (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Makes a copy of {\ttfamily self} in its ASCII lower case equivalent. + +ASCII letters \textquotesingle{}A\textquotesingle{} to \textquotesingle{}Z\textquotesingle{} are mapped to \textquotesingle{}a\textquotesingle{} to \textquotesingle{}z\textquotesingle{}, but non-\/\+ASCII letters are unchanged. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to convert. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The ASCII lower case equivalent of {\ttfamily self}. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md3}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md3} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} ascii = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} non\_ascii = \textcolor{stringliteral}{'❤'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\textcolor{charliteral}{'a'} == \mbox{\hyperlink{char_8h_a6d9242880df4717ee13d29c95a33c2f8}{ds\_char\_to\_ascii\_lowercase}} (ascii));} +\DoxyCodeLine{assert (\textcolor{stringliteral}{'❤'} == \mbox{\hyperlink{char_8h_a6d9242880df4717ee13d29c95a33c2f8}{ds\_char\_to\_ascii\_lowercase}} (non\_ascii));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00044}{44}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_cgraph} +\end{center} +\end{figure} +Here is the caller graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_icgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8c_a988ae15b4f6c55c6b664caae27082ac1}\label{char_8c_a988ae15b4f6c55c6b664caae27082ac1}} +\index{char.c@{char.c}!ds\_char\_to\_ascii\_uppercase@{ds\_char\_to\_ascii\_uppercase}} +\index{ds\_char\_to\_ascii\_uppercase@{ds\_char\_to\_ascii\_uppercase}!char.c@{char.c}} +\doxysubsubsection{\texorpdfstring{ds\_char\_to\_ascii\_uppercase()}{ds\_char\_to\_ascii\_uppercase()}} +{\footnotesize\ttfamily \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} ds\+\_\+char\+\_\+to\+\_\+ascii\+\_\+uppercase (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Makes a copy of {\ttfamily self} in its ASCII upper case equivalent. + +ASCII letters \textquotesingle{}a\textquotesingle{} to \textquotesingle{}z\textquotesingle{} are mapped to \textquotesingle{}A\textquotesingle{} to \textquotesingle{}Z\textquotesingle{}, but non-\/\+ASCII letters are unchanged. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to convert. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The ASCII upper case equivalent of {\ttfamily self}. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md2}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md2} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} ascii = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} non\_ascii = \textcolor{stringliteral}{'❤'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\textcolor{charliteral}{'A'} == \mbox{\hyperlink{char_8h_acf28b292dd407661577ae4df5e40684b}{ds\_char\_to\_ascii\_uppercase}} (ascii));} +\DoxyCodeLine{assert (\textcolor{stringliteral}{'❤'} == \mbox{\hyperlink{char_8h_acf28b292dd407661577ae4df5e40684b}{ds\_char\_to\_ascii\_uppercase}} (non\_ascii));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00036}{36}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8c_a988ae15b4f6c55c6b664caae27082ac1_cgraph} +\end{center} +\end{figure} diff --git a/docs/latex/char_8c__incl.md5 b/docs/latex/char_8c__incl.md5 index e05d141..0f70026 100644 --- a/docs/latex/char_8c__incl.md5 +++ b/docs/latex/char_8c__incl.md5 @@ -1 +1 @@ -53b0889bd695c2da18cd7dc00bba5654 \ No newline at end of file +e832a9c51de07de31aebb433bc6374d5 \ No newline at end of file diff --git a/docs/latex/char_8c__incl.pdf b/docs/latex/char_8c__incl.pdf index 621024307497edca3b940f897ad40e85d1fb34a7..d9309f43bd4ec9d057200087e97405171be2f70b 100644 GIT binary patch delta 5294 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_a02834d689c11586dfd63cfb5c5af6ec3_icgraph.md5 b/docs/latex/char_8c_a02834d689c11586dfd63cfb5c5af6ec3_icgraph.md5 new file mode 100644 index 0000000..711ca6c --- /dev/null +++ b/docs/latex/char_8c_a02834d689c11586dfd63cfb5c5af6ec3_icgraph.md5 @@ -0,0 +1 @@ +f6ec2e7dd8cb4dea74b2bee9ae867c39 \ No newline at end of file diff --git a/docs/latex/char_8c_a02834d689c11586dfd63cfb5c5af6ec3_icgraph.pdf b/docs/latex/char_8c_a02834d689c11586dfd63cfb5c5af6ec3_icgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4eee9281ad30d32ce3c66208dec330c4e8829ffd GIT binary patch literal 6162 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 REC+*w!a(BU>INF1{{fBz;k5t& literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_a61380babe759ddeea94ee96a230e0916_icgraph.md5 b/docs/latex/char_8c_a61380babe759ddeea94ee96a230e0916_icgraph.md5 new file mode 100644 index 0000000..cf22c36 --- /dev/null +++ b/docs/latex/char_8c_a61380babe759ddeea94ee96a230e0916_icgraph.md5 @@ -0,0 +1 @@ +1414cdd885b33d4fccb341fe2f4fbb49 \ No newline at end of file diff --git a/docs/latex/char_8c_a61380babe759ddeea94ee96a230e0916_icgraph.pdf b/docs/latex/char_8c_a61380babe759ddeea94ee96a230e0916_icgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5a80a9b49b993ecd474bee06ed05c6f4dcd1377e GIT binary patch literal 12403 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_a643fe0b72862983c36a6b61ad57c1cfe_cgraph.md5 b/docs/latex/char_8c_a643fe0b72862983c36a6b61ad57c1cfe_cgraph.md5 new file mode 100644 index 0000000..20d9422 --- /dev/null +++ b/docs/latex/char_8c_a643fe0b72862983c36a6b61ad57c1cfe_cgraph.md5 @@ -0,0 +1 @@ +a797c80427e655734b10dfd92504ca29 \ No newline at end of file diff --git a/docs/latex/char_8c_a643fe0b72862983c36a6b61ad57c1cfe_cgraph.pdf b/docs/latex/char_8c_a643fe0b72862983c36a6b61ad57c1cfe_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..47c05b38bdacc632c719b3deb0235bf12c5ca8ef GIT binary patch literal 7330 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_cgraph.md5 b/docs/latex/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_cgraph.md5 new file mode 100644 index 0000000..a2712e3 --- /dev/null +++ b/docs/latex/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_cgraph.md5 @@ -0,0 +1 @@ +aa753f1f8c35de182d3452db309c2844 \ No newline at end of file diff --git a/docs/latex/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_cgraph.pdf b/docs/latex/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..903c38720a95bdc9cb89524f212b44576e81c00a GIT binary patch literal 5824 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_icgraph.md5 b/docs/latex/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_icgraph.md5 new file mode 100644 index 0000000..13a568c --- /dev/null +++ b/docs/latex/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_icgraph.md5 @@ -0,0 +1 @@ +d4fda539c613c27e3deb94358b5222d0 \ No newline at end of file diff --git a/docs/latex/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_icgraph.pdf b/docs/latex/char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351_icgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..67c94a7af46ec0701465d81663af06da3d598efe GIT binary patch literal 6773 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⪻E1o>UTf`*=+=ox*y6^vTS^Y}cTL_0-1`TwJN!-E7auoQn522cUNv&?@?S z71|^~q2XZwlm-OMejo%i0Jo>ke??-azdh1s0Wu5PyKSo`mV&4C_uoW?K&DW&Km@k8 zeq-!z9SYl-7_IHU0u5}ZVh3^P5JAjLAi4kwmIR^(kwVxrY>#V6aH6`>U*7JQO9b2*|insh$)i1(4o?Ru?kX)0Kdu$dkw} zvOCh&0`Wf$fNImouZ*@53<85gP%tD62Eo7-tz~~4?^k7MVL_RbT(;A>J$n!l|Exw| zGTxa5{4y{skbeq*L?GY@z!})JAt5MmDYOC*_iRuY;ujmpS;4RWXTN`IL!iL){U?41 zaJoPHA&`h)+al3mCVuvVV18{2g~5L54~l^O(w`y*0fzGD{uD94jsa@#m$nEv8kFnL zZIMvLU*?B|A;6!hJwGZL3vL$V?O!Z&!evm6nC+aIkw~DX{z3K%21I92Iy7BvE0sdU TlBwGnM1rDVk(AUqt;_OXj}M1c literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_a800be38168fd75c1505b935a62d2f9ae_cgraph.md5 b/docs/latex/char_8c_a800be38168fd75c1505b935a62d2f9ae_cgraph.md5 new file mode 100644 index 0000000..fad5f15 --- /dev/null +++ b/docs/latex/char_8c_a800be38168fd75c1505b935a62d2f9ae_cgraph.md5 @@ -0,0 +1 @@ +1e17920cf5361c47ccc597992c67668a \ No newline at end of file diff --git a/docs/latex/char_8c_a800be38168fd75c1505b935a62d2f9ae_cgraph.pdf b/docs/latex/char_8c_a800be38168fd75c1505b935a62d2f9ae_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..55c8ed006e521a4aec9a09cd8170f59a734dfa97 GIT binary patch literal 5952 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 PP$&c%A|<6~rVsfaObAVb literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_a800be38168fd75c1505b935a62d2f9ae_icgraph.md5 b/docs/latex/char_8c_a800be38168fd75c1505b935a62d2f9ae_icgraph.md5 new file mode 100644 index 0000000..21f7278 --- /dev/null +++ b/docs/latex/char_8c_a800be38168fd75c1505b935a62d2f9ae_icgraph.md5 @@ -0,0 +1 @@ +e2bc8aa464cf4a0199ae65000850ff0f \ No newline at end of file diff --git a/docs/latex/char_8c_a800be38168fd75c1505b935a62d2f9ae_icgraph.pdf b/docs/latex/char_8c_a800be38168fd75c1505b935a62d2f9ae_icgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0beb3b45a58a9ff9bf384d10ae0248bbbff23a7c GIT binary patch literal 8016 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_cgraph.md5 b/docs/latex/char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_cgraph.md5 new file mode 100644 index 0000000..c794fde --- /dev/null +++ b/docs/latex/char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_cgraph.md5 @@ -0,0 +1 @@ +e87dccc1d7e0beba8767fd2f4dd0a912 \ No newline at end of file diff --git a/docs/latex/char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_cgraph.pdf b/docs/latex/char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..57153d731aca5043f5b89351d3ad22558a080846 GIT binary patch literal 6787 zcmc(k2UJsAm&a`s0|J6b6@sFmlr$0&nuOjJQ0YntA&EeONq9675ELm7MFmBQq9VN` zAXNeBpwb1E2ck5o7K#XS6W~4l{ASI!X3bi2LvnKV+4q#a|M#%YF9(n7=qbPyk)VT* zr*gi7P+%yS>U0*QrUr(X5GX_j39Jm5EI?o|7@|jZV-RRS>4swvbO?B=GXbQb0irW# z1e`m_J0aV$#jF;}S21Jt>6J#^*X8Iwi|5H~Qhe%~bZyS$D(@mT(3L^rR8h)A(BAOt zXo;Ctm87?PXRAQNK}Ge?xKCp;CW%>uGUw2=xf(>c)9OL2|P*&gRk9)!A6e2?Fye? zz93DVprg~1J?EeSHGhcNRZhQ#N&Yp)soLOx9`_7_I-GBOY#mPx z${NxlbJyobalDAqF&IhA^1=BR;?;|9()G9HihU6!s_{0TJh^R;oG!t@@qi_~Rt3t4;*y}Oq#XP^np^lnp032q${X#1g%Z`^3)7KBUel4JfUh@Z?=D0B zgdKa{4&{Io6oZ6hIu?HzyZNUxtb6)m&3q&U@?uVo6!@U76-0l_K6n3Cv8_l;GdErE zRKBNRabvmbd4q2n_BBF|FZMhE5h%_ZNdvwy)6L8=vjnoN1V=I3nKk6!Vqm3T*PEel z$pBIhR#RgdfD3|y0u?Ys8w-YkA$T0{2?zpcSpS6RQ7Md{yj>Ka3Q#b5Q&4~t@V7A- z=I_D4kP|*01TX|kp->sDku5!)7%Y>O0T=+vGMRhgoR3q<6b2n^ z2ZqB?U?nIRf&9BbL0LwiaA3Jx5b%r*N5Hn>xZZ^QY04W@!86EI3iCeTf>?qfCoK#& zYrt2qtTdj4qn$zH6-f+tw*xpd6zW7kpkXMqi?cEk4?{wcP8b9dhk`r9T`)MpVdl*n zG19VRh0qFEzXot^#sdcZ-v#fbm}gvSHhB{J#na3Wh*K zop4SBWhBPgnLxl{ln4Y23I|6(2~Z3S^`8U;wh<6JV08%KJ9AS~VwDb?L4*Gmv*S1- z0eld=9+3^bFgse`(M$=>WSkb&8xR6B+(mw(i*79>1xB zWo3pOxR~NNLBmn#9!zcGeKyU8U_h~i&6+mgr9=3Gj3-#=YcY)*TCgC{sh%`EfevOq zd+TFb{v>re7|!%we>9jnXFfF+z?@ly!%vSB?B`Hy?BuY`sQvq`oZ0cZCk%{)qLhBw z+o!BukBjvRYIs>ucap8-cINSAS@YHN%NwZea}(e$4g3?j%`n9Eu8+t)`Rz~lB~^KxF0LF}WDA5` zrTR~d3@3iBs#xAuycYDn&?~8OP1?R}v>g3yf8glzC$Ha_%q@utY*`igGTG9PNA%>_#1I7n7ZW_d~H`W8Qr4zXsa|w@k0CPw4L;e{(wmLPuqRwre8mQaK`3# z{Wl-CtHEqH|MYv}dHOQ6D{$McS?RG|YIUE@xfr&?Cr*9#bjh}D>$L`7L{?{2Ozc*Z#hOgJhkT=h5ta+pw83 za}`b|9isWl77ELrSE~!k%j1`I&W^LUojI_K%=7XpDY_nb>ndMLrMt}FyS@ixHoek3G<>YIq<3btzvs-Tcw23@ z>Dz*So59|W0&T-7QOT;&PWog(LcHAU;7Y?YY!y2??Va@jNe^leuX!AM;`S?(sPiPL z69b`RV-gn?o)zekVvG{mOtt)_v6(s!l}&1}b6~BcLM>s}gbdx|)kZsG=K9LaAyOe3 zDwXF;lH<~f{K726T#2BV2(^j5oGI7$rO7Ngmi`gYFwP;N=2QGb?#K8S&A~q5g&yBp zP1lvC7ZCLefs5giiV|`5XfNlpTLU!}npZ`IE~_l=9eZp-lDPEIH7V+oc&vE1$Zzyz@|P+`MUK&&LC4c?m7!KIC!6a1#PIfm_1cXuIq$j8 zSFlMNSDfHGYmSr)(>BgT3cHUk_f%hi#W{cGuJ-20&knqCkBi$*Xm||n!HAJ6mb#qH z_FZ18hbYB8U=(A-))sZ;HCtOSDf;25`jw;U?pSN}Ke`+^lUr_u*t z`dNeOSPOq-P!x9Sczj1>RqSZ^=V$0t!L`1QyxiQz`%%vz z?SG(UDf5wXd#)Lu;zImyR$sOXctHCz&3bIy%9yGBg!bKk1pBzt3U7FH2y1T=VOp zBpzC?@@4jjTxD8$!dJV6l!coO`(rM?m@cq(w<`{DvWvG3hw!?`&vPa{%CCF0#z@X? zzPFE&xqIg;bXmL&r}dUE8C|w7<$E4i)Pi6-67N;-kzX2$w;EQ|&0Yh4zDDbaF-u+O zo_aUIb6xUWt=C?vM-sjy#T&XPsCmJr)RoV9h4%imPyA3)*_Cp0gAZ(6bvBNs6Zf$y zu&3e&9$HX?mT&mHV+?9qj8^JZXs_a?UsbBP`mho0<%l&qi%o|vhLb#6G)wo@dSs{z zO2?``^hn8->gX>fzSuE34$-hVXv01=mpx+q!z$u(OYqBM$JXSH$&c3V^ zibkQ(9*#$as+Jpx)xI(4oay+rXDcht)8aQ$c~h1}=My+o8MkP$iON!S53@hZ3MKQz z(AZjQ;}16%*mNf7)!le`BJuXIY7{K`quQh-E$MEO3fsY>fpYcBuR12wc=ht?1d$gr z@&|nBF>>VC6pwA~p2>l^G>O@#mG|s~Ekcf^Fy!dcp`D3FDVz$H$XvtMiMy0@5EKjj z!dv}T$oAFznEA}!08%v$wrp5fPv>dQ_C;EWL}9Fa_B2g9Ie$kDd6(CYm+2yJ%4C#= z)uh&h{5aRvVD`dH9p>ZmaU_v$IWj&hKYF-5TBgsTU{arCwN=Z5hau#q$GElo)s*lD z{}k>!LSZdddtXFcw&J&?NSlWQg&Ufz-WgOIBMDkB?-cF-I1eieHkcy$Ibk7R7_Qje zE%2fM|C=AGEE0sSt@e=YvU>D1j+`Fh`GiS-c!?|Yg~RHb727#DS-2X#`ff4I(o4MB zs5EtO=B`?uTS!551lrg`m{H?a#~HtHN1Dcepp{bZTQa_tf)#+h41T>WXh}QroC)%N z)tKH;7H}L(jHSKhZtbvPdr&q0z$v^!)#7Ne|4ek)RMUXI%;kRm2PHRh_e!2Dr{N#I z8ZmyM7b&pY3UZ<*vWcP)SX#E7+e%r_I}sY-XqLPr98jFL$7J;i`{TG1jnegCj{BnZ z1qrYwcY+D1bl0A_H)$B}`bV@#j2nEx7Q>yM|e4ckkUK@A&UO zR?|}@PWzrOT9lc-bm`XKy#_+(IG5OvO@wt%+P#n3dV1a3dU@Q2^46$~n-CKG{t+&v*|0+U zr(;g~)@>rjhj#ZM-NjUk*mVLV+_ZF_73sX)&u;c|Kd1~b)8|x|J>M4Wy4^SA7XHbR z=lANnbToW!{%9E?N+e+NJ3Si*X>O$Xgdg`7a=w@mq|5vmMb*?9gQfSzx9+MJl%Un% zehtN6JU&`0CYW3sOpI4S1-MMqRp53>^!3JY$iI<|?QXP?P@mv;ySDTCfraRZ5!kfg z^ghg?lE#4#LJuB`iG3>PNILL-1RVv5sXr(_Q-xW*3sL+0Om*Zi?N7Cc>QSR=tJ#Gk zK3}WbSI*eWyE_d(%SB&Y64BJzTOPUlp^(%2I*9Po^G}1en>&^MSX<^58Xc+%Z8|F+ zHB1%m2Xm3fLI>u$?1Rq)#Xv#&fAM{~wAY|U5zXds`|DA*0UXE2FdmZL`Kz@k&`wYX z=UY^4a;;Foo|_JWU3*`AY83T1wplVYdiXK?kP-jr}g^9^O*e zf{8m>R`ZI4s&Ff+Z`(WYl3*kga!EF4%&d_rJmJk>U^F$?6e&Mr&Q4GL5UED5vAzD-?{SaIU=kcy0`u0asDejnT-Bvj{hBtK`ktywrK zUW|QqRb+lr`;Ev^*~LM}(wbb&_{fD@P_*aJpV3|Uf-@ppWG(|$I%RW&`Zjw=%Xfrh$x zS}AVp*=P<~$r+ihv!~KbB}#dEjK!V~?e?G5syJ%A{aj$cHf_h@Z9bLT}$?JH@dRU%{{1rmLWhkvHJ}0DnVvz z<(am{36W)y*v5~C4O`%BQUeXGhdG}h;w%kB+m&xpzqR@ehdv37r4`Zq>uNlihs4vYQPo)WKw^L^>F;ew=4^qP3186ksqE3ao%a zpuuoBz-C}jM$cr1nJM%X}JSUR4`zcA2s0>+#gv#tQ&FlggE3-_Vfr6C*Zx)FI*b?<5h0G-HVAh>KXK9m472HBIfAtb`=))qSvW5^mc#uyW3m>F9oTahLEzGdx^C`-tiB3qVZ z`6|0?Dd|ZY6~8-!p6Yr2|J|9_z4v_1=iYNZ%Q^GGPS63_zuZ_o%9r2*!$3avY1&?(D`D7Ge zI!KQpTn)XJU46$Ted;C4t}2%n%F2dT)rgztlvbT&HlO~YRu*VMGZnBd`vF^S@X69D z^pR}gJ#uYOs4DyU=*5D+DP!GbPz&XWU{Fz=oTNHrVP%E2nH$b;9Kg2^{f52dlxQ5@ zCA#iNRkZ47V)CTfvfsOMp8)vt*4+MLx&J*&k&?wCli&x!!w?p4@ecQWVnVc~ct1FZ zhqYK?#JxV4`^JV@Ok1z9Y9T>#dn=tgz{Y{44u?VCcge9q6ZNXUhIy~u7D@D5NPPCd znv_-gqNO#PIySq{M&8w1?U^twpj2#hRz*4r>@;;H@tXX)sLohtmD3(Rn=Hen7Tvgz zXOzjI`_a~ZJcIuWdq4I~Q}En|B3bPz8{U&8?d)QtUex&;HnX=oVeGzqx4Tb|7WI#S zmLGc0OkQXk6}~S>XvtF5w7A!UBs{2k%zQS6a6)zY+}QHee)}C%mI`JNp5(aYZQza` zCwg$`S0FraB$D1wZy|n0kr6i?ADW&S4Tu?7U7aof4n-^kXn+;9G{8`>A`T0jfk*-! zn`cE`GKuz!wv#+W9s*X{&ICXS_-+lR{Btm{qPed-9;~QAB9Uo~ks)| zp;0_>G&Gii2L^yJM5dltM>Ls8qEW%NU<8Ezg{u6#pcr?+*^Z%%!Q*I~YJg}$? zm-%kZ14kp0N%Y5nL(vSZcm`vz-2!gGGLkrFEajXsPQjVx=6VQ=LcpEy5C= z{a-#{NVkm!TwqSYlBn)<_v3uG#Rgy?DERG`7NDh#_afr(7(Gq8aLZy0o=Wzl;P6y1 zJ-s%^H2Wo*)Gb38(Wi%!o){P)Z2x!%N;l+>?FIUe#s9Ux&^@ua5kbKS6$s+D4QJ5G z#Yp6T{KvhWK6jL>RVa!*eSCBmn~wmCmv2e1ThNX@rO*)1dKa9lJqpDVKj4v>KYVwj zP~ntZb=ZpYTbae17H(HYt*Z;b$?Po-eoGwY6R`vUS-CRVcJmJ2<%bmx(y~_G6 zmU=BR@pI#s-i==BUG1SV?PRi0W>ar}1<#{C^su|a-&D1`X-V{iuO_Myw~h?R+dWac z{A_eeP|xOvSkz(nD<9sMg>wG*Fjz*O8jX0+dJL(eTDCSeqQ&$anU6FPe>8f2fyEu9 zd^aUc#Y1*--fQZCP+MkORCM%Cbsw>|w&8Vn-d}U=`2IJ_#;>fhF1b@k8@z389+ySi zg24ghpSh|ZKb;JQp|e3**Ub4jb7&_6_KR!dk#@05iAAqrJH8K7i)>;`GbsD5wIY^` z?@4JpSDuzho{C=?( z!RG$AXN+EC=#*JSs!GbXoTMfh7;_kvS^4eq81X$}nkJ;Qa{7iw!RUgiP;<9NP zJLY5&yZ#PRZF$*k3K?&P!+&Yb8X9YhzL8}$TDQjbuC=rI?5j>>&)NTtpoQZHlRBf; z)=rc_t2g?{NZWbHHyuoRQ*g>i)72ej1av1b(oUCxf;J$mFEHv zJ64+A(U&(&Gx-{sbo5c~lSR4P%@L!o`#wA5)_|nuC6>9K%7M5zIHQ|plA%X!P8nFZ zCk}A89GaF#)9`f-`1}N)QQd<2MQ)s#<{ zVLk@Zz^}*K(Y^`fQds)D?ydP=kufE$5ZiYu$E!9LUI+IJ^k&o{T75{(ZKv*I&Dk9lM_&#%#n5#e5MwlYBSjo}yh(oT0W&h~r=}a(I}pvD#{SrA|}1VnOi; z_1ayl`vo^ApZZ1=xateHJXvEI`ca_T@jwTVd1QshKF!`4_VE20X8k;@wCoECzfOJr1~t8{w#v-GpE zbEjK+>KabBy5#Xz?vI!*xeIO4^Lkf3llb5Q+sG+dp`dgdr7FRYS{|MF2Dk2+z=I!Y z_w4UXRawd2@ouT+-~B@;x7m@Oy>;4wTv}UoK`mF8-&jZ6r?0RA-q2NZX?=4C78=44t5SK$BGA@qxSNv!fq+Yg? zPzaBktC)KemG4t0w)|`Z@+JSRy6_7fLw&jPU16=BbL!#w-;$!-c|)e0%?7ltezR+o z&`W%n<1tbt-ZNCQ<{D_%%Jw(xG|*;ci^O>0fxQ(x4q_P5pTVX3Y2 zTAH~m(Cfe25z%tlqpiz?;1r@q5IiB;K4`Wuubu)&#mwg@tc>D0M693y*lb2Ux>fNzIvd z3N6-2kC`6~g|pkwx}FaP)+8jK_27+L>|HTkN%hW%Q_hV=FDex3Y8F59&!rEXCH!?u z>IU4;Df|2L#G9!kHr31lqB`N$Xq;We+^Yn^e9Sh8hKh(=^Vj`ldj?~Pu&75()V>Tn`HUDvK@8X%=id~wWpf}uOMS3(|U0*$g z;9F7-o-?7(<4B2D_b(XmVY4y2;~&m-?N_xCuQCn_N7;yWjcMdc4;@~9> zXlQ2hCE9q|*^}c-Xm&k{eua^u&rpS_>`g2Qzf(Eo#+vzs&QgSNX09&R#$$b<@>@F` zUM7{;yB1jlNpKxbD>;vMdhDH;y+k86()&X4t-{v_!;^D{V{ek&srz0w zy1vFrpy<3^c2VI>74_)4ZYuf!sbl_W#R*RT*L`7S-9yKE)^;6huDCV!dCzouVq??L z`g%{)k{`24?@hle6Q2ji8#}%!wOr!eqw5z7@%8tbY3lmeK5V4W*ceKwJ1>xb_9(AS z?nSP?u|sYT({I|<=2{sDI_f+qw1#TfzLR#ATMQLKbEzezCg6@p3VT}HCk;_ONA}?b z_G@YhA6ojcFdde(wtmUdB!*a-D0LygRdO!S@5%7V$+a?h9r9#fQBRYQphVsbpUUaR z?uJKW3Bi_sgX5Yb#}HD;w*NUxG++%Q1#CzTX>SzBL3s zyfd@te|B}^fz`#wOws2Icdvl26z4=(eG)XnT))A5(<`!0B*n96$-iZO=zuSASGB>aQUl# zj?u^-o*gf~(7$4{-jZ)gc$Zq7H^i`J6Ss56oN6z0hD1%7oU^ve(i zXC-%d{%_jq_xGjIJ4rZ@3%}~^ANx8)yiQS!N(z!n)qD5(idM%SIrk#3-JJC^=79cD zBZbJ$;{HXp-Eob~euxy&vRx(C@3e0oXcAp{{6Vc&xvDfWM-7n?GwXKh%YvzjxJe|w z`uy^2Mf~5+#U|DAv}oC4qrqsi;ko;w6WXf>0;^2Qcib&|bJ(quk7eg^m5Kn!WUknZ zlXp~gzZC6HKeXbyty<=8hNKB_?=y13WV} zB%5}+B=qI&Iia}Mb`ew|@y&(3YJ4yLk@jq$b~<@4VRTBz`S6mcX#O%k_lbc|hcEeh z2OZnP+j)R;kM^}x{L~(aiQ_5y*o2p=ZRCtnCR$fZS1(3g z`4ZF^Fcg;I#p>qqloV0*A%u4xxe%*)=SJlFyr~HU*iZgu;8!TYt|!nXTz- z$!PmVYUXQCe0WapXne?j1cdJ7t$+ZC;AcGk0WRANgbq-&@l+gz=uRV3=w&p6sTgD3 z06?N|Wp0GV$mvq>cr&0J|JkdHbtAg^f@QWl7{Gy!+Xz%J9QIR9bCU|lL!l@XSRMse z2E$-<8UjIX;{gL2)|H6UAQ4>gTaZPAilY-3704!Yp-+w8mWOQ#w6N~_cp|}>#&`{5 zC^H(~%>oQ$9ewijhW>VgZXA$gco?9}U;+P>_;g0JUEyz17`pQ2E4E>fIY1leeGI84 zmWpT4rvLT|kwT?u0hDIjek1Hw8wyonJpa3+!O(x;gboQHltdB%tY}FjX^^PIZ2{vs zOQIvqnT{#w7X1HxkVrbhLn7#jg#-`}5~%`4!Wk_fnn*Ybh%J4!L%=YGX-K#dAf+2g z*M!4i02P6QfxUsDqXg(OXc&-&Ymut+fDZOy_gjbTBEStqOy{;1DGk3I>Cyzz{Y^ejRTcbJCIJW>#roffOeb z7!zd79w3->D)mn$`cUvrAYfG}fgnE*Fbau;Bf(DKEg2F80~|*`z@%*%L|F-N?;kP< z6fpS@83F~+zCUFDsfPd-#qWAZVA=gCgCLavV)nZpMET#(LZS5Z_+1Zyg#2qR2u2$H zp{GJ$uz$+_{XQg0`Cs-Tl~jJQgGRvu8vupzM}ZmfB9LWDj96gEWFS}Q@!BMW1|%mS bB{nG~<2MLPp)n$ZR7OHTQc^l5x}g69RE+WI literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_a988ae15b4f6c55c6b664caae27082ac1_cgraph.md5 b/docs/latex/char_8c_a988ae15b4f6c55c6b664caae27082ac1_cgraph.md5 new file mode 100644 index 0000000..c9c0086 --- /dev/null +++ b/docs/latex/char_8c_a988ae15b4f6c55c6b664caae27082ac1_cgraph.md5 @@ -0,0 +1 @@ +a7de3e4e60e584b5dae296f9e0beae5e \ No newline at end of file diff --git a/docs/latex/char_8c_a988ae15b4f6c55c6b664caae27082ac1_cgraph.pdf b/docs/latex/char_8c_a988ae15b4f6c55c6b664caae27082ac1_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f2aa848adb00ca063b24f5cff7f8b9757582815d GIT binary patch literal 6782 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_a9da93370b843c312fc7fae6a373c4206_cgraph.md5 b/docs/latex/char_8c_a9da93370b843c312fc7fae6a373c4206_cgraph.md5 new file mode 100644 index 0000000..d3c3d10 --- /dev/null +++ b/docs/latex/char_8c_a9da93370b843c312fc7fae6a373c4206_cgraph.md5 @@ -0,0 +1 @@ +d7c7aef9c8361a9254b17a000b01516f \ No newline at end of file diff --git a/docs/latex/char_8c_a9da93370b843c312fc7fae6a373c4206_cgraph.pdf b/docs/latex/char_8c_a9da93370b843c312fc7fae6a373c4206_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..736d4271eab5a9882369fd5924094cdba0ae883d GIT binary patch literal 5943 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_abe0cdf5de54fe62bcf737d83ad2cb4f8_cgraph.md5 b/docs/latex/char_8c_abe0cdf5de54fe62bcf737d83ad2cb4f8_cgraph.md5 new file mode 100644 index 0000000..b8af626 --- /dev/null +++ b/docs/latex/char_8c_abe0cdf5de54fe62bcf737d83ad2cb4f8_cgraph.md5 @@ -0,0 +1 @@ +80f0ccd299ac92672aab496dd0049427 \ No newline at end of file diff --git a/docs/latex/char_8c_abe0cdf5de54fe62bcf737d83ad2cb4f8_cgraph.pdf b/docs/latex/char_8c_abe0cdf5de54fe62bcf737d83ad2cb4f8_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..decded99e360ecec94688b6fa1b0e50893fdfaab GIT binary patch literal 6191 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_aca6506a9db8ce783cac59d28def15b17_cgraph.md5 b/docs/latex/char_8c_aca6506a9db8ce783cac59d28def15b17_cgraph.md5 new file mode 100644 index 0000000..15825a4 --- /dev/null +++ b/docs/latex/char_8c_aca6506a9db8ce783cac59d28def15b17_cgraph.md5 @@ -0,0 +1 @@ +6ac6c862dbfe7cb3d4f7df5e8940f87d \ No newline at end of file diff --git a/docs/latex/char_8c_aca6506a9db8ce783cac59d28def15b17_cgraph.pdf b/docs/latex/char_8c_aca6506a9db8ce783cac59d28def15b17_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8650756dfaa9ffc14ed3c7dd74e14eaa0e544893 GIT binary patch literal 5837 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 CNEx*N literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_addb2c2f7cdda91ae57f50b84a55af573_cgraph.md5 b/docs/latex/char_8c_addb2c2f7cdda91ae57f50b84a55af573_cgraph.md5 new file mode 100644 index 0000000..e1b5b7b --- /dev/null +++ b/docs/latex/char_8c_addb2c2f7cdda91ae57f50b84a55af573_cgraph.md5 @@ -0,0 +1 @@ +7b876bb0c897d3891aad32a167073503 \ No newline at end of file diff --git a/docs/latex/char_8c_addb2c2f7cdda91ae57f50b84a55af573_cgraph.pdf b/docs/latex/char_8c_addb2c2f7cdda91ae57f50b84a55af573_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ae923adacc4472893e2740a714445c44d5dca583 GIT binary patch literal 6002 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 Lrl_cQP#^X`9SKL$ literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_addb2c2f7cdda91ae57f50b84a55af573_icgraph.md5 b/docs/latex/char_8c_addb2c2f7cdda91ae57f50b84a55af573_icgraph.md5 new file mode 100644 index 0000000..2ca1d03 --- /dev/null +++ b/docs/latex/char_8c_addb2c2f7cdda91ae57f50b84a55af573_icgraph.md5 @@ -0,0 +1 @@ +66920b7e7eaf50977639a604dfe53032 \ No newline at end of file diff --git a/docs/latex/char_8c_addb2c2f7cdda91ae57f50b84a55af573_icgraph.pdf b/docs/latex/char_8c_addb2c2f7cdda91ae57f50b84a55af573_icgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8c2bcecc9a66c821368b0e21ced1189a3b229d66 GIT binary patch literal 7313 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 F{{hqvL!tlx literal 0 HcmV?d00001 diff --git a/docs/latex/char_8c_source.tex b/docs/latex/char_8c_source.tex index b1c7c25..cf72795 100644 --- a/docs/latex/char_8c_source.tex +++ b/docs/latex/char_8c_source.tex @@ -9,6 +9,125 @@ \DoxyCodeLine{\Hypertarget{char_8c_source_l00005}00005 \textcolor{comment}{//! @since 0.3.0}} \DoxyCodeLine{\Hypertarget{char_8c_source_l00006}00006 \textcolor{comment}{//! @date 2023-\/07-\/26}} \DoxyCodeLine{\Hypertarget{char_8c_source_l00007}00007 \textcolor{comment}{}} -\DoxyCodeLine{\Hypertarget{char_8c_source_l00008}00008 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{char_8h}{ds/char.h}}"{}}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00008}00008 \textcolor{preprocessor}{\#include }} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00009}00009 \textcolor{preprocessor}{\#include }} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00010}00010 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00011}00011 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{char_8h}{ds/char.h}}"{}}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00012}00012 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00013}00013 \textcolor{comment}{/// @internal}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00014}00014 \textcolor{comment}{/// @brief If 6th bit is set, ASCII is lower case.}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00015}00015 \textcolor{comment}{}\textcolor{keyword}{static} uint8\_t \textcolor{keyword}{const} DS\_ASCII\_CASE\_MASK = 0x20;} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00016}00016 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00017}00017 \textcolor{comment}{/// @internal}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00018}00018 \textcolor{comment}{/// @brief Toggles the case of an ASCII alphabetic character. Converts lower}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00019}00019 \textcolor{comment}{/// case to upper case and vice versa.}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00020}00020 \textcolor{comment}{/// @param self The value to convert.}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00021}00021 \textcolor{comment}{/// @return The ASCII character in the toggled case.}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00022}00022 \textcolor{comment}{}\textcolor{keyword}{static} \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00023}00023 ds\_char\_ascii\_change\_case\_unchecked (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00024}00024 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00025}00025 \textcolor{keywordflow}{return} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}})((uint8\_t)self \string^ DS\_ASCII\_CASE\_MASK);} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00026}00026 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00027}00027 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00028}00028 \textcolor{keywordtype}{bool}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00029}\mbox{\hyperlink{char_8h_a0d17ad586e00766b4684bdac9924ed0e}{00029}} \mbox{\hyperlink{char_8c_a61380babe759ddeea94ee96a230e0916}{ds\_char\_in\_range}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self, \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} start,} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00030}00030 \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} end)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00031}00031 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00032}00032 \textcolor{keywordflow}{return} self >= start \&\& self <= end;} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00033}00033 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00034}00034 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00035}00035 \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00036}\mbox{\hyperlink{char_8h_acf28b292dd407661577ae4df5e40684b}{00036}} \mbox{\hyperlink{char_8c_a988ae15b4f6c55c6b664caae27082ac1}{ds\_char\_to\_ascii\_uppercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00037}00037 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00038}00038 \textcolor{keywordflow}{return} \mbox{\hyperlink{char_8c_addb2c2f7cdda91ae57f50b84a55af573}{ds\_char\_is\_ascii\_lowercase}} (self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00039}00039 ? ds\_char\_ascii\_change\_case\_unchecked (self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00040}00040 : self;} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00041}00041 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00042}00042 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00043}00043 \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00044}\mbox{\hyperlink{char_8h_a6d9242880df4717ee13d29c95a33c2f8}{00044}} \mbox{\hyperlink{char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d}{ds\_char\_to\_ascii\_lowercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00045}00045 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00046}00046 \textcolor{keywordflow}{return} \mbox{\hyperlink{char_8c_a800be38168fd75c1505b935a62d2f9ae}{ds\_char\_is\_ascii\_uppercase}} (self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00047}00047 ? ds\_char\_ascii\_change\_case\_unchecked (self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00048}00048 : self;} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00049}00049 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00050}00050 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00051}00051 \textcolor{keywordtype}{bool}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00052}\mbox{\hyperlink{char_8h_a909932a31d20457ee7765543113c2493}{00052}} \mbox{\hyperlink{char_8c_a643fe0b72862983c36a6b61ad57c1cfe}{ds\_char\_eq\_ignore\_ascii\_case}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self, \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} other)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00053}00053 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00054}00054 \textcolor{keywordflow}{return} \mbox{\hyperlink{char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d}{ds\_char\_to\_ascii\_lowercase}} (self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00055}00055 == \mbox{\hyperlink{char_8c_a8385de1c37e3dfa511ca0ebdec5ed29d}{ds\_char\_to\_ascii\_lowercase}} (other);} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00056}00056 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00057}00057 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00058}00058 \textcolor{keywordtype}{bool}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00059}\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{00059}} \mbox{\hyperlink{char_8c_a02834d689c11586dfd63cfb5c5af6ec3}{ds\_char\_is\_ascii\_alphabetic}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00060}00060 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00061}00061 \textcolor{keywordflow}{return} \mbox{\hyperlink{char_8c_addb2c2f7cdda91ae57f50b84a55af573}{ds\_char\_is\_ascii\_lowercase}} (self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00062}00062 || \mbox{\hyperlink{char_8c_a800be38168fd75c1505b935a62d2f9ae}{ds\_char\_is\_ascii\_uppercase}} (self);} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00063}00063 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00064}00064 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00065}00065 \textcolor{keywordtype}{bool}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00066}\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{00066}} \mbox{\hyperlink{char_8c_a800be38168fd75c1505b935a62d2f9ae}{ds\_char\_is\_ascii\_uppercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00067}00067 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00068}00068 \textcolor{keywordflow}{return} \mbox{\hyperlink{char_8c_a61380babe759ddeea94ee96a230e0916}{ds\_char\_in\_range}} (self, \textcolor{charliteral}{'A'}, \textcolor{charliteral}{'Z'});} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00069}00069 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00070}00070 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00071}00071 \textcolor{keywordtype}{bool}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00072}\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{00072}} \mbox{\hyperlink{char_8c_addb2c2f7cdda91ae57f50b84a55af573}{ds\_char\_is\_ascii\_lowercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00073}00073 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00074}00074 \textcolor{keywordflow}{return} \mbox{\hyperlink{char_8c_a61380babe759ddeea94ee96a230e0916}{ds\_char\_in\_range}} (self, \textcolor{charliteral}{'a'}, \textcolor{charliteral}{'z'});} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00075}00075 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00076}00076 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00077}00077 \textcolor{keywordtype}{bool}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00078}\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{00078}} \mbox{\hyperlink{char_8c_a349af3c98a6fb7cdeff001119743c1ca}{ds\_char\_is\_ascii\_alphanumeric}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00079}00079 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00080}00080 \textcolor{keywordflow}{return} \mbox{\hyperlink{char_8c_a02834d689c11586dfd63cfb5c5af6ec3}{ds\_char\_is\_ascii\_alphabetic}} (self) || \mbox{\hyperlink{char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351}{ds\_char\_is\_ascii\_digit}} (self);} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00081}00081 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00082}00082 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00083}00083 \textcolor{keywordtype}{bool}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00084}\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{00084}} \mbox{\hyperlink{char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351}{ds\_char\_is\_ascii\_digit}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00085}00085 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00086}00086 \textcolor{keywordflow}{return} \mbox{\hyperlink{char_8c_a61380babe759ddeea94ee96a230e0916}{ds\_char\_in\_range}} (self, \textcolor{charliteral}{'0'}, \textcolor{charliteral}{'9'});} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00087}00087 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00088}00088 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00089}00089 \textcolor{keywordtype}{bool}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00090}\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{00090}} \mbox{\hyperlink{char_8c_a9da93370b843c312fc7fae6a373c4206}{ds\_char\_is\_ascii\_octdigit}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00091}00091 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00092}00092 \textcolor{keywordflow}{return} \mbox{\hyperlink{char_8c_a61380babe759ddeea94ee96a230e0916}{ds\_char\_in\_range}} (self, \textcolor{charliteral}{'0'}, \textcolor{charliteral}{'7'});} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00093}00093 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00094}00094 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00095}00095 \textcolor{keywordtype}{bool}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00096}\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{00096}} \mbox{\hyperlink{char_8c_a1e1289b7cecd55f4fb932418d093e8ab}{ds\_char\_is\_ascii\_hexdigit}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00097}00097 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00098}00098 \textcolor{keywordflow}{return} \mbox{\hyperlink{char_8c_a6bbbed2e3dec7ed2aa9eff0683f2f351}{ds\_char\_is\_ascii\_digit}} (self) || \mbox{\hyperlink{char_8c_a61380babe759ddeea94ee96a230e0916}{ds\_char\_in\_range}} (self, \textcolor{charliteral}{'a'}, \textcolor{charliteral}{'f'})} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00099}00099 || \mbox{\hyperlink{char_8c_a61380babe759ddeea94ee96a230e0916}{ds\_char\_in\_range}} (self, \textcolor{charliteral}{'A'}, \textcolor{charliteral}{'F'});} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00100}00100 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00101}00101 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00102}00102 \textcolor{keywordtype}{bool}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00103}\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{00103}} \mbox{\hyperlink{char_8c_abe0cdf5de54fe62bcf737d83ad2cb4f8}{ds\_char\_is\_ascii\_punctuation}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00104}00104 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00105}00105 \textcolor{keywordflow}{return} \mbox{\hyperlink{char_8c_a61380babe759ddeea94ee96a230e0916}{ds\_char\_in\_range}} (self, \textcolor{charliteral}{'!'}, \textcolor{charliteral}{'/'}) || \mbox{\hyperlink{char_8c_a61380babe759ddeea94ee96a230e0916}{ds\_char\_in\_range}} (self, \textcolor{charliteral}{':'}, \textcolor{charliteral}{'@'})} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00106}00106 || \mbox{\hyperlink{char_8c_a61380babe759ddeea94ee96a230e0916}{ds\_char\_in\_range}} (self, \textcolor{charliteral}{'['}, \textcolor{charliteral}{'`'})} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00107}00107 || \mbox{\hyperlink{char_8c_a61380babe759ddeea94ee96a230e0916}{ds\_char\_in\_range}} (self, \textcolor{charliteral}{'\{'}, \textcolor{charliteral}{'\string~'});} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00108}00108 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00109}00109 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00110}00110 \textcolor{keywordtype}{bool}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00111}\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{00111}} \mbox{\hyperlink{char_8c_aca6506a9db8ce783cac59d28def15b17}{ds\_char\_is\_ascii\_graphic}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00112}00112 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00113}00113 \textcolor{keywordflow}{return} \mbox{\hyperlink{char_8c_a61380babe759ddeea94ee96a230e0916}{ds\_char\_in\_range}} (self, \textcolor{charliteral}{'!'}, \textcolor{charliteral}{'\string~'});} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00114}00114 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00115}00115 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00116}00116 \textcolor{keywordtype}{bool}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00117}\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{00117}} \mbox{\hyperlink{char_8c_a603228992a323665c2ad4c34d86a95aa}{ds\_char\_is\_ascii\_whitespace}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00118}00118 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00119}00119 \textcolor{keywordflow}{return} self == \textcolor{charliteral}{'\(\backslash\)t'} || self == \textcolor{charliteral}{'\(\backslash\)n'} || self == \textcolor{stringliteral}{'\(\backslash\)x0C'} || self == \textcolor{charliteral}{'\(\backslash\)r'}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00120}00120 || self == \textcolor{charliteral}{' '};} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00121}00121 \}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00122}00122 } +\DoxyCodeLine{\Hypertarget{char_8c_source_l00123}00123 \textcolor{keywordtype}{bool}} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00124}\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{00124}} \mbox{\hyperlink{char_8c_a24c097e7e8fc5fb63133cfb6a3f84587}{ds\_char\_is\_ascii\_control}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} self)} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00125}00125 \{} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00126}00126 \textcolor{keywordflow}{return} self == \textcolor{stringliteral}{'\(\backslash\)x7F'} || \mbox{\hyperlink{char_8c_a61380babe759ddeea94ee96a230e0916}{ds\_char\_in\_range}} (self, \mbox{\hyperlink{char_8h_aff8ca144f3aed3f78bedd4310eefbbbc}{DS\_CHAR\_NUL}}, \textcolor{stringliteral}{'\(\backslash\)x1F'});} +\DoxyCodeLine{\Hypertarget{char_8c_source_l00127}00127 \}} \end{DoxyCode} diff --git a/docs/latex/char_8h.tex b/docs/latex/char_8h.tex index 9f612e8..5d3332f 100644 --- a/docs/latex/char_8h.tex +++ b/docs/latex/char_8h.tex @@ -6,17 +6,17 @@ {\ttfamily \#include $<$limits.\+h$>$}\newline +{\ttfamily \#include $<$stdbool.\+h$>$}\newline {\ttfamily \#include \char`\"{}ds/usize.\+h\char`\"{}}\newline Include dependency graph for char.\+h\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode -\includegraphics[width=234pt]{char_8h__incl} +\includegraphics[width=308pt]{char_8h__incl} \end{center} \end{figure} -This graph shows which files directly or indirectly include this file\+: -\nopagebreak +This graph shows which files directly or indirectly include this file\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -43,6 +43,39 @@ \item typedef char \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} \begin{DoxyCompactList}\small\item\em A character type. \end{DoxyCompactList}\end{DoxyCompactItemize} +\doxysubsection*{Functions} +\begin{DoxyCompactItemize} +\item +bool \mbox{\hyperlink{char_8h_a0d17ad586e00766b4684bdac9924ed0e}{ds\+\_\+char\+\_\+in\+\_\+range}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self, \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} start, \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} end) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} lies in the inclusive interval between {\ttfamily start} and {\ttfamily end}. \end{DoxyCompactList}\item +\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} \mbox{\hyperlink{char_8h_acf28b292dd407661577ae4df5e40684b}{ds\+\_\+char\+\_\+to\+\_\+ascii\+\_\+uppercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self) +\begin{DoxyCompactList}\small\item\em Makes a copy of {\ttfamily self} in its ASCII upper case equivalent. \end{DoxyCompactList}\item +\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} \mbox{\hyperlink{char_8h_a6d9242880df4717ee13d29c95a33c2f8}{ds\+\_\+char\+\_\+to\+\_\+ascii\+\_\+lowercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self) +\begin{DoxyCompactList}\small\item\em Makes a copy of {\ttfamily self} in its ASCII lower case equivalent. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8h_a909932a31d20457ee7765543113c2493}{ds\+\_\+char\+\_\+eq\+\_\+ignore\+\_\+ascii\+\_\+case}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self, \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} other) +\begin{DoxyCompactList}\small\item\em Checks that {\ttfamily self} and {\ttfamily other} are an ASCII case-\/insensitive match. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+alphabetic}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII alphabetic character\+: \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+uppercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII uppercase character\+: U+0041 \textquotesingle{}A\textquotesingle{} ..= U+005A \textquotesingle{}Z\textquotesingle{}. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+lowercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII lowercase character\+: U+0061 \textquotesingle{}a\textquotesingle{} ..= U+007A \textquotesingle{}z\textquotesingle{}. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+alphanumeric}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII alphanumeric character\+: \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+digit}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII decimal digit\+: U+0030 \textquotesingle{}0\textquotesingle{} ..= U+0039 \textquotesingle{}9\textquotesingle{}. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+octdigit}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII octal digit\+: U+0030 \textquotesingle{}0\textquotesingle{} ..= U+0037 \textquotesingle{}7\textquotesingle{}. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+hexdigit}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII hexadecimal digit\+: \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+punctuation}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII punctuation character\+: \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+graphic}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII graphic character\+: U+0021 \textquotesingle{}!\textquotesingle{} ..= U+007E \textquotesingle{}$\sim$\textquotesingle{}. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+whitespace}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII whitespace character\+: U+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED, U+000C FORM FEED, or U+000D CARRIAGE RETURN. \end{DoxyCompactList}\item +bool \mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+control}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} self) +\begin{DoxyCompactList}\small\item\em Checks if {\ttfamily self} is an ASCII control character\+: U+0000 \mbox{\hyperlink{char_8h_aff8ca144f3aed3f78bedd4310eefbbbc}{NUL}} ..= U+001F UNIT SEPARATOR, or U+007F DELETE. Note that most ASCII whitespace characters are control characters, but SPACE is not. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Detailed Description} @@ -74,7 +107,7 @@ The size of \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{char}} in bytes. -\hypertarget{char_8h_autotoc_md1}{}\doxyparagraph{Examples}\label{char_8h_autotoc_md1} +\hypertarget{char_8h_autotoc_md16}{}\doxyparagraph{Examples}\label{char_8h_autotoc_md16} Basic usage\+: @@ -84,7 +117,7 @@ \end{DoxyCode} -Definition at line \mbox{\hyperlink{char_8h_source_l00040}{40}} of file \mbox{\hyperlink{char_8h_source}{char.\+h}}. +Definition at line \mbox{\hyperlink{char_8h_source_l00532}{532}} of file \mbox{\hyperlink{char_8h_source}{char.\+h}}. \mbox{\Hypertarget{char_8h_ae542829a032ef5e36137dd69d3415584}\label{char_8h_ae542829a032ef5e36137dd69d3415584}} \index{char.h@{char.h}!DS\_CHAR\_MAX@{DS\_CHAR\_MAX}} @@ -96,7 +129,7 @@ The largest value that can be represented by \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{char}}. -\hypertarget{char_8h_autotoc_md3}{}\doxyparagraph{Examples}\label{char_8h_autotoc_md3} +\hypertarget{char_8h_autotoc_md18}{}\doxyparagraph{Examples}\label{char_8h_autotoc_md18} Basic usage\+: @@ -106,7 +139,7 @@ \end{DoxyCode} -Definition at line \mbox{\hyperlink{char_8h_source_l00062}{62}} of file \mbox{\hyperlink{char_8h_source}{char.\+h}}. +Definition at line \mbox{\hyperlink{char_8h_source_l00554}{554}} of file \mbox{\hyperlink{char_8h_source}{char.\+h}}. \mbox{\Hypertarget{char_8h_a6a4d17f251bbb80c89c3dee5cc586023}\label{char_8h_a6a4d17f251bbb80c89c3dee5cc586023}} \index{char.h@{char.h}!DS\_CHAR\_MIN@{DS\_CHAR\_MIN}} @@ -118,7 +151,7 @@ The smallest value that can be represented by \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{char}}. -\hypertarget{char_8h_autotoc_md2}{}\doxyparagraph{Examples}\label{char_8h_autotoc_md2} +\hypertarget{char_8h_autotoc_md17}{}\doxyparagraph{Examples}\label{char_8h_autotoc_md17} Basic usage\+: @@ -128,7 +161,7 @@ \end{DoxyCode} -Definition at line \mbox{\hyperlink{char_8h_source_l00051}{51}} of file \mbox{\hyperlink{char_8h_source}{char.\+h}}. +Definition at line \mbox{\hyperlink{char_8h_source_l00543}{543}} of file \mbox{\hyperlink{char_8h_source}{char.\+h}}. \mbox{\Hypertarget{char_8h_aff8ca144f3aed3f78bedd4310eefbbbc}\label{char_8h_aff8ca144f3aed3f78bedd4310eefbbbc}} \index{char.h@{char.h}!DS\_CHAR\_NUL@{DS\_CHAR\_NUL}} @@ -140,7 +173,7 @@ The null-\/terminator character. -\hypertarget{char_8h_autotoc_md4}{}\doxyparagraph{Examples}\label{char_8h_autotoc_md4} +\hypertarget{char_8h_autotoc_md19}{}\doxyparagraph{Examples}\label{char_8h_autotoc_md19} Basic usage\+: @@ -150,7 +183,7 @@ \end{DoxyCode} -Definition at line \mbox{\hyperlink{char_8h_source_l00073}{73}} of file \mbox{\hyperlink{char_8h_source}{char.\+h}}. +Definition at line \mbox{\hyperlink{char_8h_source_l00565}{565}} of file \mbox{\hyperlink{char_8h_source}{char.\+h}}. \mbox{\Hypertarget{char_8h_ae7a05ab6f23500c4eb3f066e5b381bd4}\label{char_8h_ae7a05ab6f23500c4eb3f066e5b381bd4}} \index{char.h@{char.h}!DS\_PRI\_CHAR@{DS\_PRI\_CHAR}} @@ -162,7 +195,7 @@ \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{char}} notation. Can be used in {\ttfamily printf} to format and write \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{char}} values. -\hypertarget{char_8h_autotoc_md6}{}\doxyparagraph{Examples}\label{char_8h_autotoc_md6} +\hypertarget{char_8h_autotoc_md21}{}\doxyparagraph{Examples}\label{char_8h_autotoc_md21} Basic usage\+: @@ -173,7 +206,7 @@ \end{DoxyCode} -Definition at line \mbox{\hyperlink{char_8h_source_l00103}{103}} of file \mbox{\hyperlink{char_8h_source}{char.\+h}}. +Definition at line \mbox{\hyperlink{char_8h_source_l00595}{595}} of file \mbox{\hyperlink{char_8h_source}{char.\+h}}. \mbox{\Hypertarget{char_8h_ae2ad7e7322720db2607b90a7f0011fa7}\label{char_8h_ae2ad7e7322720db2607b90a7f0011fa7}} \index{char.h@{char.h}!DS\_SCN\_CHAR@{DS\_SCN\_CHAR}} @@ -188,7 +221,7 @@ \begin{DoxyWarning}{Warning} It is strongly advised to use \href{https://en.cppreference.com/w/c/io/fgets}{\texttt{ {\ttfamily fgets}}} instead of {\ttfamily scanf} to read input. \end{DoxyWarning} -\hypertarget{char_8h_autotoc_md5}{}\doxyparagraph{Examples}\label{char_8h_autotoc_md5} +\hypertarget{char_8h_autotoc_md20}{}\doxyparagraph{Examples}\label{char_8h_autotoc_md20} Basic usage\+: @@ -199,7 +232,7 @@ \end{DoxyCode} -Definition at line \mbox{\hyperlink{char_8h_source_l00090}{90}} of file \mbox{\hyperlink{char_8h_source}{char.\+h}}. +Definition at line \mbox{\hyperlink{char_8h_source_l00582}{582}} of file \mbox{\hyperlink{char_8h_source}{char.\+h}}. @@ -218,5 +251,870 @@ More specifically, since ‘character’ isn’t a well-\/defined concept in Unicode, \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{char}} will be a ‘\+Unicode scalar value’ in the future, when UTF-\/8 validation is fully supported. -Definition at line \mbox{\hyperlink{char_8h_source_l00029}{29}} of file \mbox{\hyperlink{char_8h_source}{char.\+h}}. +Definition at line \mbox{\hyperlink{char_8h_source_l00030}{30}} of file \mbox{\hyperlink{char_8h_source}{char.\+h}}. + + + +\doxysubsection{Function Documentation} +\mbox{\Hypertarget{char_8h_a909932a31d20457ee7765543113c2493}\label{char_8h_a909932a31d20457ee7765543113c2493}} +\index{char.h@{char.h}!ds\_char\_eq\_ignore\_ascii\_case@{ds\_char\_eq\_ignore\_ascii\_case}} +\index{ds\_char\_eq\_ignore\_ascii\_case@{ds\_char\_eq\_ignore\_ascii\_case}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_eq\_ignore\_ascii\_case()}{ds\_char\_eq\_ignore\_ascii\_case()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+eq\+\_\+ignore\+\_\+ascii\+\_\+case (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self, }\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{other }\end{DoxyParamCaption})} + + + +Checks that {\ttfamily self} and {\ttfamily other} are an ASCII case-\/insensitive match. + +Equivalent to\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a6d9242880df4717ee13d29c95a33c2f8}{ds\_char\_to\_ascii\_lowercase}} (self) == \mbox{\hyperlink{char_8h_a6d9242880df4717ee13d29c95a33c2f8}{ds\_char\_to\_ascii\_lowercase}} (other);} + +\end{DoxyCode} + + + +\begin{DoxyParams}{Parameters} +{\em self} & The first value to compare. \\ +\hline +{\em other} & The second value to compare. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} and {\ttfamily other} are an ASCII case-\/insensitive match, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md4}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md4} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} upper\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lower\_a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lower\_z = \textcolor{charliteral}{'z'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a909932a31d20457ee7765543113c2493}{ds\_char\_eq\_ignore\_ascii\_case}} (upper\_a, lower\_a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a909932a31d20457ee7765543113c2493}{ds\_char\_eq\_ignore\_ascii\_case}} (upper\_a, upper\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a909932a31d20457ee7765543113c2493}{ds\_char\_eq\_ignore\_ascii\_case}} (upper\_a, lower\_z));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00052}{52}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8h_a909932a31d20457ee7765543113c2493_cgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8h_a0d17ad586e00766b4684bdac9924ed0e}\label{char_8h_a0d17ad586e00766b4684bdac9924ed0e}} +\index{char.h@{char.h}!ds\_char\_in\_range@{ds\_char\_in\_range}} +\index{ds\_char\_in\_range@{ds\_char\_in\_range}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_in\_range()}{ds\_char\_in\_range()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+in\+\_\+range (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self, }\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{start, }\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{end }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} lies in the inclusive interval between {\ttfamily start} and {\ttfamily end}. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +{\em start} & The inclusive start of the interval. \\ +\hline +{\em end} & The inclusive end of the interval. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} lies in the inclusive interval between {\ttfamily start} and {\ttfamily end}, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md1}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md1} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a0d17ad586e00766b4684bdac9924ed0e}{ds\_char\_in\_range}} (\textcolor{charliteral}{'a'}, \textcolor{charliteral}{'a'}, \textcolor{charliteral}{'z'}));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a0d17ad586e00766b4684bdac9924ed0e}{ds\_char\_in\_range}} (\textcolor{charliteral}{'A'}, \textcolor{charliteral}{'a'}, \textcolor{charliteral}{'z'}));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00029}{29}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the caller graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8h_ac124f08e43b0ae720d1548f482144407}\label{char_8h_ac124f08e43b0ae720d1548f482144407}} +\index{char.h@{char.h}!ds\_char\_is\_ascii\_alphabetic@{ds\_char\_is\_ascii\_alphabetic}} +\index{ds\_char\_is\_ascii\_alphabetic@{ds\_char\_is\_ascii\_alphabetic}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_alphabetic()}{ds\_char\_is\_ascii\_alphabetic()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+alphabetic (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII alphabetic character\+: + + +\begin{DoxyItemize} +\item U+0041 \textquotesingle{}A\textquotesingle{} ..= U+005A \textquotesingle{}Z\textquotesingle{}, or +\item U+0061 \textquotesingle{}a\textquotesingle{} ..= U+007A \textquotesingle{}z\textquotesingle{}. +\end{DoxyItemize} + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII alphabetic character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md5}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md5} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (uppercase\_a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (uppercase\_g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00059}{59}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8h_ac124f08e43b0ae720d1548f482144407_cgraph} +\end{center} +\end{figure} +Here is the caller graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8h_ac124f08e43b0ae720d1548f482144407_icgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}\label{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}} +\index{char.h@{char.h}!ds\_char\_is\_ascii\_alphanumeric@{ds\_char\_is\_ascii\_alphanumeric}} +\index{ds\_char\_is\_ascii\_alphanumeric@{ds\_char\_is\_ascii\_alphanumeric}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_alphanumeric()}{ds\_char\_is\_ascii\_alphanumeric()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+alphanumeric (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII alphanumeric character\+: + + +\begin{DoxyItemize} +\item U+0041 \textquotesingle{}A\textquotesingle{} ..= U+005A \textquotesingle{}Z\textquotesingle{}, or +\item U+0061 \textquotesingle{}a\textquotesingle{} ..= U+007A \textquotesingle{}z\textquotesingle{}, or +\item U+0030 \textquotesingle{}0\textquotesingle{} ..= U+0039 \textquotesingle{}9\textquotesingle{}. +\end{DoxyItemize} + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII alphanumeric character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md8}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md8} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (uppercase\_a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (uppercase\_g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00078}{78}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531_cgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8h_a1463f455ab57b0671638e381a2a85d26}\label{char_8h_a1463f455ab57b0671638e381a2a85d26}} +\index{char.h@{char.h}!ds\_char\_is\_ascii\_control@{ds\_char\_is\_ascii\_control}} +\index{ds\_char\_is\_ascii\_control@{ds\_char\_is\_ascii\_control}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_control()}{ds\_char\_is\_ascii\_control()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+control (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII control character\+: U+0000 \mbox{\hyperlink{char_8h_aff8ca144f3aed3f78bedd4310eefbbbc}{NUL}} ..= U+001F UNIT SEPARATOR, or U+007F DELETE. Note that most ASCII whitespace characters are control characters, but SPACE is not. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII control character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md15}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md15} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (uppercase\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (uppercase\_g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (space));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (lf));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00124}{124}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=333pt]{char_8h_a1463f455ab57b0671638e381a2a85d26_cgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}\label{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}} +\index{char.h@{char.h}!ds\_char\_is\_ascii\_digit@{ds\_char\_is\_ascii\_digit}} +\index{ds\_char\_is\_ascii\_digit@{ds\_char\_is\_ascii\_digit}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_digit()}{ds\_char\_is\_ascii\_digit()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+digit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII decimal digit\+: U+0030 \textquotesingle{}0\textquotesingle{} ..= U+0039 \textquotesingle{}9\textquotesingle{}. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII decimal digit, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md9}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md9} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (uppercase\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (uppercase\_g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00084}{84}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=322pt]{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_cgraph} +\end{center} +\end{figure} +Here is the caller graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_icgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8h_af50ba493605648683d0b49fd1df62211}\label{char_8h_af50ba493605648683d0b49fd1df62211}} +\index{char.h@{char.h}!ds\_char\_is\_ascii\_graphic@{ds\_char\_is\_ascii\_graphic}} +\index{ds\_char\_is\_ascii\_graphic@{ds\_char\_is\_ascii\_graphic}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_graphic()}{ds\_char\_is\_ascii\_graphic()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+graphic (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII graphic character\+: U+0021 \textquotesingle{}!\textquotesingle{} ..= U+007E \textquotesingle{}$\sim$\textquotesingle{}. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII graphic character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md13}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md13} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (uppercase\_a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (uppercase\_g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (zero));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00111}{111}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=335pt]{char_8h_af50ba493605648683d0b49fd1df62211_cgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8h_a119f494ae625a456bb4e62b3a0f78391}\label{char_8h_a119f494ae625a456bb4e62b3a0f78391}} +\index{char.h@{char.h}!ds\_char\_is\_ascii\_hexdigit@{ds\_char\_is\_ascii\_hexdigit}} +\index{ds\_char\_is\_ascii\_hexdigit@{ds\_char\_is\_ascii\_hexdigit}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_hexdigit()}{ds\_char\_is\_ascii\_hexdigit()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+hexdigit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII hexadecimal digit\+: + + +\begin{DoxyItemize} +\item U+0030 \textquotesingle{}0\textquotesingle{} ..= U+0039 \textquotesingle{}9\textquotesingle{}, or +\item U+0041 \textquotesingle{}A\textquotesingle{} ..= U+0046 \textquotesingle{}F\textquotesingle{}, or +\item U+0061 \textquotesingle{}a\textquotesingle{} ..= U+0066 \textquotesingle{}f\textquotesingle{}. +\end{DoxyItemize} + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII hexadecimal digit, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md11}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md11} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (uppercase\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (uppercase\_g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00096}{96}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8h_a119f494ae625a456bb4e62b3a0f78391_cgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}\label{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}} +\index{char.h@{char.h}!ds\_char\_is\_ascii\_lowercase@{ds\_char\_is\_ascii\_lowercase}} +\index{ds\_char\_is\_ascii\_lowercase@{ds\_char\_is\_ascii\_lowercase}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_lowercase()}{ds\_char\_is\_ascii\_lowercase()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+lowercase (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII lowercase character\+: U+0061 \textquotesingle{}a\textquotesingle{} ..= U+007A \textquotesingle{}z\textquotesingle{}. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII lowercase character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md7}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md7} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (uppercase\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (uppercase\_g));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00072}{72}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=348pt]{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph} +\end{center} +\end{figure} +Here is the caller graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8h_afb06a1b874a501739f2358d019bde21d}\label{char_8h_afb06a1b874a501739f2358d019bde21d}} +\index{char.h@{char.h}!ds\_char\_is\_ascii\_octdigit@{ds\_char\_is\_ascii\_octdigit}} +\index{ds\_char\_is\_ascii\_octdigit@{ds\_char\_is\_ascii\_octdigit}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_octdigit()}{ds\_char\_is\_ascii\_octdigit()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+octdigit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII octal digit\+: U+0030 \textquotesingle{}0\textquotesingle{} ..= U+0037 \textquotesingle{}7\textquotesingle{}. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII octal digit, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md10}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md10} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} seven = \textcolor{charliteral}{'7'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} nine = \textcolor{charliteral}{'9'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (uppercase\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (zero));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (seven));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (nine));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (lf));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00090}{90}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=335pt]{char_8h_afb06a1b874a501739f2358d019bde21d_cgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8h_abfc454a0d93d548ed94f109c77b1e68f}\label{char_8h_abfc454a0d93d548ed94f109c77b1e68f}} +\index{char.h@{char.h}!ds\_char\_is\_ascii\_punctuation@{ds\_char\_is\_ascii\_punctuation}} +\index{ds\_char\_is\_ascii\_punctuation@{ds\_char\_is\_ascii\_punctuation}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_punctuation()}{ds\_char\_is\_ascii\_punctuation()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+punctuation (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII punctuation character\+: + + +\begin{DoxyItemize} +\item U+0021 ..= U+002F {\ttfamily ! "{} \# \$ \% \& \textquotesingle{} ( ) $\ast$ + , -\/ . /}, or +\item U+003A ..= U+0040 {\ttfamily \+: ; \texorpdfstring{$<$}{<} = \texorpdfstring{$>$}{>} ? @}, or +\item U+005B ..= U+0060 {\ttfamily \mbox{[} \textbackslash{} \mbox{]} $^\wedge$ \+\_\+ \`{}}, or +\item U+007B ..= U+007E {\ttfamily \{ $\vert$ \} $\sim$} +\end{DoxyItemize} + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII punctuation character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md12}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md12} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (uppercase\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (uppercase\_g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (zero));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00103}{103}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8h_abfc454a0d93d548ed94f109c77b1e68f_cgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}\label{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}} +\index{char.h@{char.h}!ds\_char\_is\_ascii\_uppercase@{ds\_char\_is\_ascii\_uppercase}} +\index{ds\_char\_is\_ascii\_uppercase@{ds\_char\_is\_ascii\_uppercase}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_uppercase()}{ds\_char\_is\_ascii\_uppercase()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+uppercase (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII uppercase character\+: U+0041 \textquotesingle{}A\textquotesingle{} ..= U+005A \textquotesingle{}Z\textquotesingle{}. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII uppercase character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md6}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md6} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (uppercase\_a));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (uppercase\_g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (percent));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (space));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00066}{66}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=349pt]{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph} +\end{center} +\end{figure} +Here is the caller graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8h_af92b320584b2581e725f2d6ae4d3f18a}\label{char_8h_af92b320584b2581e725f2d6ae4d3f18a}} +\index{char.h@{char.h}!ds\_char\_is\_ascii\_whitespace@{ds\_char\_is\_ascii\_whitespace}} +\index{ds\_char\_is\_ascii\_whitespace@{ds\_char\_is\_ascii\_whitespace}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_is\_ascii\_whitespace()}{ds\_char\_is\_ascii\_whitespace()}} +{\footnotesize\ttfamily bool ds\+\_\+char\+\_\+is\+\_\+ascii\+\_\+whitespace (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Checks if {\ttfamily self} is an ASCII whitespace character\+: U+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED, U+000C FORM FEED, or U+000D CARRIAGE RETURN. + +{\ttfamily ds} uses the What\+WG Infra Standard\textquotesingle{}s \href{https://infra.spec.whatwg.org/\#ascii-whitespace}{\texttt{ definition of ASCII whitespace}}. There are several other definitions in wide use. For instance, \href{https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html\#tag_07_03_01}{\texttt{ the POSIX locale}} includes U+000B VERTICAL TAB as well as all the above characters, but—from the very same specification—\href{https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html\#tag_18_06_05}{\texttt{ the default rule for "{}field splitting"{} in the Bourne shell}} considers {\itshape only} SPACE, HORIZONTAL TAB, and LINE FEED as whitespace. + +If you are writing a program that will process an existing file format, check what that format\textquotesingle{}s definition of whitespace is before using this function. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to check. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +{\ttfamily true} if {\ttfamily self} is an ASCII whitespace character, {\ttfamily false} otherwise. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md14}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md14} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_a = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} uppercase\_g = \textcolor{charliteral}{'G'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} a = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} g = \textcolor{charliteral}{'g'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} zero = \textcolor{charliteral}{'0'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} percent = \textcolor{charliteral}{'\%'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} space = \textcolor{charliteral}{' '};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} lf = \textcolor{charliteral}{'\(\backslash\)n'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} esc = \textcolor{stringliteral}{'\(\backslash\)x1b'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (uppercase\_a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (uppercase\_g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (a));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (g));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (zero));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (percent));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (space));} +\DoxyCodeLine{assert (\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (lf));} +\DoxyCodeLine{assert (!\mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (esc));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00117}{117}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +\mbox{\Hypertarget{char_8h_a6d9242880df4717ee13d29c95a33c2f8}\label{char_8h_a6d9242880df4717ee13d29c95a33c2f8}} +\index{char.h@{char.h}!ds\_char\_to\_ascii\_lowercase@{ds\_char\_to\_ascii\_lowercase}} +\index{ds\_char\_to\_ascii\_lowercase@{ds\_char\_to\_ascii\_lowercase}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_to\_ascii\_lowercase()}{ds\_char\_to\_ascii\_lowercase()}} +{\footnotesize\ttfamily \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} ds\+\_\+char\+\_\+to\+\_\+ascii\+\_\+lowercase (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Makes a copy of {\ttfamily self} in its ASCII lower case equivalent. + +ASCII letters \textquotesingle{}A\textquotesingle{} to \textquotesingle{}Z\textquotesingle{} are mapped to \textquotesingle{}a\textquotesingle{} to \textquotesingle{}z\textquotesingle{}, but non-\/\+ASCII letters are unchanged. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to convert. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The ASCII lower case equivalent of {\ttfamily self}. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md3}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md3} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} ascii = \textcolor{charliteral}{'A'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} non\_ascii = \textcolor{stringliteral}{'❤'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\textcolor{charliteral}{'a'} == \mbox{\hyperlink{char_8h_a6d9242880df4717ee13d29c95a33c2f8}{ds\_char\_to\_ascii\_lowercase}} (ascii));} +\DoxyCodeLine{assert (\textcolor{stringliteral}{'❤'} == \mbox{\hyperlink{char_8h_a6d9242880df4717ee13d29c95a33c2f8}{ds\_char\_to\_ascii\_lowercase}} (non\_ascii));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00044}{44}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8h_a6d9242880df4717ee13d29c95a33c2f8_cgraph} +\end{center} +\end{figure} +Here is the caller graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8h_a6d9242880df4717ee13d29c95a33c2f8_icgraph} +\end{center} +\end{figure} +\mbox{\Hypertarget{char_8h_acf28b292dd407661577ae4df5e40684b}\label{char_8h_acf28b292dd407661577ae4df5e40684b}} +\index{char.h@{char.h}!ds\_char\_to\_ascii\_uppercase@{ds\_char\_to\_ascii\_uppercase}} +\index{ds\_char\_to\_ascii\_uppercase@{ds\_char\_to\_ascii\_uppercase}!char.h@{char.h}} +\doxysubsubsection{\texorpdfstring{ds\_char\_to\_ascii\_uppercase()}{ds\_char\_to\_ascii\_uppercase()}} +{\footnotesize\ttfamily \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}} ds\+\_\+char\+\_\+to\+\_\+ascii\+\_\+uppercase (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\+\_\+char\+\_\+t}}}]{self }\end{DoxyParamCaption})} + + + +Makes a copy of {\ttfamily self} in its ASCII upper case equivalent. + +ASCII letters \textquotesingle{}a\textquotesingle{} to \textquotesingle{}z\textquotesingle{} are mapped to \textquotesingle{}A\textquotesingle{} to \textquotesingle{}Z\textquotesingle{}, but non-\/\+ASCII letters are unchanged. + + +\begin{DoxyParams}{Parameters} +{\em self} & The value to convert. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The ASCII upper case equivalent of {\ttfamily self}. +\end{DoxyReturn} +\hypertarget{char_8c_autotoc_md2}{}\doxyparagraph{Examples}\label{char_8c_autotoc_md2} +Basic usage\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} ascii = \textcolor{charliteral}{'a'};} +\DoxyCodeLine{\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \textcolor{keyword}{const} non\_ascii = \textcolor{stringliteral}{'❤'};} +\DoxyCodeLine{} +\DoxyCodeLine{assert (\textcolor{charliteral}{'A'} == \mbox{\hyperlink{char_8h_acf28b292dd407661577ae4df5e40684b}{ds\_char\_to\_ascii\_uppercase}} (ascii));} +\DoxyCodeLine{assert (\textcolor{stringliteral}{'❤'} == \mbox{\hyperlink{char_8h_acf28b292dd407661577ae4df5e40684b}{ds\_char\_to\_ascii\_uppercase}} (non\_ascii));} + +\end{DoxyCode} + + +Definition at line \mbox{\hyperlink{char_8c_source_l00036}{36}} of file \mbox{\hyperlink{char_8c_source}{char.\+c}}. + +Here is the call graph for this function\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{char_8h_acf28b292dd407661577ae4df5e40684b_cgraph} +\end{center} +\end{figure} diff --git a/docs/latex/char_8h__incl.md5 b/docs/latex/char_8h__incl.md5 index b91edc1..f0910ea 100644 --- a/docs/latex/char_8h__incl.md5 +++ b/docs/latex/char_8h__incl.md5 @@ -1 +1 @@ -90360850d0f6383083f9ee02527b308b \ No newline at end of file +ba8e8de4803ae357288cfaba630e3ca1 \ No newline at end of file diff --git a/docs/latex/char_8h__incl.pdf b/docs/latex/char_8h__incl.pdf index 20c66b6a7f8c141dd282130e755dce492888119f..964798e50db8c123c77079c39324539f822ee115 100644 GIT binary patch delta 4905 zcmZvfWmptyw}z1}>6U>RQhEkv29Vmc5sjyLCrWY>`d$~EpsROBnHsZqC=xKIU?+JJV5Y)J zm?tb8UR4XCiQh}qXU-Eoo;*#PexI$cZ>Vk{u+`(&b+SC!xAKb}!eWzA{^8u_W506R z(BaPu5suII>iodPzJY$4I?dLcOBdsupBE6CcnknwAOtsbH65cDnYS9U+YQI-e9UtU z`)g}N&PnH;3$F80sk;^Uk@?fJ!4rm3Ur7Zh8M4htiF~*6GS*gmUv&HP=B*)l+@Ip8mxeR*3Px|I15&`9XRyFObHO(@YIV@l- zJkWX*Mm=qyL1c1p30hTt9G5@?khjaM@OIFxW#|3YaYKS8w=FJzqMTzZlDI0!7g|J+m~>P`k4>7oR~+)@bHdD7MM$ z*Kw&eL=~3V0O0dUeC4TYxp|&ar2PUdL_->3D4Ac)X3XsG8(ht4-?$q01?LEqDY8ISk1ZH~9Ppo?DcSw?kXY62 zwN6ZZb_0+%ZYFglGTP^b=M)e7{@o(czPG@DDzo0W=!h!TX~x%DYdN#+0Z=r-lUw~+ zluw=Q+&$c$+Bp4DE>B)k!hvAmpAG~9;j-9v!VU##S#cOp77mn@`ac2!fde7`e*2>y z|5=bQd}`|fH2;Hvf1o53jO`@qCXxcnWW^HSLc=5_WhfODDgSfP=i|6(pyM5Tb~LX3 zu-f+Lxno!UA!>l%87WuW{uV2vJqy(x5qN==M#|BZfMb=cg+`goGcpY~F zbF}K*U#3;K9A@0W3Oc#u@%_F}*yA=Lbg6s0K)gaiKcoqo^t~((2 zerE!t)J<>o^P!18mgm!g-12)(Y+PX&W$ZAfrAr947E9moYz6S@;}N2?q^-ro8F!#x z}neq)hs4( zLr9$?T>FZFxh$P5B|Dhrtz%Vr6mehxk%82F>bZ`$g;Q1d*zP9};UD2+(YkLQ6hVYK z)0}q(Dt2A^J*wZHygS}`?BjE?eQ@1NTPwX67{AqY%7Ncz+j}`EZ0541Z;uy%H9mcL z*~a~${`8`@R`RC5c?W=AO$`nOwXZ$ey=^yi>k(KcIBd~6eM*;r`V+zKbiP4xw7)RD z!))tIUGG?853im$;p0rFL4+P&cCS&%4L7Oxsa=ARt)$xH zJqFVoji?L-AEI9^dVH1MY4ek}J$TUTi?=@gRooLhn$h6CKeR!Wga9N9N;T4oa?1K_ zE-j9lh${pg-)GjWaXeruC~H5AW)Fd6G0p-GtBOidvV)B%7X^g1JF3|QWw~Ol#1__H z`JLkgLnWFbaQn`}NLC@b}J^DC5-txb?e`lg_iXV_Rj_H=L$=_vWF4sQ-@N5_F%_qxP5EHyB9 z=Rg&fS;b}IylZ87lOUodm@-2wh2R?)V)V{X%RQ#Z-AXBrc5q!vUzfe^VBEtUJK`~| zfP_RY^pVs-`2O0wLN3?URAji+XYK*KCdN$`vvl8Nsa8-tz=n3;SR@l1_2>Ft64lpy@5se%sjuNuMzcMtx zQPWjS?w*tn5ioczutWsk^)L6k-&#gmJ`lIkC zpMAHnhu*^PVvmumxk1vND=STHCgi6%-WYo>;xaeyRVPE2%@@?vpU(NigCc#9ad6{~ zB=#yA4@D;Cok!k**c~T;3WfBldYXGvS0O3hzk$X=lMGCOkc3h1{yt8xwU3rBmkuk6W}q_?~TK~I%eso&Zal0 z=2g=*bz*oC9FyWVWV$`HoS3uMbbg?hoTIqOlD~!FV#Z}1OIuH`zMb%1P@j1DTzYsl zg2{C4>WRCym5*#4{Y|O2!^J-dET8;b7n%_y8ck`KDD0ka-~Z)hE_4?$o1F) zR9wI_^Vx-!Babb$p94!!+4s@7u-$#lQLR%D9>IRJE48(n4X`qBfLm z?*f|(YDH`Sf?I0w>3a?}ni%cYFw1s|W)J800Xyfc|r?JV!&IT?knps0uC;#Qxkp5fdAE0hrn-EOLZ*pD^4BQ61~Rwts; zWdb`4Npkg2S(^pqBf~@^IZR$*NT_Lxw(jt6j7Cv;L6%=EdK02PjKd(<7T}VC71~B> z*30DEWxCX!=?ML81%XWEqgJ|2U=z-nG@<`3uHOzz(x{3!cH~i1M6(S{S*0pW?7HPI z-gc_G%$O&8{K>CYK~n$c2=mXeNhRx4E}=01H}^V-`?7QD`D!KHIjX?3t@!d}#z!@6 z-MfY)HE_PpH9*zhes#4pCcGiDS|Q0|T#wt$n1~(RR%c@$UJwo;7JdF3`chQ(ti;`ba(k=V#~O|;JIWWg6=8-4i0db290Ut!&+wfo`1du}*d`S)u@?o#1{4&ZPD z9$WR70(yyj4JDQev8LPWtPJCse&VIni!+>-iSu*y&%LQxS|UoP77BEmC8W}KJ@Ro( zN(sm?xC8XzM8d^+2v16B8B3+H!|EeNY69Uz`VRS&=VDZ8V`%Pl=aphbjOETk*=adu z2CW6aC8|0h92xI5Eaq5pIwmva!~2HD`RJT`*!Fu~4iM zvC7Q#E$*&YyOyKsd-2F;M_ujT-~R{}B>Au$2HO-F{p)MH`7S_*y7HqkWQI5Nd5NS zI}C*ADR*B%zflWsrVYXb#+=9T8gIW7m=$pm$||1rsKFIw15LUEm@ZF^vh+P*9JBxp zh}5q&OQV&Pr2IR7fc8<0?!v4dra>l4ySYeFqZFIjq7AOjWUP(q_S#nv167A4@y+9s z%ZO;BlUT=9_{)NWjZzA?py&_oPH z$(;7i$eYVl+l{C|#u?$VacXj_ag4~<^yo@9hunYzJGG3^T9s%Tmf8IGc1YWo+rzEq z!;?`40VS>yzY&nHoq1vg=~?(UYk!qS{4D2pcy>~a^fz=7&|BK<#Y#yTP@b`C8oEI0 zNhj+*_5^3!ReEh|3A0Y|D76gUjduYcnT6ZCgjOiEyON$UKir7weA2NVH=R;u=7?6V zewxO{Y&^X89v4t@uP{GN%r-@bgyOnZZl#t_VimEQiQwZIMk)=uepGPZcS7p9wl6|KF1 zhB{p)*R7;$6@%#-LwLWhNK(gr&j3lHblbTT*07BY)h(ZpB*)}tB{b@#z)dEtD(lOwCXU=DGxKLLcyE-1Vx#(OUPTnwCb-{rzOCWV9MrTP%#Z@w-xw0!6tZI z_BKZ?9W?G&@8bg+s5||(L+c6RN6s~&tYYMzCNN^}wyVwd&21dLS7I_%xfDscKaJC3 zQ|RgAiWPQhqvX-)2A^dihc0xLEm4X;RSPWQ6v;M3V;j+iq8-@ZZNJ#szS-0%2wmZq zA$_;7E92k;3D3gsU<{$6dD+y1R}?ZF_g zB00fb+^bIOc@nr4J|ur}^NJRMUgwF=-1;l)!K!68I)PCowtv<#w;^T=K7Gyfxj-}T zuyHANtPr(tX!CyeRi;=UjhXGe5X4QNv0zoSMqnRsW-UJZ=?9h8ZZ?WNwmou@PT|Ei z+fE_Apux*e;KSSdl|3@Av+?)BE%4nbyo+y8>M1EOn6EG9-eCHptOsq4Fq&G{tve&q za|Jz(d=7m3w-0qKTX$Su0FInb6$%{4Uv!+K4xL{VOe|hqU2XRyG+VvdN{z&(GIA3_ zz}N;x8B#q>1i}Pa{+p5R)_*jXj`@NJ29w27vxpGEq@Y+CmPJxYNwBOW6wA%}j1>-+ zkp_bQ6wnz+`ELP+KxDBWSp|q>z|z<>RspmO?C%pWIP4z`Ec>r;{SPPjKN%Dz`S&@f y?ElB4|9e;ae|-%m1^>rkn3Rmn-wolAe;UFi;ZSTPn>H0(3L;I(&#$hhLHS>sVl%P; delta 4546 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 diff --git a/docs/latex/char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph.md5 b/docs/latex/char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph.md5 new file mode 100644 index 0000000..cf22c36 --- /dev/null +++ b/docs/latex/char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph.md5 @@ -0,0 +1 @@ +1414cdd885b33d4fccb341fe2f4fbb49 \ No newline at end of file diff --git a/docs/latex/char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph.pdf b/docs/latex/char_8h_a0d17ad586e00766b4684bdac9924ed0e_icgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5a80a9b49b993ecd474bee06ed05c6f4dcd1377e GIT binary patch literal 12403 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_a119f494ae625a456bb4e62b3a0f78391_cgraph.md5 b/docs/latex/char_8h_a119f494ae625a456bb4e62b3a0f78391_cgraph.md5 new file mode 100644 index 0000000..73bf9ed --- /dev/null +++ b/docs/latex/char_8h_a119f494ae625a456bb4e62b3a0f78391_cgraph.md5 @@ -0,0 +1 @@ +2ed3e17fceea4196dea2cb7ac646d155 \ No newline at end of file diff --git a/docs/latex/char_8h_a119f494ae625a456bb4e62b3a0f78391_cgraph.pdf b/docs/latex/char_8h_a119f494ae625a456bb4e62b3a0f78391_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6bb17b0b5466412e5432447c224b93a758779dce GIT binary patch literal 6421 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_icgraph.md5 b/docs/latex/char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_icgraph.md5 new file mode 100644 index 0000000..13a568c --- /dev/null +++ b/docs/latex/char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_icgraph.md5 @@ -0,0 +1 @@ +d4fda539c613c27e3deb94358b5222d0 \ No newline at end of file diff --git a/docs/latex/char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_icgraph.pdf b/docs/latex/char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1_icgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..67c94a7af46ec0701465d81663af06da3d598efe GIT binary patch literal 6773 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⪻E1o>UTf`*=+=ox*y6^vTS^Y}cTL_0-1`TwJN!-E7auoQn522cUNv&?@?S z71|^~q2XZwlm-OMejo%i0Jo>ke??-azdh1s0Wu5PyKSo`mV&4C_uoW?K&DW&Km@k8 zeq-!z9SYl-7_IHU0u5}ZVh3^P5JAjLAi4kwmIR^(kwVxrY>#V6aH6`>U*7JQO9b2*|insh$)i1(4o?Ru?kX)0Kdu$dkw} zvOCh&0`Wf$fNImouZ*@53<85gP%tD62Eo7-tz~~4?^k7MVL_RbT(;A>J$n!l|Exw| zGTxa5{4y{skbeq*L?GY@z!})JAt5MmDYOC*_iRuY;ujmpS;4RWXTN`IL!iL){U?41 zaJoPHA&`h)+al3mCVuvVV18{2g~5L54~l^O(w`y*0fzGD{uD94jsa@#m$nEv8kFnL zZIMvLU*?B|A;6!hJwGZL3vL$V?O!Z&!evm6nC+aIkw~DX{z3K%21I92Iy7BvE0sdU TlBwGnM1rDVk(AUqt;_OXj}M1c literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph.md5 b/docs/latex/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph.md5 new file mode 100644 index 0000000..fad5f15 --- /dev/null +++ b/docs/latex/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph.md5 @@ -0,0 +1 @@ +1e17920cf5361c47ccc597992c67668a \ No newline at end of file diff --git a/docs/latex/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph.pdf b/docs/latex/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..55c8ed006e521a4aec9a09cd8170f59a734dfa97 GIT binary patch literal 5952 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 PP$&c%A|<6~rVsfaObAVb literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph.md5 b/docs/latex/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph.md5 new file mode 100644 index 0000000..21f7278 --- /dev/null +++ b/docs/latex/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph.md5 @@ -0,0 +1 @@ +e2bc8aa464cf4a0199ae65000850ff0f \ No newline at end of file diff --git a/docs/latex/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph.pdf b/docs/latex/char_8h_a682fb8a7ff2098b9de6feab90fe28bf2_icgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0beb3b45a58a9ff9bf384d10ae0248bbbff23a7c GIT binary patch literal 8016 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_a6d9242880df4717ee13d29c95a33c2f8_cgraph.md5 b/docs/latex/char_8h_a6d9242880df4717ee13d29c95a33c2f8_cgraph.md5 new file mode 100644 index 0000000..c794fde --- /dev/null +++ b/docs/latex/char_8h_a6d9242880df4717ee13d29c95a33c2f8_cgraph.md5 @@ -0,0 +1 @@ +e87dccc1d7e0beba8767fd2f4dd0a912 \ No newline at end of file diff --git a/docs/latex/char_8h_a6d9242880df4717ee13d29c95a33c2f8_cgraph.pdf b/docs/latex/char_8h_a6d9242880df4717ee13d29c95a33c2f8_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..57153d731aca5043f5b89351d3ad22558a080846 GIT binary patch literal 6787 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 bB{nG~<2MLPp)n$ZR7OHTQc^l5x}g69RE+WI literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_a909932a31d20457ee7765543113c2493_cgraph.md5 b/docs/latex/char_8h_a909932a31d20457ee7765543113c2493_cgraph.md5 new file mode 100644 index 0000000..20d9422 --- /dev/null +++ b/docs/latex/char_8h_a909932a31d20457ee7765543113c2493_cgraph.md5 @@ -0,0 +1 @@ +a797c80427e655734b10dfd92504ca29 \ No newline at end of file diff --git a/docs/latex/char_8h_a909932a31d20457ee7765543113c2493_cgraph.pdf b/docs/latex/char_8h_a909932a31d20457ee7765543113c2493_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..47c05b38bdacc632c719b3deb0235bf12c5ca8ef GIT binary patch literal 7330 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph.md5 b/docs/latex/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph.md5 new file mode 100644 index 0000000..e1b5b7b --- /dev/null +++ b/docs/latex/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph.md5 @@ -0,0 +1 @@ +7b876bb0c897d3891aad32a167073503 \ No newline at end of file diff --git a/docs/latex/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph.pdf b/docs/latex/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ae923adacc4472893e2740a714445c44d5dca583 GIT binary patch literal 6002 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 Lrl_cQP#^X`9SKL$ literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph.md5 b/docs/latex/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph.md5 new file mode 100644 index 0000000..2ca1d03 --- /dev/null +++ b/docs/latex/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph.md5 @@ -0,0 +1 @@ +66920b7e7eaf50977639a604dfe53032 \ No newline at end of file diff --git a/docs/latex/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph.pdf b/docs/latex/char_8h_aa0bffbb96f997d839b69ca28f8e0e43e_icgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8c2bcecc9a66c821368b0e21ced1189a3b229d66 GIT binary patch literal 7313 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 F{{hqvL!tlx literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_ab2495c17d510f2bb9c5c577d2e8a4531_cgraph.md5 b/docs/latex/char_8h_ab2495c17d510f2bb9c5c577d2e8a4531_cgraph.md5 new file mode 100644 index 0000000..93682eb --- /dev/null +++ b/docs/latex/char_8h_ab2495c17d510f2bb9c5c577d2e8a4531_cgraph.md5 @@ -0,0 +1 @@ +fdff320fa65e60765343486d87eb3767 \ No newline at end of file diff --git a/docs/latex/char_8h_ab2495c17d510f2bb9c5c577d2e8a4531_cgraph.pdf b/docs/latex/char_8h_ab2495c17d510f2bb9c5c577d2e8a4531_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..081a14595b2c27a45ee39fcd633f2eb4b4c86cc5 GIT binary patch literal 8487 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 REC+*w!a(BU>INF1{{fBz;k5t& literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_abfc454a0d93d548ed94f109c77b1e68f_cgraph.md5 b/docs/latex/char_8h_abfc454a0d93d548ed94f109c77b1e68f_cgraph.md5 new file mode 100644 index 0000000..b8af626 --- /dev/null +++ b/docs/latex/char_8h_abfc454a0d93d548ed94f109c77b1e68f_cgraph.md5 @@ -0,0 +1 @@ +80f0ccd299ac92672aab496dd0049427 \ No newline at end of file diff --git a/docs/latex/char_8h_abfc454a0d93d548ed94f109c77b1e68f_cgraph.pdf b/docs/latex/char_8h_abfc454a0d93d548ed94f109c77b1e68f_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..decded99e360ecec94688b6fa1b0e50893fdfaab GIT binary patch literal 6191 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_ac124f08e43b0ae720d1548f482144407_cgraph.md5 b/docs/latex/char_8h_ac124f08e43b0ae720d1548f482144407_cgraph.md5 new file mode 100644 index 0000000..fdd5de6 --- /dev/null +++ b/docs/latex/char_8h_ac124f08e43b0ae720d1548f482144407_cgraph.md5 @@ -0,0 +1 @@ +d0d044c68df03773445daa89071a84ec \ No newline at end of file diff --git a/docs/latex/char_8h_ac124f08e43b0ae720d1548f482144407_cgraph.pdf b/docs/latex/char_8h_ac124f08e43b0ae720d1548f482144407_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..366975a82b28f63ccf0edf60339914293ff3829b GIT binary patch literal 7429 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_ac124f08e43b0ae720d1548f482144407_icgraph.md5 b/docs/latex/char_8h_ac124f08e43b0ae720d1548f482144407_icgraph.md5 new file mode 100644 index 0000000..711ca6c --- /dev/null +++ b/docs/latex/char_8h_ac124f08e43b0ae720d1548f482144407_icgraph.md5 @@ -0,0 +1 @@ +f6ec2e7dd8cb4dea74b2bee9ae867c39 \ No newline at end of file diff --git a/docs/latex/char_8h_ac124f08e43b0ae720d1548f482144407_icgraph.pdf b/docs/latex/char_8h_ac124f08e43b0ae720d1548f482144407_icgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4eee9281ad30d32ce3c66208dec330c4e8829ffd GIT binary patch literal 6162 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_af50ba493605648683d0b49fd1df62211_cgraph.md5 b/docs/latex/char_8h_af50ba493605648683d0b49fd1df62211_cgraph.md5 new file mode 100644 index 0000000..15825a4 --- /dev/null +++ b/docs/latex/char_8h_af50ba493605648683d0b49fd1df62211_cgraph.md5 @@ -0,0 +1 @@ +6ac6c862dbfe7cb3d4f7df5e8940f87d \ No newline at end of file diff --git a/docs/latex/char_8h_af50ba493605648683d0b49fd1df62211_cgraph.pdf b/docs/latex/char_8h_af50ba493605648683d0b49fd1df62211_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8650756dfaa9ffc14ed3c7dd74e14eaa0e544893 GIT binary patch literal 5837 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 CNEx*N literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_afb06a1b874a501739f2358d019bde21d_cgraph.md5 b/docs/latex/char_8h_afb06a1b874a501739f2358d019bde21d_cgraph.md5 new file mode 100644 index 0000000..d3c3d10 --- /dev/null +++ b/docs/latex/char_8h_afb06a1b874a501739f2358d019bde21d_cgraph.md5 @@ -0,0 +1 @@ +d7c7aef9c8361a9254b17a000b01516f \ No newline at end of file diff --git a/docs/latex/char_8h_afb06a1b874a501739f2358d019bde21d_cgraph.pdf b/docs/latex/char_8h_afb06a1b874a501739f2358d019bde21d_cgraph.pdf new file mode 100644 index 0000000000000000000000000000000000000000..736d4271eab5a9882369fd5924094cdba0ae883d GIT binary patch literal 5943 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 literal 0 HcmV?d00001 diff --git a/docs/latex/char_8h_source.tex b/docs/latex/char_8h_source.tex index 9b5b8c4..70ccb89 100644 --- a/docs/latex/char_8h_source.tex +++ b/docs/latex/char_8h_source.tex @@ -15,101 +15,593 @@ \DoxyCodeLine{\Hypertarget{char_8h_source_l00011}00011 \textcolor{comment}{//! @date 2023-\/07-\/26}} \DoxyCodeLine{\Hypertarget{char_8h_source_l00012}00012 \textcolor{comment}{}} \DoxyCodeLine{\Hypertarget{char_8h_source_l00013}00013 \textcolor{preprocessor}{\#include }} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00014}00014 } -\DoxyCodeLine{\Hypertarget{char_8h_source_l00015}00015 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{usize_8h}{ds/usize.h}}"{}}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00016}00016 } -\DoxyCodeLine{\Hypertarget{char_8h_source_l00017}00017 \textcolor{preprocessor}{\#ifdef \_\_cplusplus}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00018}00018 \textcolor{keyword}{extern} \textcolor{stringliteral}{"{}C"{}}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00019}00019 \{} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00020}00020 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_cplusplus */}\textcolor{preprocessor}{}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00021}00021 \textcolor{comment}{}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00022}00022 \textcolor{comment}{ /// @brief A character type.}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00023}00023 \textcolor{comment}{ ///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00024}00024 \textcolor{comment}{ /// The @ref ds\_char\_t "{}char"{} type represents a single character.}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00025}00025 \textcolor{comment}{ ///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00026}00026 \textcolor{comment}{ /// More specifically, since ‘character’ isn’t a well-\/defined concept in}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00027}00027 \textcolor{comment}{ /// Unicode, @ref ds\_char\_t "{}char"{} will be a ‘Unicode scalar value’ in the}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00028}00028 \textcolor{comment}{ /// future, when UTF-\/8 validation is fully supported.}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00029}\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{00029}} \textcolor{comment}{} \textcolor{keyword}{typedef} \textcolor{keywordtype}{char} \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}};} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00030}00030 \textcolor{comment}{}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00031}00031 \textcolor{comment}{/// @brief The size of @ref ds\_char\_t "{}char"{} in bytes.}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00032}00032 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00033}00033 \textcolor{comment}{/// \#\#\# Examples}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00034}00034 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00035}00035 \textcolor{comment}{/// Basic usage:}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00036}00036 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00037}00037 \textcolor{comment}{/// ```c}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00038}00038 \textcolor{comment}{/// assert (DS\_CHAR\_BYTES == 1);}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00039}00039 \textcolor{comment}{/// ```}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00040}\mbox{\hyperlink{char_8h_a1185442ceeb0594a4a4c8d79abce60ad}{00040}} \textcolor{comment}{}\textcolor{preprocessor}{\#define DS\_CHAR\_BYTES ((ds\_usize\_t)sizeof (ds\_char\_t))}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00041}00041 \textcolor{comment}{}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00042}00042 \textcolor{comment}{/// @brief The smallest value that can be represented by @ref ds\_char\_t "{}char"{}.}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00043}00043 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00044}00044 \textcolor{comment}{/// \#\#\# Examples}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00045}00045 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00046}00046 \textcolor{comment}{/// Basic usage:}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00047}00047 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00048}00048 \textcolor{comment}{/// ```c}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00049}00049 \textcolor{comment}{/// assert (DS\_CHAR\_MIN == CHAR\_MIN);}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00050}00050 \textcolor{comment}{/// ```}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00051}\mbox{\hyperlink{char_8h_a6a4d17f251bbb80c89c3dee5cc586023}{00051}} \textcolor{comment}{}\textcolor{preprocessor}{\#define DS\_CHAR\_MIN ((ds\_char\_t)CHAR\_MIN)}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00052}00052 \textcolor{comment}{}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00053}00053 \textcolor{comment}{/// @brief The largest value that can be represented by @ref ds\_char\_t "{}char"{}.}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00054}00054 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00055}00055 \textcolor{comment}{/// \#\#\# Examples}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00056}00056 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00057}00057 \textcolor{comment}{/// Basic usage:}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00058}00058 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00059}00059 \textcolor{comment}{/// ```c}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00060}00060 \textcolor{comment}{/// assert (DS\_CHAR\_MAX == CHAR\_MAX);}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00061}00061 \textcolor{comment}{/// ```}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00062}\mbox{\hyperlink{char_8h_ae542829a032ef5e36137dd69d3415584}{00062}} \textcolor{comment}{}\textcolor{preprocessor}{\#define DS\_CHAR\_MAX ((ds\_char\_t)CHAR\_MAX)}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00063}00063 \textcolor{comment}{}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00064}00064 \textcolor{comment}{/// @brief The null-\/terminator character.}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00065}00065 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00066}00066 \textcolor{comment}{/// \#\#\# Examples}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00067}00067 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00068}00068 \textcolor{comment}{/// Basic usage:}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00069}00069 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00070}00070 \textcolor{comment}{/// ```c}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00071}00071 \textcolor{comment}{/// assert (DS\_CHAR\_NUL == '\(\backslash\)0');}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00072}00072 \textcolor{comment}{/// ```}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00073}\mbox{\hyperlink{char_8h_aff8ca144f3aed3f78bedd4310eefbbbc}{00073}} \textcolor{comment}{}\textcolor{preprocessor}{\#define DS\_CHAR\_NUL ((ds\_char\_t)0)}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00074}00074 \textcolor{comment}{}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00075}00075 \textcolor{comment}{/// @brief @ref ds\_char\_t "{}char"{} notation. Can be used in `scanf` to parse and}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00076}00076 \textcolor{comment}{/// read @ref ds\_char\_t "{}char"{} values.}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00077}00077 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00078}00078 \textcolor{comment}{/// @warning It is strongly advised to use}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00079}00079 \textcolor{comment}{/// [`fgets`](https://en.cppreference.com/w/c/io/fgets "{}fgets -\/}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00080}00080 \textcolor{comment}{/// cppreference.com"{}) instead of `scanf` to read input.}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00081}00081 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00082}00082 \textcolor{comment}{/// \#\#\# Examples}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00083}00083 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00084}00084 \textcolor{comment}{/// Basic usage:}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00085}00085 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00086}00086 \textcolor{comment}{/// ```c}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00087}00087 \textcolor{comment}{/// ds\_char\_t x;}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00088}00088 \textcolor{comment}{/// scanf ("{}\%"{} DS\_SCN\_CHAR, \&x);}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00089}00089 \textcolor{comment}{/// ```}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00090}\mbox{\hyperlink{char_8h_ae2ad7e7322720db2607b90a7f0011fa7}{00090}} \textcolor{comment}{}\textcolor{preprocessor}{\#define DS\_SCN\_CHAR "{}c"{}}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00091}00091 \textcolor{comment}{}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00092}00092 \textcolor{comment}{/// @brief @ref ds\_char\_t "{}char"{} notation. Can be used in `printf` to format}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00093}00093 \textcolor{comment}{/// and write @ref ds\_char\_t "{}char"{} values.}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00094}00094 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00095}00095 \textcolor{comment}{/// \#\#\# Examples}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00096}00096 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00097}00097 \textcolor{comment}{/// Basic usage:}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00098}00098 \textcolor{comment}{///}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00099}00099 \textcolor{comment}{/// ```c}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00100}00100 \textcolor{comment}{/// ds\_char\_t x = DS\_CHAR\_MAX;}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00101}00101 \textcolor{comment}{/// printf ("{}\%"{} DS\_PRI\_CHAR, x);}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00102}00102 \textcolor{comment}{/// ```}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00103}\mbox{\hyperlink{char_8h_ae7a05ab6f23500c4eb3f066e5b381bd4}{00103}} \textcolor{comment}{}\textcolor{preprocessor}{\#define DS\_PRI\_CHAR "{}c"{}}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00104}00104 } -\DoxyCodeLine{\Hypertarget{char_8h_source_l00105}00105 \textcolor{preprocessor}{\#ifdef \_\_cplusplus}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00106}00106 \}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00107}00107 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_cplusplus */}\textcolor{preprocessor}{}} -\DoxyCodeLine{\Hypertarget{char_8h_source_l00108}00108 } -\DoxyCodeLine{\Hypertarget{char_8h_source_l00109}00109 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* DS\_CHAR\_H */}\textcolor{preprocessor}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00014}00014 \textcolor{preprocessor}{\#include }} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00015}00015 } +\DoxyCodeLine{\Hypertarget{char_8h_source_l00016}00016 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{usize_8h}{ds/usize.h}}"{}}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00017}00017 } +\DoxyCodeLine{\Hypertarget{char_8h_source_l00018}00018 \textcolor{preprocessor}{\#ifdef \_\_cplusplus}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00019}00019 \textcolor{keyword}{extern} \textcolor{stringliteral}{"{}C"{}}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00020}00020 \{} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00021}00021 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_cplusplus */}\textcolor{preprocessor}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00022}00022 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00023}00023 \textcolor{comment}{ /// @brief A character type.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00024}00024 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00025}00025 \textcolor{comment}{ /// The @ref ds\_char\_t "{}char"{} type represents a single character.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00026}00026 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00027}00027 \textcolor{comment}{ /// More specifically, since ‘character’ isn’t a well-\/defined concept in}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00028}00028 \textcolor{comment}{ /// Unicode, @ref ds\_char\_t "{}char"{} will be a ‘Unicode scalar value’ in the}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00029}00029 \textcolor{comment}{ /// future, when UTF-\/8 validation is fully supported.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00030}\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{00030}} \textcolor{comment}{} \textcolor{keyword}{typedef} \textcolor{keywordtype}{char} \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}};} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00031}00031 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00032}00032 \textcolor{comment}{ /// @brief Checks if @p self lies in the inclusive interval between @p start}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00033}00033 \textcolor{comment}{ /// and @p end.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00034}00034 \textcolor{comment}{ /// @param self The value to check.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00035}00035 \textcolor{comment}{ /// @param start The inclusive start of the interval.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00036}00036 \textcolor{comment}{ /// @param end The inclusive end of the interval.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00037}00037 \textcolor{comment}{ /// @return `true` if @p self lies in the inclusive interval between @p start}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00038}00038 \textcolor{comment}{ /// and @p end, `false` otherwise.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00039}00039 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00040}00040 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00041}00041 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00042}00042 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00043}00043 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00044}00044 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00045}00045 \textcolor{comment}{ /// assert (ds\_char\_in\_range ('a', 'a', 'z'));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00046}00046 \textcolor{comment}{ /// assert (!ds\_char\_in\_range ('A', 'a', 'z'));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00047}00047 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00048}00048 \textcolor{comment}{} \textcolor{keyword}{extern} \textcolor{keywordtype}{bool} \mbox{\hyperlink{char_8h_a0d17ad586e00766b4684bdac9924ed0e}{ds\_char\_in\_range}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self, \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} start,} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00049}00049 \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} end);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00050}00050 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00051}00051 \textcolor{comment}{ /// @brief Makes a copy of @p self in its ASCII upper case equivalent.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00052}00052 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00053}00053 \textcolor{comment}{ /// ASCII letters 'a' to 'z' are mapped to 'A' to 'Z', but non-\/ASCII letters}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00054}00054 \textcolor{comment}{ /// are unchanged.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00055}00055 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00056}00056 \textcolor{comment}{ /// @param self The value to convert.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00057}00057 \textcolor{comment}{ /// @return The ASCII upper case equivalent of @p self.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00058}00058 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00059}00059 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00060}00060 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00061}00061 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00062}00062 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00063}00063 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00064}00064 \textcolor{comment}{ /// ds\_char\_t const ascii = 'a';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00065}00065 \textcolor{comment}{ /// ds\_char\_t const non\_ascii = '❤';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00066}00066 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00067}00067 \textcolor{comment}{ /// assert ('A' == ds\_char\_to\_ascii\_uppercase (ascii));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00068}00068 \textcolor{comment}{ /// assert ('❤' == ds\_char\_to\_ascii\_uppercase (non\_ascii));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00069}00069 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00070}00070 \textcolor{comment}{} \textcolor{keyword}{extern} \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \mbox{\hyperlink{char_8h_acf28b292dd407661577ae4df5e40684b}{ds\_char\_to\_ascii\_uppercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00071}00071 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00072}00072 \textcolor{comment}{ /// @brief Makes a copy of @p self in its ASCII lower case equivalent.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00073}00073 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00074}00074 \textcolor{comment}{ /// ASCII letters 'A' to 'Z' are mapped to 'a' to 'z', but non-\/ASCII letters}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00075}00075 \textcolor{comment}{ /// are unchanged.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00076}00076 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00077}00077 \textcolor{comment}{ /// @param self The value to convert.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00078}00078 \textcolor{comment}{ /// @return The ASCII lower case equivalent of @p self.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00079}00079 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00080}00080 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00081}00081 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00082}00082 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00083}00083 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00084}00084 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00085}00085 \textcolor{comment}{ /// ds\_char\_t const ascii = 'A';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00086}00086 \textcolor{comment}{ /// ds\_char\_t const non\_ascii = '❤';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00087}00087 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00088}00088 \textcolor{comment}{ /// assert ('a' == ds\_char\_to\_ascii\_lowercase (ascii));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00089}00089 \textcolor{comment}{ /// assert ('❤' == ds\_char\_to\_ascii\_lowercase (non\_ascii));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00090}00090 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00091}00091 \textcolor{comment}{} \textcolor{keyword}{extern} \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} \mbox{\hyperlink{char_8h_a6d9242880df4717ee13d29c95a33c2f8}{ds\_char\_to\_ascii\_lowercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00092}00092 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00093}00093 \textcolor{comment}{ /// @brief Checks that @p self and @p other are an ASCII case-\/insensitive}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00094}00094 \textcolor{comment}{ /// match.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00095}00095 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00096}00096 \textcolor{comment}{ /// Equivalent to:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00097}00097 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00098}00098 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00099}00099 \textcolor{comment}{ /// ds\_char\_to\_ascii\_lowercase (self) == ds\_char\_to\_ascii\_lowercase (other);}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00100}00100 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00101}00101 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00102}00102 \textcolor{comment}{ /// @param self The first value to compare.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00103}00103 \textcolor{comment}{ /// @param other The second value to compare.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00104}00104 \textcolor{comment}{ /// @return `true` if @p self and @p other are an ASCII case-\/insensitive}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00105}00105 \textcolor{comment}{ /// match, `false` otherwise.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00106}00106 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00107}00107 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00108}00108 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00109}00109 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00110}00110 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00111}00111 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00112}00112 \textcolor{comment}{ /// ds\_char\_t const upper\_a = 'A';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00113}00113 \textcolor{comment}{ /// ds\_char\_t const lower\_a = 'a';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00114}00114 \textcolor{comment}{ /// ds\_char\_t const lower\_z = 'z';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00115}00115 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00116}00116 \textcolor{comment}{ /// assert (ds\_char\_eq\_ignore\_ascii\_case (upper\_a, lower\_a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00117}00117 \textcolor{comment}{ /// assert (ds\_char\_eq\_ignore\_ascii\_case (upper\_a, upper\_a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00118}00118 \textcolor{comment}{ /// assert (!ds\_char\_eq\_ignore\_ascii\_case (upper\_a, lower\_z));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00119}00119 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00120}00120 \textcolor{comment}{} \textcolor{keyword}{extern} \textcolor{keywordtype}{bool} \mbox{\hyperlink{char_8h_a909932a31d20457ee7765543113c2493}{ds\_char\_eq\_ignore\_ascii\_case}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self, \mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} other);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00121}00121 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00122}00122 \textcolor{comment}{ /// @brief Checks if @p self is an ASCII alphabetic character:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00123}00123 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00124}00124 \textcolor{comment}{ /// -\/ U+0041 'A' ..= U+005A 'Z', or}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00125}00125 \textcolor{comment}{ /// -\/ U+0061 'a' ..= U+007A 'z'.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00126}00126 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00127}00127 \textcolor{comment}{ /// @param self The value to check.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00128}00128 \textcolor{comment}{ /// @return `true` if @p self is an ASCII alphabetic character, `false`}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00129}00129 \textcolor{comment}{ /// otherwise.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00130}00130 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00131}00131 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00132}00132 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00133}00133 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00134}00134 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00135}00135 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00136}00136 \textcolor{comment}{ /// ds\_char\_t const uppercase\_a = 'A';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00137}00137 \textcolor{comment}{ /// ds\_char\_t const uppercase\_g = 'G';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00138}00138 \textcolor{comment}{ /// ds\_char\_t const a = 'a';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00139}00139 \textcolor{comment}{ /// ds\_char\_t const g = 'g';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00140}00140 \textcolor{comment}{ /// ds\_char\_t const zero = '0';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00141}00141 \textcolor{comment}{ /// ds\_char\_t const percent = '\%';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00142}00142 \textcolor{comment}{ /// ds\_char\_t const space = ' ';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00143}00143 \textcolor{comment}{ /// ds\_char\_t const lf = '\(\backslash\)n';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00144}00144 \textcolor{comment}{ /// ds\_char\_t const esc = '\(\backslash\)x1b';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00145}00145 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00146}00146 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_alphabetic (uppercase\_a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00147}00147 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_alphabetic (uppercase\_g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00148}00148 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_alphabetic (a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00149}00149 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_alphabetic (g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00150}00150 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_alphabetic (zero));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00151}00151 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_alphabetic (percent));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00152}00152 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_alphabetic (space));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00153}00153 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_alphabetic (lf));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00154}00154 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_alphabetic (esc));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00155}00155 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00156}00156 \textcolor{comment}{} \textcolor{keyword}{extern} \textcolor{keywordtype}{bool} \mbox{\hyperlink{char_8h_ac124f08e43b0ae720d1548f482144407}{ds\_char\_is\_ascii\_alphabetic}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00157}00157 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00158}00158 \textcolor{comment}{ /// @brief Checks if @p self is an ASCII uppercase character:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00159}00159 \textcolor{comment}{ /// U+0041 'A' ..= U+005A 'Z'.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00160}00160 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00161}00161 \textcolor{comment}{ /// @param self The value to check.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00162}00162 \textcolor{comment}{ /// @return `true` if @p self is an ASCII uppercase character, `false`}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00163}00163 \textcolor{comment}{ /// otherwise.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00164}00164 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00165}00165 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00166}00166 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00167}00167 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00168}00168 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00169}00169 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00170}00170 \textcolor{comment}{ /// ds\_char\_t const uppercase\_a = 'A';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00171}00171 \textcolor{comment}{ /// ds\_char\_t const uppercase\_g = 'G';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00172}00172 \textcolor{comment}{ /// ds\_char\_t const a = 'a';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00173}00173 \textcolor{comment}{ /// ds\_char\_t const g = 'g';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00174}00174 \textcolor{comment}{ /// ds\_char\_t const zero = '0';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00175}00175 \textcolor{comment}{ /// ds\_char\_t const percent = '\%';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00176}00176 \textcolor{comment}{ /// ds\_char\_t const space = ' ';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00177}00177 \textcolor{comment}{ /// ds\_char\_t const lf = '\(\backslash\)n';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00178}00178 \textcolor{comment}{ /// ds\_char\_t const esc = '\(\backslash\)x1b';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00179}00179 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00180}00180 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_uppercase (uppercase\_a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00181}00181 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_uppercase (uppercase\_g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00182}00182 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_uppercase (a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00183}00183 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_uppercase (g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00184}00184 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_uppercase (zero));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00185}00185 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_uppercase (percent));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00186}00186 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_uppercase (space));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00187}00187 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_uppercase (lf));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00188}00188 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_uppercase (esc));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00189}00189 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00190}00190 \textcolor{comment}{} \textcolor{keyword}{extern} \textcolor{keywordtype}{bool} \mbox{\hyperlink{char_8h_a682fb8a7ff2098b9de6feab90fe28bf2}{ds\_char\_is\_ascii\_uppercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00191}00191 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00192}00192 \textcolor{comment}{ /// @brief Checks if @p self is an ASCII lowercase character:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00193}00193 \textcolor{comment}{ /// U+0061 'a' ..= U+007A 'z'.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00194}00194 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00195}00195 \textcolor{comment}{ /// @param self The value to check.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00196}00196 \textcolor{comment}{ /// @return `true` if @p self is an ASCII lowercase character, `false`}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00197}00197 \textcolor{comment}{ /// otherwise.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00198}00198 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00199}00199 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00200}00200 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00201}00201 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00202}00202 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00203}00203 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00204}00204 \textcolor{comment}{ /// ds\_char\_t const uppercase\_a = 'A';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00205}00205 \textcolor{comment}{ /// ds\_char\_t const uppercase\_g = 'G';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00206}00206 \textcolor{comment}{ /// ds\_char\_t const a = 'a';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00207}00207 \textcolor{comment}{ /// ds\_char\_t const g = 'g';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00208}00208 \textcolor{comment}{ /// ds\_char\_t const zero = '0';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00209}00209 \textcolor{comment}{ /// ds\_char\_t const percent = '\%';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00210}00210 \textcolor{comment}{ /// ds\_char\_t const space = ' ';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00211}00211 \textcolor{comment}{ /// ds\_char\_t const lf = '\(\backslash\)n';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00212}00212 \textcolor{comment}{ /// ds\_char\_t const esc = '\(\backslash\)x1b';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00213}00213 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00214}00214 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_lowercase (uppercase\_a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00215}00215 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_lowercase (uppercase\_g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00216}00216 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_lowercase (a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00217}00217 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_lowercase (g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00218}00218 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_lowercase (zero));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00219}00219 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_lowercase (percent));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00220}00220 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_lowercase (space));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00221}00221 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_lowercase (lf));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00222}00222 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_lowercase (esc));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00223}00223 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00224}00224 \textcolor{comment}{} \textcolor{keyword}{extern} \textcolor{keywordtype}{bool} \mbox{\hyperlink{char_8h_aa0bffbb96f997d839b69ca28f8e0e43e}{ds\_char\_is\_ascii\_lowercase}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00225}00225 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00226}00226 \textcolor{comment}{ /// @brief Checks if @p self is an ASCII alphanumeric character:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00227}00227 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00228}00228 \textcolor{comment}{ /// -\/ U+0041 'A' ..= U+005A 'Z', or}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00229}00229 \textcolor{comment}{ /// -\/ U+0061 'a' ..= U+007A 'z', or}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00230}00230 \textcolor{comment}{ /// -\/ U+0030 '0' ..= U+0039 '9'.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00231}00231 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00232}00232 \textcolor{comment}{ /// @param self The value to check.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00233}00233 \textcolor{comment}{ /// @return `true` if @p self is an ASCII alphanumeric character, `false`}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00234}00234 \textcolor{comment}{ /// otherwise.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00235}00235 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00236}00236 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00237}00237 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00238}00238 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00239}00239 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00240}00240 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00241}00241 \textcolor{comment}{ /// ds\_char\_t const uppercase\_a = 'A';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00242}00242 \textcolor{comment}{ /// ds\_char\_t const uppercase\_g = 'G';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00243}00243 \textcolor{comment}{ /// ds\_char\_t const a = 'a';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00244}00244 \textcolor{comment}{ /// ds\_char\_t const g = 'g';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00245}00245 \textcolor{comment}{ /// ds\_char\_t const zero = '0';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00246}00246 \textcolor{comment}{ /// ds\_char\_t const percent = '\%';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00247}00247 \textcolor{comment}{ /// ds\_char\_t const space = ' ';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00248}00248 \textcolor{comment}{ /// ds\_char\_t const lf = '\(\backslash\)n';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00249}00249 \textcolor{comment}{ /// ds\_char\_t const esc = '\(\backslash\)x1b';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00250}00250 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00251}00251 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_alphanumeric (uppercase\_a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00252}00252 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_alphanumeric (uppercase\_g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00253}00253 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_alphanumeric (a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00254}00254 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_alphanumeric (g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00255}00255 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_alphanumeric (zero));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00256}00256 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_alphanumeric (percent));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00257}00257 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_alphanumeric (space));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00258}00258 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_alphanumeric (lf));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00259}00259 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_alphanumeric (esc));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00260}00260 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00261}00261 \textcolor{comment}{} \textcolor{keyword}{extern} \textcolor{keywordtype}{bool} \mbox{\hyperlink{char_8h_ab2495c17d510f2bb9c5c577d2e8a4531}{ds\_char\_is\_ascii\_alphanumeric}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00262}00262 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00263}00263 \textcolor{comment}{ /// @brief Checks if @p self is an ASCII decimal digit:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00264}00264 \textcolor{comment}{ /// U+0030 '0' ..= U+0039 '9'.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00265}00265 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00266}00266 \textcolor{comment}{ /// @param self The value to check.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00267}00267 \textcolor{comment}{ /// @return `true` if @p self is an ASCII decimal digit, `false` otherwise.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00268}00268 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00269}00269 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00270}00270 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00271}00271 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00272}00272 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00273}00273 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00274}00274 \textcolor{comment}{ /// ds\_char\_t const uppercase\_a = 'A';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00275}00275 \textcolor{comment}{ /// ds\_char\_t const uppercase\_g = 'G';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00276}00276 \textcolor{comment}{ /// ds\_char\_t const a = 'a';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00277}00277 \textcolor{comment}{ /// ds\_char\_t const g = 'g';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00278}00278 \textcolor{comment}{ /// ds\_char\_t const zero = '0';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00279}00279 \textcolor{comment}{ /// ds\_char\_t const percent = '\%';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00280}00280 \textcolor{comment}{ /// ds\_char\_t const space = ' ';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00281}00281 \textcolor{comment}{ /// ds\_char\_t const lf = '\(\backslash\)n';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00282}00282 \textcolor{comment}{ /// ds\_char\_t const esc = '\(\backslash\)x1b';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00283}00283 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00284}00284 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_digit (uppercase\_a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00285}00285 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_digit (uppercase\_g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00286}00286 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_digit (a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00287}00287 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_digit (g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00288}00288 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_digit (zero));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00289}00289 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_digit (percent));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00290}00290 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_digit (space));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00291}00291 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_digit (lf));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00292}00292 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_digit (esc));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00293}00293 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00294}00294 \textcolor{comment}{} \textcolor{keyword}{extern} \textcolor{keywordtype}{bool} \mbox{\hyperlink{char_8h_a56c6c6cbf8bb5eb5e06e29961cfd0cf1}{ds\_char\_is\_ascii\_digit}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00295}00295 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00296}00296 \textcolor{comment}{ /// @brief Checks if @p self is an ASCII octal digit:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00297}00297 \textcolor{comment}{ /// U+0030 '0' ..= U+0037 '7'.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00298}00298 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00299}00299 \textcolor{comment}{ /// @param self The value to check.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00300}00300 \textcolor{comment}{ /// @return `true` if @p self is an ASCII octal digit, `false` otherwise.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00301}00301 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00302}00302 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00303}00303 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00304}00304 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00305}00305 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00306}00306 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00307}00307 \textcolor{comment}{ /// ds\_char\_t const uppercase\_a = 'A';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00308}00308 \textcolor{comment}{ /// ds\_char\_t const a = 'a';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00309}00309 \textcolor{comment}{ /// ds\_char\_t const zero = '0';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00310}00310 \textcolor{comment}{ /// ds\_char\_t const seven = '7';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00311}00311 \textcolor{comment}{ /// ds\_char\_t const nine = '9';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00312}00312 \textcolor{comment}{ /// ds\_char\_t const percent = '\%';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00313}00313 \textcolor{comment}{ /// ds\_char\_t const lf = '\(\backslash\)n';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00314}00314 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00315}00315 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_octdigit (uppercase\_a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00316}00316 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_octdigit (a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00317}00317 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_octdigit (zero));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00318}00318 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_octdigit (seven));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00319}00319 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_octdigit (nine));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00320}00320 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_octdigit (percent));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00321}00321 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_octdigit (lf));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00322}00322 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00323}00323 \textcolor{comment}{} \textcolor{keyword}{extern} \textcolor{keywordtype}{bool} \mbox{\hyperlink{char_8h_afb06a1b874a501739f2358d019bde21d}{ds\_char\_is\_ascii\_octdigit}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00324}00324 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00325}00325 \textcolor{comment}{ /// @brief Checks if @p self is an ASCII hexadecimal digit:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00326}00326 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00327}00327 \textcolor{comment}{ /// -\/ U+0030 '0' ..= U+0039 '9', or}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00328}00328 \textcolor{comment}{ /// -\/ U+0041 'A' ..= U+0046 'F', or}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00329}00329 \textcolor{comment}{ /// -\/ U+0061 'a' ..= U+0066 'f'.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00330}00330 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00331}00331 \textcolor{comment}{ /// @param self The value to check.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00332}00332 \textcolor{comment}{ /// @return `true` if @p self is an ASCII hexadecimal digit, `false`}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00333}00333 \textcolor{comment}{ /// otherwise.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00334}00334 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00335}00335 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00336}00336 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00337}00337 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00338}00338 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00339}00339 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00340}00340 \textcolor{comment}{ /// ds\_char\_t const uppercase\_a = 'A';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00341}00341 \textcolor{comment}{ /// ds\_char\_t const uppercase\_g = 'G';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00342}00342 \textcolor{comment}{ /// ds\_char\_t const a = 'a';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00343}00343 \textcolor{comment}{ /// ds\_char\_t const g = 'g';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00344}00344 \textcolor{comment}{ /// ds\_char\_t const zero = '0';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00345}00345 \textcolor{comment}{ /// ds\_char\_t const percent = '\%';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00346}00346 \textcolor{comment}{ /// ds\_char\_t const space = ' ';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00347}00347 \textcolor{comment}{ /// ds\_char\_t const lf = '\(\backslash\)n';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00348}00348 \textcolor{comment}{ /// ds\_char\_t const esc = '\(\backslash\)x1b';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00349}00349 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00350}00350 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_hexdigit (uppercase\_a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00351}00351 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_hexdigit (uppercase\_g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00352}00352 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_hexdigit (a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00353}00353 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_hexdigit (g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00354}00354 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_hexdigit (zero));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00355}00355 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_hexdigit (percent));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00356}00356 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_hexdigit (space));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00357}00357 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_hexdigit (lf));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00358}00358 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_hexdigit (esc));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00359}00359 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00360}00360 \textcolor{comment}{} \textcolor{keyword}{extern} \textcolor{keywordtype}{bool} \mbox{\hyperlink{char_8h_a119f494ae625a456bb4e62b3a0f78391}{ds\_char\_is\_ascii\_hexdigit}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00361}00361 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00362}00362 \textcolor{comment}{ /// @brief Checks if @p self is an ASCII punctuation character:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00363}00363 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00364}00364 \textcolor{comment}{ /// -\/ U+0021 ..= U+002F ```! "{} \# \$ \% \& ' ( ) * + , -\/ . /```, or}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00365}00365 \textcolor{comment}{ /// -\/ U+003A ..= U+0040 ```: ; < = > ? @```, or}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00366}00366 \textcolor{comment}{ /// -\/ U+005B ..= U+0060 ```[ \(\backslash\) ] \string^ \_ ` ```, or}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00367}00367 \textcolor{comment}{ /// -\/ U+007B ..= U+007E ```\{ | \} \string~```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00368}00368 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00369}00369 \textcolor{comment}{ /// @param self The value to check.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00370}00370 \textcolor{comment}{ /// @return `true` if @p self is an ASCII punctuation character, `false`}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00371}00371 \textcolor{comment}{ /// otherwise.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00372}00372 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00373}00373 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00374}00374 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00375}00375 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00376}00376 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00377}00377 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00378}00378 \textcolor{comment}{ /// ds\_char\_t const uppercase\_a = 'A';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00379}00379 \textcolor{comment}{ /// ds\_char\_t const uppercase\_g = 'G';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00380}00380 \textcolor{comment}{ /// ds\_char\_t const a = 'a';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00381}00381 \textcolor{comment}{ /// ds\_char\_t const g = 'g';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00382}00382 \textcolor{comment}{ /// ds\_char\_t const zero = '0';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00383}00383 \textcolor{comment}{ /// ds\_char\_t const percent = '\%';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00384}00384 \textcolor{comment}{ /// ds\_char\_t const space = ' ';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00385}00385 \textcolor{comment}{ /// ds\_char\_t const lf = '\(\backslash\)n';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00386}00386 \textcolor{comment}{ /// ds\_char\_t const esc = '\(\backslash\)x1b';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00387}00387 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00388}00388 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_punctuation (uppercase\_a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00389}00389 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_punctuation (uppercase\_g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00390}00390 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_punctuation (a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00391}00391 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_punctuation (g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00392}00392 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_punctuation (zero));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00393}00393 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_punctuation (percent));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00394}00394 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_punctuation (space));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00395}00395 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_punctuation (lf));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00396}00396 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_punctuation (esc));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00397}00397 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00398}00398 \textcolor{comment}{} \textcolor{keyword}{extern} \textcolor{keywordtype}{bool} \mbox{\hyperlink{char_8h_abfc454a0d93d548ed94f109c77b1e68f}{ds\_char\_is\_ascii\_punctuation}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00399}00399 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00400}00400 \textcolor{comment}{ /// @brief Checks if @p self is an ASCII graphic character:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00401}00401 \textcolor{comment}{ /// U+0021 '!' ..= U+007E '\string~'.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00402}00402 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00403}00403 \textcolor{comment}{ /// @param self The value to check.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00404}00404 \textcolor{comment}{ /// @return `true` if @p self is an ASCII graphic character, `false`}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00405}00405 \textcolor{comment}{ /// otherwise.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00406}00406 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00407}00407 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00408}00408 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00409}00409 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00410}00410 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00411}00411 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00412}00412 \textcolor{comment}{ /// ds\_char\_t const uppercase\_a = 'A';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00413}00413 \textcolor{comment}{ /// ds\_char\_t const uppercase\_g = 'G';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00414}00414 \textcolor{comment}{ /// ds\_char\_t const a = 'a';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00415}00415 \textcolor{comment}{ /// ds\_char\_t const g = 'g';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00416}00416 \textcolor{comment}{ /// ds\_char\_t const zero = '0';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00417}00417 \textcolor{comment}{ /// ds\_char\_t const percent = '\%';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00418}00418 \textcolor{comment}{ /// ds\_char\_t const space = ' ';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00419}00419 \textcolor{comment}{ /// ds\_char\_t const lf = '\(\backslash\)n';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00420}00420 \textcolor{comment}{ /// ds\_char\_t const esc = '\(\backslash\)x1b';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00421}00421 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00422}00422 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_graphic (uppercase\_a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00423}00423 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_graphic (uppercase\_g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00424}00424 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_graphic (a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00425}00425 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_graphic (g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00426}00426 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_graphic (zero));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00427}00427 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_graphic (percent));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00428}00428 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_graphic (space));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00429}00429 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_graphic (lf));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00430}00430 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_graphic (esc));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00431}00431 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00432}00432 \textcolor{comment}{} \textcolor{keyword}{extern} \textcolor{keywordtype}{bool} \mbox{\hyperlink{char_8h_af50ba493605648683d0b49fd1df62211}{ds\_char\_is\_ascii\_graphic}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00433}00433 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00434}00434 \textcolor{comment}{ /// @brief Checks if @p self is an ASCII whitespace character:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00435}00435 \textcolor{comment}{ /// U+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED,}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00436}00436 \textcolor{comment}{ /// U+000C FORM FEED, or U+000D CARRIAGE RETURN.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00437}00437 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00438}00438 \textcolor{comment}{ /// `ds` uses the WhatWG Infra Standard's [definition of ASCII}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00439}00439 \textcolor{comment}{ /// whitespace][infra-\/aw]. There are several other definitions in wide use.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00440}00440 \textcolor{comment}{ /// For instance, [the POSIX locale][pct] includes U+000B VERTICAL TAB as}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00441}00441 \textcolor{comment}{ /// well as all the above characters, but—from the very same}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00442}00442 \textcolor{comment}{ /// specification—[the default rule for "{}field splitting"{} in the Bourne}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00443}00443 \textcolor{comment}{ /// shell][bfs] considers *only* SPACE, HORIZONTAL TAB, and LINE FEED as}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00444}00444 \textcolor{comment}{ /// whitespace.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00445}00445 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00446}00446 \textcolor{comment}{ /// If you are writing a program that will process an existing file format,}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00447}00447 \textcolor{comment}{ /// check what that format's definition of whitespace is before using this}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00448}00448 \textcolor{comment}{ /// function.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00449}00449 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00450}00450 \textcolor{comment}{ /// [infra-\/aw]: https://infra.spec.whatwg.org/\#ascii-\/whitespace}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00451}00451 \textcolor{comment}{ /// [pct]:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00452}00452 \textcolor{comment}{ /// https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1\_chap07.html\#tag\_07\_03\_01}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00453}00453 \textcolor{comment}{ /// [bfs]:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00454}00454 \textcolor{comment}{ /// https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3\_chap02.html\#tag\_18\_06\_05}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00455}00455 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00456}00456 \textcolor{comment}{ /// @param self The value to check.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00457}00457 \textcolor{comment}{ /// @return `true` if @p self is an ASCII whitespace character, `false`}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00458}00458 \textcolor{comment}{ /// otherwise.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00459}00459 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00460}00460 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00461}00461 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00462}00462 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00463}00463 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00464}00464 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00465}00465 \textcolor{comment}{ /// ds\_char\_t const uppercase\_a = 'A';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00466}00466 \textcolor{comment}{ /// ds\_char\_t const uppercase\_g = 'G';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00467}00467 \textcolor{comment}{ /// ds\_char\_t const a = 'a';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00468}00468 \textcolor{comment}{ /// ds\_char\_t const g = 'g';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00469}00469 \textcolor{comment}{ /// ds\_char\_t const zero = '0';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00470}00470 \textcolor{comment}{ /// ds\_char\_t const percent = '\%';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00471}00471 \textcolor{comment}{ /// ds\_char\_t const space = ' ';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00472}00472 \textcolor{comment}{ /// ds\_char\_t const lf = '\(\backslash\)n';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00473}00473 \textcolor{comment}{ /// ds\_char\_t const esc = '\(\backslash\)x1b';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00474}00474 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00475}00475 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_whitespace (uppercase\_a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00476}00476 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_whitespace (uppercase\_g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00477}00477 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_whitespace (a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00478}00478 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_whitespace (g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00479}00479 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_whitespace (zero));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00480}00480 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_whitespace (percent));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00481}00481 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_whitespace (space));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00482}00482 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_whitespace (lf));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00483}00483 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_whitespace (esc));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00484}00484 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00485}00485 \textcolor{comment}{} \textcolor{keyword}{extern} \textcolor{keywordtype}{bool} \mbox{\hyperlink{char_8h_af92b320584b2581e725f2d6ae4d3f18a}{ds\_char\_is\_ascii\_whitespace}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00486}00486 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00487}00487 \textcolor{comment}{ /// @brief Checks if @p self is an ASCII control character:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00488}00488 \textcolor{comment}{ /// U+0000 @ref DS\_CHAR\_NUL "{}NUL"{} ..= U+001F UNIT SEPARATOR, or U+007F}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00489}00489 \textcolor{comment}{ /// DELETE. Note that most ASCII whitespace characters are control}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00490}00490 \textcolor{comment}{ /// characters, but SPACE is not.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00491}00491 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00492}00492 \textcolor{comment}{ /// @param self The value to check.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00493}00493 \textcolor{comment}{ /// @return `true` if @p self is an ASCII control character, `false`}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00494}00494 \textcolor{comment}{ /// otherwise.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00495}00495 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00496}00496 \textcolor{comment}{ /// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00497}00497 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00498}00498 \textcolor{comment}{ /// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00499}00499 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00500}00500 \textcolor{comment}{ /// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00501}00501 \textcolor{comment}{ /// ds\_char\_t const uppercase\_a = 'A';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00502}00502 \textcolor{comment}{ /// ds\_char\_t const uppercase\_g = 'G';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00503}00503 \textcolor{comment}{ /// ds\_char\_t const a = 'a';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00504}00504 \textcolor{comment}{ /// ds\_char\_t const g = 'g';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00505}00505 \textcolor{comment}{ /// ds\_char\_t const zero = '0';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00506}00506 \textcolor{comment}{ /// ds\_char\_t const percent = '\%';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00507}00507 \textcolor{comment}{ /// ds\_char\_t const space = ' ';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00508}00508 \textcolor{comment}{ /// ds\_char\_t const lf = '\(\backslash\)n';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00509}00509 \textcolor{comment}{ /// ds\_char\_t const esc = '\(\backslash\)x1b';}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00510}00510 \textcolor{comment}{ ///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00511}00511 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_control (uppercase\_a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00512}00512 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_control (uppercase\_g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00513}00513 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_control (a));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00514}00514 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_control (g));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00515}00515 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_control (zero));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00516}00516 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_control (percent));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00517}00517 \textcolor{comment}{ /// assert (!ds\_char\_is\_ascii\_control (space));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00518}00518 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_control (lf));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00519}00519 \textcolor{comment}{ /// assert (ds\_char\_is\_ascii\_control (esc));}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00520}00520 \textcolor{comment}{ /// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00521}00521 \textcolor{comment}{} \textcolor{keyword}{extern} \textcolor{keywordtype}{bool} \mbox{\hyperlink{char_8h_a1463f455ab57b0671638e381a2a85d26}{ds\_char\_is\_ascii\_control}} (\mbox{\hyperlink{char_8h_a2c809211274ede9eddff5a750bdeb5ae}{ds\_char\_t}} self);} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00522}00522 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00523}00523 \textcolor{comment}{/// @brief The size of @ref ds\_char\_t "{}char"{} in bytes.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00524}00524 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00525}00525 \textcolor{comment}{/// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00526}00526 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00527}00527 \textcolor{comment}{/// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00528}00528 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00529}00529 \textcolor{comment}{/// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00530}00530 \textcolor{comment}{/// assert (DS\_CHAR\_BYTES == 1);}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00531}00531 \textcolor{comment}{/// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00532}\mbox{\hyperlink{char_8h_a1185442ceeb0594a4a4c8d79abce60ad}{00532}} \textcolor{comment}{}\textcolor{preprocessor}{\#define DS\_CHAR\_BYTES ((ds\_usize\_t)sizeof (ds\_char\_t))}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00533}00533 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00534}00534 \textcolor{comment}{/// @brief The smallest value that can be represented by @ref ds\_char\_t "{}char"{}.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00535}00535 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00536}00536 \textcolor{comment}{/// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00537}00537 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00538}00538 \textcolor{comment}{/// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00539}00539 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00540}00540 \textcolor{comment}{/// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00541}00541 \textcolor{comment}{/// assert (DS\_CHAR\_MIN == CHAR\_MIN);}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00542}00542 \textcolor{comment}{/// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00543}\mbox{\hyperlink{char_8h_a6a4d17f251bbb80c89c3dee5cc586023}{00543}} \textcolor{comment}{}\textcolor{preprocessor}{\#define DS\_CHAR\_MIN ((ds\_char\_t)CHAR\_MIN)}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00544}00544 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00545}00545 \textcolor{comment}{/// @brief The largest value that can be represented by @ref ds\_char\_t "{}char"{}.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00546}00546 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00547}00547 \textcolor{comment}{/// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00548}00548 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00549}00549 \textcolor{comment}{/// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00550}00550 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00551}00551 \textcolor{comment}{/// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00552}00552 \textcolor{comment}{/// assert (DS\_CHAR\_MAX == CHAR\_MAX);}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00553}00553 \textcolor{comment}{/// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00554}\mbox{\hyperlink{char_8h_ae542829a032ef5e36137dd69d3415584}{00554}} \textcolor{comment}{}\textcolor{preprocessor}{\#define DS\_CHAR\_MAX ((ds\_char\_t)CHAR\_MAX)}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00555}00555 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00556}00556 \textcolor{comment}{/// @brief The null-\/terminator character.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00557}00557 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00558}00558 \textcolor{comment}{/// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00559}00559 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00560}00560 \textcolor{comment}{/// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00561}00561 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00562}00562 \textcolor{comment}{/// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00563}00563 \textcolor{comment}{/// assert (DS\_CHAR\_NUL == '\(\backslash\)0');}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00564}00564 \textcolor{comment}{/// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00565}\mbox{\hyperlink{char_8h_aff8ca144f3aed3f78bedd4310eefbbbc}{00565}} \textcolor{comment}{}\textcolor{preprocessor}{\#define DS\_CHAR\_NUL ((ds\_char\_t)0)}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00566}00566 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00567}00567 \textcolor{comment}{/// @brief @ref ds\_char\_t "{}char"{} notation. Can be used in `scanf` to parse and}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00568}00568 \textcolor{comment}{/// read @ref ds\_char\_t "{}char"{} values.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00569}00569 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00570}00570 \textcolor{comment}{/// @warning It is strongly advised to use}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00571}00571 \textcolor{comment}{/// [`fgets`](https://en.cppreference.com/w/c/io/fgets "{}fgets -\/}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00572}00572 \textcolor{comment}{/// cppreference.com"{}) instead of `scanf` to read input.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00573}00573 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00574}00574 \textcolor{comment}{/// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00575}00575 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00576}00576 \textcolor{comment}{/// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00577}00577 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00578}00578 \textcolor{comment}{/// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00579}00579 \textcolor{comment}{/// ds\_char\_t x;}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00580}00580 \textcolor{comment}{/// scanf ("{}\%"{} DS\_SCN\_CHAR, \&x);}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00581}00581 \textcolor{comment}{/// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00582}\mbox{\hyperlink{char_8h_ae2ad7e7322720db2607b90a7f0011fa7}{00582}} \textcolor{comment}{}\textcolor{preprocessor}{\#define DS\_SCN\_CHAR "{}c"{}}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00583}00583 \textcolor{comment}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00584}00584 \textcolor{comment}{/// @brief @ref ds\_char\_t "{}char"{} notation. Can be used in `printf` to format}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00585}00585 \textcolor{comment}{/// and write @ref ds\_char\_t "{}char"{} values.}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00586}00586 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00587}00587 \textcolor{comment}{/// \#\#\# Examples}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00588}00588 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00589}00589 \textcolor{comment}{/// Basic usage:}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00590}00590 \textcolor{comment}{///}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00591}00591 \textcolor{comment}{/// ```c}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00592}00592 \textcolor{comment}{/// ds\_char\_t x = DS\_CHAR\_MAX;}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00593}00593 \textcolor{comment}{/// printf ("{}\%"{} DS\_PRI\_CHAR, x);}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00594}00594 \textcolor{comment}{/// ```}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00595}\mbox{\hyperlink{char_8h_ae7a05ab6f23500c4eb3f066e5b381bd4}{00595}} \textcolor{comment}{}\textcolor{preprocessor}{\#define DS\_PRI\_CHAR "{}c"{}}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00596}00596 } +\DoxyCodeLine{\Hypertarget{char_8h_source_l00597}00597 \textcolor{preprocessor}{\#ifdef \_\_cplusplus}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00598}00598 \}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00599}00599 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_cplusplus */}\textcolor{preprocessor}{}} +\DoxyCodeLine{\Hypertarget{char_8h_source_l00600}00600 } +\DoxyCodeLine{\Hypertarget{char_8h_source_l00601}00601 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* DS\_CHAR\_H */}\textcolor{preprocessor}{}} \end{DoxyCode} diff --git a/docs/latex/helpers_8c.tex b/docs/latex/helpers_8c.tex index d6f8d10..8762c07 100644 --- a/docs/latex/helpers_8c.tex +++ b/docs/latex/helpers_8c.tex @@ -8,8 +8,7 @@ {\ttfamily \#include $<$stdbool.\+h$>$}\newline {\ttfamily \#include $<$stddef.\+h$>$}\newline {\ttfamily \#include \char`\"{}ds/helpers.\+h\char`\"{}}\newline -Include dependency graph for helpers.\+c\+: -\nopagebreak +Include dependency graph for helpers.\+c\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -62,7 +61,7 @@ \begin{DoxyReturn}{Returns} {\ttfamily true} if {\ttfamily ptr} is a valid non-\/{\ttfamily NULL} pointer. {\ttfamily false} otherwise. \end{DoxyReturn} -\hypertarget{helpers_8c_autotoc_md8}{}\doxyparagraph{Examples}\label{helpers_8c_autotoc_md8} +\hypertarget{helpers_8c_autotoc_md23}{}\doxyparagraph{Examples}\label{helpers_8c_autotoc_md23} Basic usage\+: @@ -75,8 +74,7 @@ Definition at line \mbox{\hyperlink{helpers_8c_source_l00019}{19}} of file \mbox{\hyperlink{helpers_8c_source}{helpers.\+c}}. -Here is the call graph for this function\+: -\nopagebreak +Here is the call graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -101,7 +99,7 @@ \begin{DoxyReturn}{Returns} {\ttfamily true} if {\ttfamily ptr} is {\ttfamily NULL}. {\ttfamily false} otherwise. \end{DoxyReturn} -\hypertarget{helpers_8c_autotoc_md7}{}\doxyparagraph{Examples}\label{helpers_8c_autotoc_md7} +\hypertarget{helpers_8c_autotoc_md22}{}\doxyparagraph{Examples}\label{helpers_8c_autotoc_md22} Basic usage\+: @@ -113,8 +111,7 @@ Definition at line \mbox{\hyperlink{helpers_8c_source_l00013}{13}} of file \mbox{\hyperlink{helpers_8c_source}{helpers.\+c}}. -Here is the caller graph for this function\+: -\nopagebreak +Here is the caller graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode diff --git a/docs/latex/helpers_8h.tex b/docs/latex/helpers_8h.tex index 9b709d8..78db1d9 100644 --- a/docs/latex/helpers_8h.tex +++ b/docs/latex/helpers_8h.tex @@ -6,16 +6,14 @@ {\ttfamily \#include $<$stdbool.\+h$>$}\newline -Include dependency graph for helpers.\+h\+: -\nopagebreak +Include dependency graph for helpers.\+h\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=183pt]{helpers_8h__incl} \end{center} \end{figure} -This graph shows which files directly or indirectly include this file\+: -\nopagebreak +This graph shows which files directly or indirectly include this file\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -84,7 +82,7 @@ \begin{DoxyAttention}{Attention} Always ensure that {\ttfamily min} is less than or equal to {\ttfamily max}. \end{DoxyAttention} -\hypertarget{helpers_8h_autotoc_md11}{}\doxyparagraph{Examples}\label{helpers_8h_autotoc_md11} +\hypertarget{helpers_8h_autotoc_md26}{}\doxyparagraph{Examples}\label{helpers_8h_autotoc_md26} Basic usage\+: @@ -120,7 +118,7 @@ {\ttfamily other} if the comparison determines them to be equal. \end{DoxyReturn} -\hypertarget{helpers_8h_autotoc_md10}{}\doxyparagraph{Examples}\label{helpers_8h_autotoc_md10} +\hypertarget{helpers_8h_autotoc_md25}{}\doxyparagraph{Examples}\label{helpers_8h_autotoc_md25} Basic usage\+: @@ -155,7 +153,7 @@ {\ttfamily self} if the comparison determines them to be equal. \end{DoxyReturn} -\hypertarget{helpers_8h_autotoc_md9}{}\doxyparagraph{Examples}\label{helpers_8h_autotoc_md9} +\hypertarget{helpers_8h_autotoc_md24}{}\doxyparagraph{Examples}\label{helpers_8h_autotoc_md24} Basic usage\+: @@ -189,7 +187,7 @@ \begin{DoxyReturn}{Returns} {\ttfamily true} if {\ttfamily ptr} is a valid non-\/{\ttfamily NULL} pointer. {\ttfamily false} otherwise. \end{DoxyReturn} -\hypertarget{helpers_8c_autotoc_md8}{}\doxyparagraph{Examples}\label{helpers_8c_autotoc_md8} +\hypertarget{helpers_8c_autotoc_md23}{}\doxyparagraph{Examples}\label{helpers_8c_autotoc_md23} Basic usage\+: @@ -202,8 +200,7 @@ Definition at line \mbox{\hyperlink{helpers_8c_source_l00019}{19}} of file \mbox{\hyperlink{helpers_8c_source}{helpers.\+c}}. -Here is the call graph for this function\+: -\nopagebreak +Here is the call graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -228,7 +225,7 @@ \begin{DoxyReturn}{Returns} {\ttfamily true} if {\ttfamily ptr} is {\ttfamily NULL}. {\ttfamily false} otherwise. \end{DoxyReturn} -\hypertarget{helpers_8c_autotoc_md7}{}\doxyparagraph{Examples}\label{helpers_8c_autotoc_md7} +\hypertarget{helpers_8c_autotoc_md22}{}\doxyparagraph{Examples}\label{helpers_8c_autotoc_md22} Basic usage\+: @@ -240,8 +237,7 @@ Definition at line \mbox{\hyperlink{helpers_8c_source_l00013}{13}} of file \mbox{\hyperlink{helpers_8c_source}{helpers.\+c}}. -Here is the caller graph for this function\+: -\nopagebreak +Here is the caller graph for this function\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode diff --git a/docs/latex/index.tex b/docs/latex/index.tex index 5af416f..351cd6c 100644 --- a/docs/latex/index.tex +++ b/docs/latex/index.tex @@ -1,3 +1,5 @@ \label{index_md_README}% \Hypertarget{index_md_README}% - {\itshape A C library to safely yet efficiently work with UTF-\/8–encoded, growable dynamic strings.} \ No newline at end of file + {\itshape A C library to safely yet efficiently work with UTF-\/8–encoded, growable dynamic strings.} + +\doxysubparagraph*{\href{https://sfm61319.github.io/ds}{\texttt{ Documentation}} $\vert$ \href{https://github.com/SFM61319/ds}{\texttt{ Repository}}} \ No newline at end of file diff --git a/docs/latex/usize_8c.tex b/docs/latex/usize_8c.tex index bd21c60..9715f25 100644 --- a/docs/latex/usize_8c.tex +++ b/docs/latex/usize_8c.tex @@ -6,8 +6,7 @@ {\ttfamily \#include \char`\"{}ds/usize.\+h\char`\"{}}\newline -Include dependency graph for usize.\+c\+: -\nopagebreak +Include dependency graph for usize.\+c\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode diff --git a/docs/latex/usize_8h.tex b/docs/latex/usize_8h.tex index c342bdf..223920e 100644 --- a/docs/latex/usize_8h.tex +++ b/docs/latex/usize_8h.tex @@ -7,16 +7,14 @@ {\ttfamily \#include $<$stddef.\+h$>$}\newline {\ttfamily \#include $<$stdint.\+h$>$}\newline -Include dependency graph for usize.\+h\+: -\nopagebreak +Include dependency graph for usize.\+h\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=198pt]{usize_8h__incl} \end{center} \end{figure} -This graph shows which files directly or indirectly include this file\+: -\nopagebreak +This graph shows which files directly or indirectly include this file\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -72,7 +70,7 @@ \mbox{\hyperlink{usize_8h_af225603b1dc0270688232ccab1cc2f52}{usize}} notation. Can be used in {\ttfamily printf} to format and write \mbox{\hyperlink{usize_8h_af225603b1dc0270688232ccab1cc2f52}{usize}} values. -\hypertarget{usize_8h_autotoc_md16}{}\doxyparagraph{Examples}\label{usize_8h_autotoc_md16} +\hypertarget{usize_8h_autotoc_md31}{}\doxyparagraph{Examples}\label{usize_8h_autotoc_md31} Basic usage\+: @@ -98,7 +96,7 @@ \begin{DoxyWarning}{Warning} It is strongly advised to use \href{https://en.cppreference.com/w/c/io/fgets}{\texttt{ {\ttfamily fgets}}} instead of {\ttfamily scanf} to read input. \end{DoxyWarning} -\hypertarget{usize_8h_autotoc_md15}{}\doxyparagraph{Examples}\label{usize_8h_autotoc_md15} +\hypertarget{usize_8h_autotoc_md30}{}\doxyparagraph{Examples}\label{usize_8h_autotoc_md30} Basic usage\+: @@ -121,7 +119,7 @@ The size of \mbox{\hyperlink{usize_8h_af225603b1dc0270688232ccab1cc2f52}{usize}} in bytes. -\hypertarget{usize_8h_autotoc_md12}{}\doxyparagraph{Examples}\label{usize_8h_autotoc_md12} +\hypertarget{usize_8h_autotoc_md27}{}\doxyparagraph{Examples}\label{usize_8h_autotoc_md27} Basic usage\+: @@ -143,7 +141,7 @@ The largest value that can be represented by \mbox{\hyperlink{usize_8h_af225603b1dc0270688232ccab1cc2f52}{usize}} (2\textsuperscript{64} − 1 on 64-\/bit targets, 2\textsuperscript{32} − 1 on 32-\/bit). -\hypertarget{usize_8h_autotoc_md14}{}\doxyparagraph{Examples}\label{usize_8h_autotoc_md14} +\hypertarget{usize_8h_autotoc_md29}{}\doxyparagraph{Examples}\label{usize_8h_autotoc_md29} Basic usage\+: @@ -165,7 +163,7 @@ The smallest value that can be represented by \mbox{\hyperlink{usize_8h_af225603b1dc0270688232ccab1cc2f52}{usize}}. -\hypertarget{usize_8h_autotoc_md13}{}\doxyparagraph{Examples}\label{usize_8h_autotoc_md13} +\hypertarget{usize_8h_autotoc_md28}{}\doxyparagraph{Examples}\label{usize_8h_autotoc_md28} Basic usage\+: