forked from panda3d/panda3d
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathglobPattern.I
More file actions
133 lines (119 loc) · 2.73 KB
/
globPattern.I
File metadata and controls
133 lines (119 loc) · 2.73 KB
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/**
* PANDA 3D SOFTWARE
* Copyright (c) Carnegie Mellon University. All rights reserved.
*
* All use of this software is subject to the terms of the revised BSD
* license. You should have received a copy of this license along
* with this source code in a file named "LICENSE."
*
* @file globPattern.I
* @author drose
* @date 2000-05-30
*/
/**
*
*/
INLINE GlobPattern::
GlobPattern(const std::string &pattern) : _pattern(pattern) {
_case_sensitive = true;
}
/**
*
*/
INLINE GlobPattern::
GlobPattern(const GlobPattern ©) :
_pattern(copy._pattern),
_case_sensitive(copy._case_sensitive)
{
}
/**
*
*/
INLINE void GlobPattern::
operator = (const GlobPattern ©) {
_pattern = copy._pattern;
_case_sensitive = copy._case_sensitive;
}
/**
*
*/
INLINE bool GlobPattern::
operator == (const GlobPattern &other) const {
return (_pattern == other._pattern && _case_sensitive == other._case_sensitive);
}
/**
*
*/
INLINE bool GlobPattern::
operator != (const GlobPattern &other) const {
return !operator == (other);
}
/**
*
*/
INLINE bool GlobPattern::
operator < (const GlobPattern &other) const {
if (_case_sensitive != other._case_sensitive) {
return (int)_case_sensitive < (int)other._case_sensitive;
}
return _pattern < other._pattern;
}
/**
* Changes the pattern string that the GlobPattern object matches.
*/
INLINE void GlobPattern::
set_pattern(const std::string &pattern) {
_pattern = pattern;
}
/**
* Returns the pattern string that the GlobPattern object matches.
*/
INLINE const std::string &GlobPattern::
get_pattern() const {
return _pattern;
}
/**
* Sets whether the match is case sensitive (true) or case insensitive
* (false). The default is case sensitive.
*/
INLINE void GlobPattern::
set_case_sensitive(bool case_sensitive) {
_case_sensitive = case_sensitive;
}
/**
* Returns whether the match is case sensitive (true) or case insensitive
* (false). The default is case sensitive.
*/
INLINE bool GlobPattern::
get_case_sensitive() const {
return _case_sensitive;
}
/**
* Specifies a set of characters that are not matched by * or ?.
*/
INLINE void GlobPattern::
set_nomatch_chars(const std::string &nomatch_chars) {
_nomatch_chars = nomatch_chars;
}
/**
* Returns the set of characters that are not matched by * or ?.
*/
INLINE const std::string &GlobPattern::
get_nomatch_chars() const {
return _nomatch_chars;
}
/**
* Returns true if the candidate string matches the pattern, false otherwise.
*/
INLINE bool GlobPattern::
matches(const std::string &candidate) const {
return matches_substr(_pattern.begin(), _pattern.end(),
candidate.begin(), candidate.end());
}
/**
*
*/
INLINE void GlobPattern::
output(std::ostream &out) const {
out << _pattern;
}