24 #ifndef PXR_BASE_TF_PY_OBJ_WRAPPER_H
25 #define PXR_BASE_TF_PY_OBJ_WRAPPER_H
31 #ifdef PXR_PYTHON_SUPPORT_ENABLED
36 #include <hboost/functional/hash.hpp>
37 #include <hboost/python/object_fwd.hpp>
38 #include <hboost/python/object_operators.hpp>
45 #include <type_traits>
56 static constexpr std::size_t
Size = 16;
57 static constexpr std::size_t
Align = 8;
90 #ifdef PXR_PYTHON_SUPPORT_ENABLED
92 :
public hboost::python::api::object_operators<TfPyObjWrapper>
112 object const &Get()
const {
129 friend inline size_t hash_value(TfPyObjWrapper
const &o) {
130 return (
size_t) o.ptr();
145 friend class hboost::python::api::object_operators<TfPyObjWrapper>;
146 operator object const &()
const {
151 std::shared_ptr<object> _objectPtr;
155 "ABI break: Incompatible class sizes.");
157 "ABI break: Incompatible class alignments.");
159 #else // PXR_PYTHON_SUPPORT_ENABLED
165 #endif // PXR_PYTHON_SUPPORT_ENABLED
169 #endif // PXR_BASE_TF_PY_OBJ_WRAPPER_H
static constexpr std::size_t Align
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
static constexpr std::size_t Size
#define PXR_NAMESPACE_CLOSE_SCOPE
bool operator!=(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
size_t hash_value(const CH_ChannelRef &ref)