7 #ifndef PXR_USD_SDR_DECLARE_H
8 #define PXR_USD_SDR_DECLARE_H
24 #include <unordered_map>
25 #include <unordered_set>
38 inline const std::string&
46 typedef std::unordered_map<
TfToken, std::string,
118 return (static_cast<std::size_t>(_major) << 32) +
119 static_cast<std::size_t
>(_minor);
133 return _major == 0 && _minor == 0;
138 friend bool operator==(
const SdrVersion& lhs,
const SdrVersion& rhs)
140 return lhs._major == rhs._major && lhs._minor == rhs._minor;
145 friend bool operator!=(
const SdrVersion& lhs,
const SdrVersion& rhs)
147 return !(lhs == rhs);
152 friend bool operator<(
const SdrVersion& lhs,
const SdrVersion& rhs)
154 return lhs._major < rhs._major ||
155 (lhs._major == rhs._major && lhs._minor < rhs._minor);
160 friend bool operator<=(
const SdrVersion& lhs,
const SdrVersion& rhs)
162 return lhs._major < rhs._major ||
163 (lhs._major == rhs._major && lhs._minor <= rhs._minor);
168 friend bool operator>(
const SdrVersion& lhs,
const SdrVersion& rhs)
170 return !(lhs <= rhs);
175 friend bool operator>=(
const SdrVersion& lhs,
const SdrVersion& rhs)
182 : _major(x._major), _minor(x._minor), _isDefault(true) { }
185 int _major = 0, _minor = 0;
186 bool _isDefault =
false;
223 #endif // PXR_USD_SDR_DECLARE_H
TfToken::HashFunctor SdrIdentifierHashFunctor
std::vector< std::string > SdrStringVec
SDR_API friend bool operator<(const SdrVersion &lhs, const SdrVersion &rhs)
Return true iff the left side is less than the right side.
SdrVersionFilter
Enumeration used to select nodes by version.
std::pair< TfToken, TfToken > SdrOption
SDR_API std::string GetString() const
Return the version as a string.
std::unordered_set< SdrIdentifier, SdrIdentifierHashFunctor > SdrIdentifierSet
SDR_API std::size_t GetHash() const
Return a hash for the version.
Functor to use for hash maps from tokens to other things.
std::vector< SdrIdentifier > SdrIdentifierVec
SDR_API friend bool operator<=(const SdrVersion &lhs, const SdrVersion &rhs)
Return true iff the left side is less than or equal to the right side.
SdrShaderNode const * SdrShaderNodeConstPtr
SDR_API friend bool operator>(const SdrVersion &lhs, const SdrVersion &rhs)
Return true iff the left side is greater than the right side.
SDR_API int GetMinor() const
Return the minor version number or zero for an invalid version.
SdrShaderNodeConstPtrVec SdrShaderNodePtrVec
SdrShaderNode * SdrShaderNodePtr
SDR_API SdrVersion GetAsDefault() const
TfToken SdrIdentifier
Common typedefs that are used throughout the SDR library.
SDR_API SdrVersion()=default
Create an invalid version.
SDR_API friend bool operator!=(const SdrVersion &lhs, const SdrVersion &rhs)
Return true iff versions are not equal.
SDR_API friend bool operator==(const SdrVersion &lhs, const SdrVersion &rhs)
Return true iff versions are equal.
SdrShaderPropertyMap SdrPropertyMap
SDR_API std::string GetStringSuffix() const
Return the version as a identifier suffix.
SDR_API bool operator!() const
Return true iff the version is invalid.
std::unordered_set< std::string > SdrStringSet
SDR_API NdrVersion SdrToNdrVersion(SdrVersion version)
SdrShaderProperty const * SdrShaderPropertyConstPtr
std::vector< SdrShaderNodeConstPtr > SdrShaderNodeConstPtrVec
GT_API const UT_StringHolder version
const std::string & SdrGetIdentifierString(const SdrIdentifier &id)
std::unique_ptr< SdrShaderProperty > SdrShaderPropertyUniquePtr
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
std::unique_ptr< SdrShaderNode > SdrShaderNodeUniquePtr
std::unordered_map< TfToken, SdrShaderPropertyConstPtr, TfToken::HashFunctor > SdrShaderPropertyMap
#define PXR_NAMESPACE_CLOSE_SCOPE
std::vector< SdrShaderNodeUniquePtr > SdrShaderNodeUniquePtrVec
SdrShaderProperty * SdrShaderPropertyPtr
std::vector< TfToken > SdrTokenVec
SDR_API int GetMajor() const
Return the major version number or zero for an invalid version.
SDR_API friend bool operator>=(const SdrVersion &lhs, const SdrVersion &rhs)
Return true iff the left side is greater than or equal to the right side.
std::vector< SdrOption > SdrOptionVec
SDR_API bool IsDefault() const
Return true iff this version is marked as default.
std::unordered_map< TfToken, std::string, TfToken::HashFunctor > SdrTokenMap
std::vector< SdrShaderPropertyUniquePtr > SdrShaderPropertyUniquePtrVec
SDR_API SdrVersion NdrToSdrVersion(NdrVersion version)
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
SDR_API NdrVersionFilter SdrVersionFilterToNdr(SdrVersionFilter filter)