HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
pyWrapContext.h
Go to the documentation of this file.
1
//
2
// Copyright 2016 Pixar
3
//
4
// Licensed under the Apache License, Version 2.0 (the "Apache License")
5
// with the following modification; you may not use this file except in
6
// compliance with the Apache License and the following modification to it:
7
// Section 6. Trademarks. is deleted and replaced with:
8
//
9
// 6. Trademarks. This License does not grant permission to use the trade
10
// names, trademarks, service marks, or product names of the Licensor
11
// and its affiliates, except as required to comply with Section 4(c) of
12
// the License and to reproduce the content of the NOTICE file.
13
//
14
// You may obtain a copy of the Apache License at
15
//
16
// http://www.apache.org/licenses/LICENSE-2.0
17
//
18
// Unless required by applicable law or agreed to in writing, software
19
// distributed under the Apache License with the above modification is
20
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
// KIND, either express or implied. See the Apache License for the specific
22
// language governing permissions and limitations under the Apache License.
23
//
24
#ifndef PXR_BASE_TF_PY_WRAP_CONTEXT_H
25
#define PXR_BASE_TF_PY_WRAP_CONTEXT_H
26
27
#include "
pxr/pxr.h
"
28
29
#include "
pxr/base/tf/singleton.h
"
30
31
#include <hboost/noncopyable.hpp>
32
33
#include <string>
34
#include <vector>
35
36
PXR_NAMESPACE_OPEN_SCOPE
37
38
// This is used internally by the Tf python wrapping infrastructure.
39
40
class
Tf_PyWrapContextManager
:
public
hboost::noncopyable {
41
42
public
:
43
44
typedef
Tf_PyWrapContextManager
This
;
45
46
static
This
&
GetInstance
() {
47
return
TfSingleton<This>::GetInstance
();
48
}
49
50
std::string
GetCurrentContext
()
const
{
51
return
_contextStack.empty() ?
std::string
() : _contextStack.back();
52
}
53
54
void
PushContext
(
std::string
const
&ctx) {
55
_contextStack.push_back(ctx);
56
}
57
58
void
PopContext
() {
59
_contextStack.pop_back();
60
}
61
62
private
:
63
64
Tf_PyWrapContextManager
();
65
66
friend
class
TfSingleton
<
This
>;
67
68
std::vector<std::string> _contextStack;
69
};
70
71
PXR_NAMESPACE_CLOSE_SCOPE
72
73
#endif // PXR_BASE_TF_PY_WRAP_CONTEXT_H
TfSingleton::GetInstance
static T & GetInstance()
Definition:
singleton.h:137
singleton.h
TfSingleton
Definition:
singleton.h:122
string
GLsizei const GLchar *const * string
Definition:
glcorearb.h:814
Tf_PyWrapContextManager::GetInstance
static This & GetInstance()
Definition:
pyWrapContext.h:46
Tf_PyWrapContextManager
Definition:
pyWrapContext.h:40
Tf_PyWrapContextManager::This
Tf_PyWrapContextManager This
Definition:
pyWrapContext.h:44
pxr.h
Tf_PyWrapContextManager::PopContext
void PopContext()
Definition:
pyWrapContext.h:58
Tf_PyWrapContextManager::PushContext
void PushContext(std::string const &ctx)
Definition:
pyWrapContext.h:54
Tf_PyWrapContextManager::GetCurrentContext
std::string GetCurrentContext() const
Definition:
pyWrapContext.h:50
PXR_NAMESPACE_OPEN_SCOPE
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition:
path.h:1432
PXR_NAMESPACE_CLOSE_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition:
pxr.h:91
pxr
base
tf
pyWrapContext.h
Generated on Tue Dec 17 2024 03:41:14 for HDK by
1.8.6