HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HUSD_PathPattern.h
Go to the documentation of this file.
1 /*
2  * Copyright 2019 Side Effects Software Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17 
18 #ifndef __HUSD_PathPattern_h__
19 #define __HUSD_PathPattern_h__
20 
21 #include "HUSD_API.h"
22 #include "HUSD_DataHandle.h"
23 #include "HUSD_Utils.h"
24 #include <UT/UT_PathPattern.h>
25 
26 class HUSD_TimeCode;
27 
29 {
30 public:
32  HUSD_AutoAnyLock &lock,
34  bool case_sensitive,
35  bool assume_wildcards,
36  int nodeid,
37  const HUSD_TimeCode &timecode);
38  ~HUSD_PathPattern() override;
39 
40  bool getMayBeTimeVarying() const;
41 
42 protected:
43  HUSD_PathPattern(bool case_sensitive,
44  bool assume_wildcards);
45 
46  UT_PathPattern *createEmptyClone() const override;
47  bool matchSpecialToken(
48  const UT_StringRef &path,
49  const Token &token,
50  bool *excludes_branch) const override;
51 
52 private:
53  void initializeSpecialTokens(HUSD_AutoAnyLock &lock,
55  int nodeid,
56  const HUSD_TimeCode &timecode);
57 };
58 
59 #endif
60 
GLsizei const GLchar *const * path
Definition: glcorearb.h:3341
#define HUSD_API
Definition: HUSD_API.h:32
HUSD_PrimTraversalDemands
Definition: HUSD_Utils.h:38
GLushort pattern
Definition: glad.h:2583
virtual bool matchSpecialToken(const UT_StringRef &path, const Token &token, bool *excludes_branch) const
virtual UT_PathPattern * createEmptyClone() const