7 #ifndef PXR_USD_PCP_EXPRESSION_VARIABLES_DEPENDENCY_DATA_H
8 #define PXR_USD_PCP_EXPRESSION_VARIABLES_DEPENDENCY_DATA_H
16 #include <unordered_set>
35 PcpExpressionVariablesDependencyData&&);
41 PcpExpressionVariablesDependencyData&
operator=(
42 PcpExpressionVariablesDependencyData&&);
57 const PcpLayerStackPtr& layerStack,
58 std::unordered_set<std::string>&& exprVarDependencies);
67 template <
class Callback>
71 _ForEachDependency(fn);
78 const std::unordered_set<std::string>*
83 const PcpLayerStackPtr&,
const std::unordered_set<std::string>&)>;
86 void _ForEachDependency(
const _ForEachFunctionRef& fn)
const;
89 const _Data* _GetData()
const;
90 _Data& _GetWritableData();
92 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()