ascii.h.xml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <chapter xml:id="ascii.h">
  2. <title><tt>__vic/ascii.h</tt></title>
  3. <p>Быстрые, компактные и независимые от locale инструменты для обработки
  4. ASCII-символов. Все инструменты находятся в пространстве имён
  5. <tt>__vic::ascii</tt>.</p>
  6. <chapter xml:id="ascii--is-functions">
  7. <title><tt>ascii::is</tt>-функции</title>
  8. <code-block lang="C++">
  9. namespace ascii {
  10. constexpr bool isdigit(char c);
  11. constexpr bool isxdigit(char c);
  12. constexpr bool islower(char c);
  13. constexpr bool isupper(char c);
  14. constexpr bool isalpha(char c);
  15. constexpr bool isalnum(char c);
  16. constexpr bool isspace(char c);
  17. constexpr bool isblank(char c);
  18. constexpr bool isprint(char c);
  19. constexpr bool isgraph(char c);
  20. constexpr bool ispunct(char c);
  21. constexpr bool iscntrl(char c);
  22. constexpr bool isascii(char c);
  23. }
  24. </code-block>
  25. <p>Аналоги соответствующих функций из <tt>&lt;cctype></tt>.</p>
  26. </chapter>
  27. <chapter xml:id="ascii--todigit">
  28. <title><tt>ascii::todigit()</tt></title>
  29. <code-block lang="C++">
  30. constexpr char ascii::todigit(int d);
  31. </code-block>
  32. <p>Преобразует целое значение от 0 до 9 в десятичную цифру. Результат
  33. неопределён, если входное значение не попадает в указанный диапазон.</p>
  34. <precondition><tt><![CDATA[0 <= d && d <= 9]]></tt></precondition>
  35. </chapter>
  36. <chapter xml:id="ascii--toxdigit">
  37. <title><tt>ascii::toxdigit_upper()</tt>, <tt>ascii::toxdigit_lower()</tt></title>
  38. <code-block lang="C++">
  39. namespace ascii {
  40. constexpr char toxdigit_upper(int d);
  41. constexpr char toxdigit_lower(int d);
  42. }
  43. </code-block>
  44. <p>Преобразует целое значение от 0 до 15 в шестнадцатеричную цифру. Первая
  45. функция использует верхний регистр для <tt>A</tt>-<tt>F</tt>, вторая - нижний.
  46. Результат неопределён, если входное значение не попадает в указанный диапазон.
  47. </p>
  48. <precondition><tt><![CDATA[0 <= d && d <= 15]]></tt></precondition>
  49. </chapter>
  50. <chapter xml:id="ascii--digit_to_number">
  51. <title><tt>ascii::digit_to_number()</tt></title>
  52. <code-block lang="C++">
  53. constexpr int ascii::digit_to_number(char d);
  54. </code-block>
  55. <p>Преобразует десятичную цифру в число, если <tt>ascii::isdigit(d)</tt>.
  56. В противном случае возвращается <tt>-1</tt>.</p>
  57. </chapter>
  58. <chapter xml:id="ascii--xdigit_to_number">
  59. <title><tt>ascii::xdigit_to_number()</tt></title>
  60. <code-block lang="C++">
  61. constexpr int ascii::xdigit_to_number(char d);
  62. </code-block>
  63. <p>Преобразует шестнадцатеричную цифру в число, если
  64. <tt>ascii::isxdigit(d)</tt>. В противном случае возвращается <tt>-1</tt>.</p>
  65. </chapter>
  66. <chapter xml:id="ascii--tolower-char">
  67. <title><tt>ascii::tolower(char)</tt>, <tt>ascii::toupper(char)</tt></title>
  68. <code-block lang="C++">
  69. namespace ascii {
  70. constexpr char tolower(char c);
  71. constexpr char toupper(char c);
  72. constexpr char upper_to_lower(char upper);
  73. constexpr char lower_to_upper(char lower);
  74. }
  75. </code-block>
  76. <synopsis>
  77. <prototype>constexpr char tolower(char c)</prototype>
  78. <prototype>constexpr char toupper(char c)</prototype>
  79. <p>Аналоги соответствующих функций из <tt>&lt;cctype></tt>.</p>
  80. </synopsis>
  81. <synopsis>
  82. <prototype>constexpr char upper_to_lower(char upper)</prototype>
  83. <p>Более ограниченный аналог <tt>tolower()</tt>. Результат неопределён, если
  84. аргумент не является заглавной буквой ASCII.</p>
  85. <precondition><tt>ascii::isupper(upper)</tt></precondition>
  86. </synopsis>
  87. <synopsis>
  88. <prototype>constexpr char lower_to_upper(char lower)</prototype>
  89. <p>Более ограниченный аналог <tt>toupper()</tt>. Результат неопределён, если
  90. аргумент не является строчной буквой ASCII.</p>
  91. <precondition><tt>ascii::islower(lower)</tt></precondition>
  92. </synopsis>
  93. </chapter>
  94. <chapter xml:id="ascii--equal_icase-char">
  95. <title><tt>ascii::equal_icase(char,char)</tt></title>
  96. <code-block lang="C++">
  97. constexpr bool ascii::equal_icase(char ch1, char ch2);
  98. </code-block>
  99. <p>Проверяет два ASCII-символа на равенство без учета регистра букв.</p>
  100. </chapter>
  101. </chapter>