24 #ifndef PXR_USD_PCP_EXPRESSION_VARIABLES_DEPENDENCY_DATA_H
25 #define PXR_USD_PCP_EXPRESSION_VARIABLES_DEPENDENCY_DATA_H
33 #include <unordered_set>
52 PcpExpressionVariablesDependencyData&&);
58 PcpExpressionVariablesDependencyData&
operator=(
59 PcpExpressionVariablesDependencyData&&);
74 const PcpLayerStackPtr& layerStack,
75 std::unordered_set<std::string>&& exprVarDependencies);
84 template <
class Callback>
88 _ForEachDependency(fn);
95 const std::unordered_set<std::string>*
100 const PcpLayerStackPtr&,
const std::unordered_set<std::string>&)>;
103 void _ForEachDependency(
const _ForEachFunctionRef& fn)
const;
106 const _Data* _GetData()
const;
107 _Data& _GetWritableData();
109 std::unique_ptr<_Data> _data;
PCP_API const std::unordered_set< std::string > * GetDependenciesForLayerStack(const PcpLayerStackPtr &layerStack) const
PCP_API void AppendDependencyData(PcpExpressionVariablesDependencyData &&data)
PCP_API PcpExpressionVariablesDependencyData()
PCP_API PcpExpressionVariablesDependencyData & operator=(PcpExpressionVariablesDependencyData &&)
void ForEachDependency(const Callback &callback) const
PCP_API void AddDependencies(const PcpLayerStackPtr &layerStack, std::unordered_set< std::string > &&exprVarDependencies)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
PCP_API bool IsEmpty() const
Returns true if any dependencies have been recorded, false otherwise.
#define PXR_NAMESPACE_CLOSE_SCOPE
PXR_NAMESPACE_OPEN_SCOPE TF_DECLARE_WEAK_PTRS(PcpLayerStack)
PCP_API ~PcpExpressionVariablesDependencyData()