| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- // Filename: globPattern.I
- // Created by: drose (30May00)
- //
- ////////////////////////////////////////////////////////////////////
- //
- // 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."
- //
- ////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////
- // Function: GlobPattern::Constructor
- // Access: Public
- // Description:
- ////////////////////////////////////////////////////////////////////
- INLINE GlobPattern::
- GlobPattern(const string &pattern) : _pattern(pattern) {
- _case_sensitive = true;
- }
- ////////////////////////////////////////////////////////////////////
- // Function: GlobPattern::Copy Constructor
- // Access: Public
- // Description:
- ////////////////////////////////////////////////////////////////////
- INLINE GlobPattern::
- GlobPattern(const GlobPattern ©) :
- _pattern(copy._pattern),
- _case_sensitive(copy._case_sensitive)
- {
- }
- ////////////////////////////////////////////////////////////////////
- // Function: GlobPattern::Copy Assignment Operator
- // Access: Public
- // Description:
- ////////////////////////////////////////////////////////////////////
- INLINE void GlobPattern::
- operator = (const GlobPattern ©) {
- _pattern = copy._pattern;
- _case_sensitive = copy._case_sensitive;
- }
- ////////////////////////////////////////////////////////////////////
- // Function: GlobPattern::operator ==
- // Access: Public
- // Description:
- ////////////////////////////////////////////////////////////////////
- INLINE bool GlobPattern::
- operator == (const GlobPattern &other) const {
- return (_pattern == other._pattern && _case_sensitive == other._case_sensitive);
- }
- ////////////////////////////////////////////////////////////////////
- // Function: GlobPattern::operator !=
- // Access: Public
- // Description:
- ////////////////////////////////////////////////////////////////////
- INLINE bool GlobPattern::
- operator != (const GlobPattern &other) const {
- return !operator == (other);
- }
- ////////////////////////////////////////////////////////////////////
- // Function: GlobPattern::operator <
- // Access: Public
- // Description:
- ////////////////////////////////////////////////////////////////////
- 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;
- }
- ////////////////////////////////////////////////////////////////////
- // Function: GlobPattern::set_pattern
- // Access: Public
- // Description: Changes the pattern string that the GlobPattern
- // object matches.
- ////////////////////////////////////////////////////////////////////
- INLINE void GlobPattern::
- set_pattern(const string &pattern) {
- _pattern = pattern;
- }
- ////////////////////////////////////////////////////////////////////
- // Function: GlobPattern::get_pattern
- // Access: Public
- // Description: Returns the pattern string that the GlobPattern
- // object matches.
- ////////////////////////////////////////////////////////////////////
- INLINE const string &GlobPattern::
- get_pattern() const {
- return _pattern;
- }
- ////////////////////////////////////////////////////////////////////
- // Function: GlobPattern::set_case_sensitive
- // Access: Public
- // Description: 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;
- }
- ////////////////////////////////////////////////////////////////////
- // Function: GlobPattern::get_case_sensitive
- // Access: Public
- // Description: 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;
- }
- ////////////////////////////////////////////////////////////////////
- // Function: GlobPattern::set_nomatch_chars
- // Access: Public
- // Description: Specifies a set of characters that are not matched by
- // * or ?.
- ////////////////////////////////////////////////////////////////////
- INLINE void GlobPattern::
- set_nomatch_chars(const string &nomatch_chars) {
- _nomatch_chars = nomatch_chars;
- }
- ////////////////////////////////////////////////////////////////////
- // Function: GlobPattern::get_nomatch_chars
- // Access: Public
- // Description: Returns the set of characters that are not matched by
- // * or ?.
- ////////////////////////////////////////////////////////////////////
- INLINE const string &GlobPattern::
- get_nomatch_chars() const {
- return _nomatch_chars;
- }
- ////////////////////////////////////////////////////////////////////
- // Function: GlobPattern::matches
- // Access: Public
- // Description: Returns true if the candidate string matches the
- // pattern, false otherwise.
- ////////////////////////////////////////////////////////////////////
- INLINE bool GlobPattern::
- matches(const string &candidate) const {
- return matches_substr(_pattern.begin(), _pattern.end(),
- candidate.begin(), candidate.end());
- }
- ////////////////////////////////////////////////////////////////////
- // Function: GlobPattern::output
- // Access: Public
- // Description:
- ////////////////////////////////////////////////////////////////////
- INLINE void GlobPattern::
- output(ostream &out) const {
- out << _pattern;
- }
|