HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
XUSD_PathSet.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 __XUSD_PathSet_h__
19 #define __XUSD_PathSet_h__
20 
21 #include "HUSD_API.h"
22 #include <pxr/usd/sdf/path.h>
23 
25 
27 {
28 public:
29  XUSD_PathSet();
30  XUSD_PathSet(const SdfPathSet &src);
31  ~XUSD_PathSet();
32 
33  const XUSD_PathSet &operator=(const SdfPathSet &src);
34 
35  bool contains(const SdfPath &path) const;
36  bool contains(const SdfPathSet &paths) const;
37  bool containsPathOrAncestor(const SdfPath &path,
38  bool *contains = nullptr) const;
39  bool containsAncestor(const SdfPath &path) const;
40  bool containsPathOrDescendant(const SdfPath &path,
41  bool *contains = nullptr) const;
42  bool containsDescendant(const SdfPath &path) const;
43 
44  // Remove all paths where an ancestor of the path is also in the set.
45  void removeDescendants();
46  // Remove all paths where a descendant of the path is also in the set.
47  void removeAncestors();
48 };
49 
51 
52 #endif
53 
GLsizei const GLchar *const * path
Definition: glcorearb.h:3341
#define HUSD_API
Definition: HUSD_API.h:32
Definition: path.h:290
std::set< class SdfPath > SdfPathSet
A set of SdfPaths.
Definition: path.h:209
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1432
LeafData & operator=(const LeafData &)=delete
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:91
bool OIIO_UTIL_API contains(string_view a, string_view b)
Does 'a' contain the string 'b' within it?
GLenum src
Definition: glcorearb.h:1793