INGOR
Loading...
Searching...
No Matches
ytEdge.h
1/*
2 net/ytEdge.{h,c} : Edge
3 Copyright (C) 2018, Yoshinori Tamada <tamada A T ytlab.jp>
4 All rights reserved.
5
6 See LICENSE.txt for details of the licensing agreement.
7*/
8
9#ifndef __YTLIB_EDGE_H
10#define __YTLIB_EDGE_H
11
12#include "lang/ytObject.h"
13
14typedef struct ytEdge_t ytEdge;
15
16ytEdge * ytEdge_new();
17ytEdge * ytEdge_newIndex(int parent, int child);
18ytEdge * ytEdge_from(ytObject * obj);
19ytEdge * ytEdge_clone(const ytEdge * this);
20void ytEdge_delete(ytEdge * this);
21void ytEdge_dump(const ytEdge * edge, FILE * fp);
22void ytEdge_dumpv(const ytObject * edge, FILE * fp);
23void ytEdge_setIndex(ytEdge * this, int parent, int child);
24int ytEdge_getParent(const ytEdge * edge);
25int ytEdge_getChild(const ytEdge * this);
26ytObject * ytEdge_getProperty(const ytEdge * edge, const char * key);
27int ytEdge_numProperties(const ytEdge * edge);
28const char * ytEdge_getPropertyKey(const ytEdge * this, size_t i);
29ytObject * ytEdge_getPropertyAt(const ytEdge * this, size_t i);
30void ytEdge_setProperty(ytEdge * this, const char * key, ytObject * value);
31void ytEdge_print(const ytEdge * this, FILE * fp);
32size_t ytEdge_size(const ytEdge * this);
33ytByte * ytEdge_serialize(const ytEdge * this, ytByte ** pptr);
34ytEdge * ytEdge_deserialize(ytByte ** const pptr);
35size_t ytEdge_sizeI(const ytObject * obj);
36ytByte * ytEdge_serializeI(const ytObject * obj, ytByte ** pptr);
37ytObject * ytEdge_deserializeI(ytByte ** const pptr);
38int ytEdge_test(int argc, char * argv[]);
39
40#endif /* __YTLIB_EDGE_H */
Network edge.
The basis class.
Definition ytEdge.c:17