7 #ifndef PXR_USD_SDR_DECLARE_H
8 #define PXR_USD_SDR_DECLARE_H
18 #include <unordered_map>
19 #include <unordered_set>
32 inline const std::string&
40 typedef std::unordered_map<
TfToken, std::string,
126 return _major == 0 && _minor == 0;
131 friend bool operator==(
const SdrVersion& lhs,
const SdrVersion& rhs)
133 return lhs._major == rhs._major && lhs._minor == rhs._minor;
138 friend bool operator!=(
const SdrVersion& lhs,
const SdrVersion& rhs)
140 return !(lhs == rhs);
145 friend bool operator<(
const SdrVersion& lhs,
const SdrVersion& rhs)
147 return lhs._major < rhs._major ||
148 (lhs._major == rhs._major && lhs._minor < rhs._minor);
153 friend bool operator<=(
const SdrVersion& lhs,
const SdrVersion& rhs)
155 return lhs._major < rhs._major ||
156 (lhs._major == rhs._major && lhs._minor <= rhs._minor);
161 friend bool operator>(
const SdrVersion& lhs,
const SdrVersion& rhs)
163 return !(lhs <= rhs);
168 friend bool operator>=(
const SdrVersion& lhs,
const SdrVersion& rhs)
175 : _major(x._major), _minor(x._minor), _isDefault(true) { }
178 int _major = 0, _minor = 0;
179 bool _isDefault =
false;
191 #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
#define PXR_NAMESPACE_OPEN_SCOPE
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
SdrShaderProperty const * SdrShaderPropertyConstPtr
std::vector< SdrShaderNodeConstPtr > SdrShaderNodeConstPtrVec
const std::string & SdrGetIdentifierString(const SdrIdentifier &id)
static size_t Combine(Args &&...args)
Produce a hash code by combining the hash codes of several objects.
std::unique_ptr< SdrShaderProperty > SdrShaderPropertyUniquePtr
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