7 #ifndef PXR_EXEC_VDF_MASKED_OUTPUT_H
8 #define PXR_EXEC_VDF_MASKED_OUTPUT_H
39 _output(output), _mask(mask) {}
42 _output(output), _mask(std::move(
mask)) {}
46 explicit operator bool()
const {
47 return static_cast<bool>(_output);
77 _mask = std::move(
mask);
83 return _output == rhs._output &&
88 return !(*
this == rhs);
102 std::less<const VdfOutput *> outputLT;
103 if (outputLT(_output, rhs._output))
106 if (outputLT(rhs._output, _output))
113 return !(rhs < *
this);
121 return !(*
this < rhs);
126 swap(lhs._output, rhs._output);
127 swap(lhs._mask, rhs._mask);
bool operator==(const VdfMaskedOutput &rhs) const
friend void swap(VdfMaskedOutput &lhs, VdfMaskedOutput &rhs)
bool operator>=(const VdfMaskedOutput &rhs) const
void SetMask(const VdfMask &mask)
size_t GetHash() const
Returns a hash for the mask.
void swap(UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual > &a, UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual > &b)
void SetOutput(VdfOutput *output)
#define PXR_NAMESPACE_OPEN_SCOPE
const VdfMask & GetMask() const
A VdfMask is placed on connections to specify the data flowing through them.
VDF_API std::string GetDebugName() const
bool operator<=(const VdfMaskedOutput &rhs) const
void SetMask(VdfMask &&mask)
bool operator<(const VdfMaskedOutput &rhs) const
VdfMaskedOutput(VdfOutput *output, VdfMask &&mask)
Class to hold on to an externally owned output and a mask.
bool operator!=(const VdfMaskedOutput &rhs) const
#define PXR_NAMESPACE_CLOSE_SCOPE
size_t operator()(const VdfMaskedOutput &maskedOutput) const
bool operator>(const VdfMaskedOutput &rhs) const
VdfOutput * GetOutput() const
VdfMaskedOutput(VdfOutput *output, const VdfMask &mask)