File: nsStringFwd.h

package info (click to toggle)
firefox 147.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,683,324 kB
  • sloc: cpp: 7,607,156; javascript: 6,532,492; ansic: 3,775,158; python: 1,415,368; xml: 634,556; asm: 438,949; java: 186,241; sh: 62,751; makefile: 18,079; objc: 13,092; perl: 12,808; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10; exp: 6
file content (96 lines) | stat: -rw-r--r-- 3,130 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/* nsStringFwd.h --- forward declarations for string classes */

#ifndef nsStringFwd_h
#define nsStringFwd_h

#include "nscore.h"

static constexpr int32_t kNotFound = -1;

namespace mozilla {
namespace detail {

template <typename T>
class nsTStringRepr;

using nsStringRepr = nsTStringRepr<char16_t>;
using nsCStringRepr = nsTStringRepr<char>;

}  // namespace detail
}  // namespace mozilla

static const size_t AutoStringDefaultStorageSize = 64;

template <typename T>
class nsTSubstring;
template <typename T>
class nsTSubstringTuple;
template <typename T>
class nsTString;
template <typename T, size_t N>
class nsTAutoStringN;
template <typename T>
class nsTDependentString;
template <typename T>
class nsTDependentSubstring;
template <typename T>
class nsTFmtString;
template <typename T>
class nsTPromiseFlatString;
template <typename T>
class nsTLiteralString;
template <typename T>
class nsTSubstringSplitter;

template <typename T>
using nsTStringComparator = int (*)(const T*, const T*, size_t, size_t);

// The default string comparator (case-sensitive comparision)
template <typename T>
int nsTDefaultStringComparator(const T*, const T*, size_t, size_t);

// We define this version without a size param instead of providing a
// default value for N so that so there is a default typename that doesn't
// require angle brackets.
template <typename T>
using nsTAutoString = nsTAutoStringN<T, AutoStringDefaultStorageSize>;

// Double-byte (char16_t) string types.

using nsAString = nsTSubstring<char16_t>;
using nsSubstringTuple = nsTSubstringTuple<char16_t>;
using nsString = nsTString<char16_t>;
using nsAutoString = nsTAutoString<char16_t>;
template <size_t N>
using nsAutoStringN = nsTAutoStringN<char16_t, N>;
using nsDependentString = nsTDependentString<char16_t>;
using nsDependentSubstring = nsTDependentSubstring<char16_t>;
using nsFmtString = nsTFmtString<char16_t>;
using nsPromiseFlatString = nsTPromiseFlatString<char16_t>;
using nsStringComparator = nsTStringComparator<char16_t>;
using nsLiteralString = nsTLiteralString<char16_t>;
using nsSubstringSplitter = nsTSubstringSplitter<char16_t>;

// Single-byte (char) string types.

using nsACString = nsTSubstring<char>;
using nsCSubstringTuple = nsTSubstringTuple<char>;
using nsCString = nsTString<char>;
using nsAutoCString = nsTAutoString<char>;
template <size_t N>
using nsAutoCStringN = nsTAutoStringN<char, N>;
using nsDependentCString = nsTDependentString<char>;
using nsDependentCSubstring = nsTDependentSubstring<char>;
using nsFmtCString = nsTFmtString<char>;
using nsPromiseFlatCString = nsTPromiseFlatString<char>;
using nsCStringComparator = nsTStringComparator<char>;
using nsLiteralCString = nsTLiteralString<char>;
using nsCSubstringSplitter = nsTSubstringSplitter<char>;

#endif /* !defined(nsStringFwd_h) */