HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PDG_Dependency.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * COMMENTS:
7  */
8 
9 #ifndef __PDG_DEPENDENCY_H__
10 #define __PDG_DEPENDENCY_H__
11 
12 #include "PDG_API.h"
13 #include "PDG_Types.h"
14 
15 #include <UT/UT_StringHolder.h>
16 
17 class PDG_GraphContext;
18 class PDG_Node;
19 
21 {
22 public:
24  const PDG_BaseType* type,
25  const PDGT_ValueArgs& extra_args,
26  const UT_StringHolder& key);
27  ~PDG_Dependency() override;
28 
29  int64 getMemoryUsage(bool inclusive) const override;
30 
31  const UT_StringHolder& key() const;
32  void setUnresolved();
33  bool resolve(PDG_GraphContext* context, PDG_Node* node);
34 
35  virtual bool isResolved(
36  PDG_GraphContext* context,
37  PDG_Node* node) const;
38  virtual bool onResolve(PDG_GraphContext*, PDG_Node*) = 0;
39 
40  void addNode(PDG_Node* node);
41  bool removeNode(PDG_Node* node);
42  const PDG_NodeArray& nodes() const;
43 
44 protected:
46 
47 private:
48  bool myResolvedFlag;
50 };
51 
52 #endif
myNodes
Definition: UT_RTreeImpl.h:708
#define PDG_API
Definition: PDG_API.h:23
virtual int64 getMemoryUsage(bool inclusive) const
long long int64
Definition: SYS_Types.h:116
UT_StringHolder myKey
type
Definition: core.h:1059