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_NodeTypes.h"
14 #include "PDG_RegisteredType.h"
15 
16 #include <UT/UT_StringHolder.h>
17 
18 class PDG_GraphContext;
19 class PDG_Node;
20 
22 {
23 public:
25  const PDG_BaseType* type,
26  const PDGT_ValueArgs& extra_args,
27  const UT_StringHolder& key);
28  ~PDG_Dependency() override;
29 
30  int64 getMemoryUsage(bool inclusive) const override;
31 
32  const UT_StringHolder& key() const;
33  void setUnresolved();
34  bool resolve(PDG_GraphContext* context, PDG_Node* node);
35 
36  virtual bool isResolved(
37  PDG_GraphContext* context,
38  PDG_Node* node) const;
39  virtual bool onResolve(PDG_GraphContext*, PDG_Node*) = 0;
40 
41  void addNode(PDG_Node* node);
42  bool removeNode(PDG_Node* node);
43  const PDG_NodeArray& nodes() const;
44 
45 protected:
47 
48 private:
49  bool myResolvedFlag;
51 };
52 
53 #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