76 static inline struct CNResource *
119 static inline struct CNNode *
138 static inline struct CNNode *
static void CNPrintEdge(struct CNText *buf, const struct CNEdge *src)
Print the context of edge.
Definition: CNEdge.h:108
static struct CNNode * CNProducerNodeOfEdge(const struct CNEdge *src)
Get producer node from edge.
Definition: CNEdge.h:120
static struct CNObject * CNObjectOfEdge(struct CNEdge *src)
Get object of the edge.
Definition: CNEdge.h:88
void CNDestroyContextOfEdge(struct CNEdge *dst)
Release the contex of the edge.
Edge of the graph.
Definition: CNEdge.h:16
Forward declaration of data types.
struct CNObjectMethods superClass
Definition: CNEdge.h:33
Root object.
Definition: CNObject.h:38
CNPrintEdgeFuncRef printEdge
Definition: CNEdge.h:35
static void CNSetVisitedEdge(struct CNEdge *dst, CNBoolean flag)
Set visited flag to edge.
Definition: CNEdge.h:169
static void CNRetainEdge(struct CNEdge *dst)
Retrain the resource for the CNEdge.
Definition: CNEdge.h:56
struct CNEdge * CNAllocateEdge(struct CNGraph *parent, size_t size, const struct CNEdgeMethods *methods)
Allocate CNEdge.
static struct CNResource * CNResourceOfEdge(struct CNEdge *src)
Get resource of the CNEdge.
Definition: CNEdge.h:77
Methods for CNNode.
Definition: CNEdge.h:31
Node of the direct acyclic graph.
Definition: CNNode.h:17
CNBoolean isVisited
Definition: CNEdge.h:24
Direct Acyclic Graph model.
Definition: CNGraph.h:17
Define CNObject data structure.
static CNBoolean CNIsVisitedEdge(const struct CNEdge *src)
Check visited flag in edge.
Definition: CNEdge.h:158
Methods for CNObject.
Definition: CNObject.h:29
struct CNNode * consumerNode
Definition: CNEdge.h:22
Define primitive data types.
void CNReleaseObject(struct CNObject *dst)
Release the object.
struct CNObject superClass
Definition: CNEdge.h:18
static void CNRetainObject(struct CNObject *dst)
Retain the object.
Definition: CNObject.h:75
void CNSetConsumerNodeToEdge(struct CNEdge *dst, struct CNNode *src)
Set consumer node for the edge.
void(* CNPrintEdgeFuncRef)(struct CNText *buf, const struct CNEdge *src)
Definition: CNEdge.h:28
static struct CNNode * CNConsumerNodeOfEdge(const struct CNEdge *src)
Get consumer node from edge.
Definition: CNEdge.h:139
static void CNReleaseEdge(struct CNEdge *dst)
Release the resource for the CNEdge.
Definition: CNEdge.h:66
unsigned int CNBoolean
Boolean type.
Definition: CNType.h:14
static struct CNResource * CNResourceOfObject(struct CNObject *src)
Get resource for the object.
Definition: CNObject.h:95
void CNSetProducerNodeToEdge(struct CNEdge *dst, struct CNNode *src)
Set producer node for the edge.
static struct CNObjectMethods * CNMethodsOfObject(const struct CNObject *src)
Get methods for the object.
Definition: CNObject.h:106
struct CNNode * producerNode
Definition: CNEdge.h:20