24 #ifndef PXR_USD_SDF_VALUE_TYPE_NAME_H
25 #define PXR_USD_SDF_VALUE_TYPE_NAME_H
28 #include "pxr/usd/sdf/api.h"
35 PXR_NAMESPACE_OPEN_SCOPE
40 class Sdf_ValueTypeImpl;
53 : size(2) { d[0] = s[0]; d[1] = s[1]; }
58 return !(*
this == rhs);
151 bool operator==(
const SdfValueTypeName& rhs)
const;
152 bool operator!=(
const SdfValueTypeName& rhs)
const {
153 return !(*
this == rhs);
159 bool operator==(
const std::string& rhs)
const;
160 bool operator!=(
const std::string& rhs)
const {
161 return !(*
this == rhs);
168 bool operator!=(
const TfToken& rhs)
const {
169 return !(*
this == rhs);
173 bool operator==(
const std::string& lhs,
const SdfValueTypeName& rhs) {
177 bool operator!=(
const std::string& lhs,
const SdfValueTypeName& rhs) {
178 return !(rhs == lhs);
186 bool operator!=(
const TfToken& lhs,
const SdfValueTypeName &rhs) {
187 return !(rhs == lhs);
196 explicit operator bool()
const
207 friend class Sdf_ValueTypeRegistry;
208 friend struct Sdf_ValueTypePrivate;
214 bool _IsEmpty()
const;
217 const Sdf_ValueTypeImpl* _impl;
236 PXR_NAMESPACE_CLOSE_SCOPE
238 #endif // PXR_USD_SDF_VALUE_TYPE_NAME_H
SDF_API const TfType & GetType() const
Returns the TfType of the type.
SDF_API bool operator==(const SdfValueTypeName &rhs) const
Returns true if this type name is equal to rhs.
SDF_API size_t GetHash() const
Returns a hash value for this type name.
SDF_API bool IsScalar() const
Returns true iff this type is a scalar.
SDF_API SdfValueTypeName GetArrayType() const
Returns the array version of this type name if it's an scalar type name, otherwise returns this type ...
An enum class that records both enum type and enum value.
Represents a value type name, i.e.
SDF_API SdfTupleDimensions GetDimensions() const
Returns the dimensions of the scalar value, e.g. 3 for a 3D point.
SDF_API bool IsArray() const
Returns true iff this type is an array.
SDF_API const VtValue & GetDefaultValue() const
Returns the default value for the type.
Token for efficient comparison, assignment, and hashing of known strings.
SDF_API std::vector< TfToken > GetAliasesAsTokens() const
Returns all aliases of the type name as tokens.
SDF_API const TfEnum & GetDefaultUnit() const
Returns the default unit enum for the type.
GF_API std::ostream & operator<<(std::ostream &, const GfBBox3d &)
Output a GfBBox3d using the format [(range) matrix zeroArea].
SDF_API const std::string & GetCPPTypeName() const
Returns the C++ type name for this type.
SDF_API SdfValueTypeName()
Constructs an invalid type name.
SDF_API const TfToken & GetRole() const
Returns the type's role.
Functor for hashing a SdfValueTypeName.
TfType represents a dynamic runtime type.
Represents the shape of a value type (or that of an element in an array).
SDF_API TfToken GetAsToken() const
Returns the type name as a token.
SDF_API SdfValueTypeName GetScalarType() const
Returns the scalar version of this type name if it's an array type name, otherwise returns this type ...
Provides a container which may hold any type, and provides introspection and iteration over array typ...
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...