Line data Source code
1 : /* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 : * This Source Code Form is subject to the terms of the Mozilla Public
3 : * License, v. 2.0. If a copy of the MPL was not distributed with this
4 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 :
6 : #include "nsASCIIMask.h"
7 :
8 : namespace mozilla {
9 :
10 : constexpr bool TestWhitespace(char c)
11 : {
12 : return c == '\f' || c == '\t' || c == '\r' || c == '\n' || c == ' ';
13 : }
14 : constexpr ASCIIMaskArray sWhitespaceMask = CreateASCIIMask(TestWhitespace);
15 :
16 : constexpr bool TestCRLF(char c)
17 : {
18 : return c == '\r' || c == '\n';
19 : }
20 : constexpr ASCIIMaskArray sCRLFMask = CreateASCIIMask(TestCRLF);
21 :
22 : constexpr bool TestCRLFTab(char c)
23 : {
24 : return c == '\r' || c == '\n' || c == '\t';
25 : }
26 : constexpr ASCIIMaskArray sCRLFTabMask = CreateASCIIMask(TestCRLFTab);
27 :
28 : constexpr bool TestZeroToNine(char c)
29 : {
30 : return c == '0' || c == '1' || c == '2' || c == '3' || c == '4' ||
31 : c == '5' || c == '6' || c == '7' || c == '8' || c == '9';
32 : }
33 : constexpr ASCIIMaskArray sZeroToNineMask = CreateASCIIMask(TestZeroToNine);
34 :
35 206 : const ASCIIMaskArray& ASCIIMask::MaskWhitespace()
36 : {
37 206 : return sWhitespaceMask;
38 : }
39 :
40 60 : const ASCIIMaskArray& ASCIIMask::MaskCRLF()
41 : {
42 60 : return sCRLFMask;
43 : }
44 :
45 11499 : const ASCIIMaskArray& ASCIIMask::MaskCRLFTab()
46 : {
47 11499 : return sCRLFTabMask;
48 : }
49 :
50 0 : const ASCIIMaskArray& ASCIIMask::Mask0to9()
51 : {
52 0 : return sZeroToNineMask;
53 : }
54 :
55 : } // namespace mozilla
|