Skip to content

Commit e5bf9e7

Browse files
committed
Add OAGTreeValue and OAGTreeElement
# Conflicts: # Sources/OpenAttributeGraphCxx/include/OpenAttributeGraph/OGTreeElement.h # Sources/OpenAttributeGraphCxx/include/OpenAttributeGraph/OGTreeValue.h # Sources/OpenGraphCxx/include/OpenGraph/OpenGraph-umbrella.h
1 parent 2a615c6 commit e5bf9e7

File tree

5 files changed

+211
-0
lines changed

5 files changed

+211
-0
lines changed
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
//
2+
// OAGTreeElement.h
3+
// OpenAttributeGraphCxx
4+
5+
#ifndef OAGTreeElement_h
6+
#define OAGTreeElement_h
7+
8+
#include <OpenAttributeGraph/OAGBase.h>
9+
#include <OpenAttributeGraph/OAGTreeValue.h>
10+
11+
OAG_ASSUME_NONNULL_BEGIN
12+
13+
OAG_IMPLICIT_BRIDGING_ENABLED
14+
15+
OAG_EXTERN_C_BEGIN
16+
17+
typedef struct _OAGTreeElement *OAGTreeElement OAG_SWIFT_STRUCT OAG_SWIFT_NAME(TreeElement);
18+
19+
typedef struct OAGTreeElementValueIterator {
20+
uintptr_t parent_elt;
21+
uintptr_t next_elt;
22+
} OAG_SWIFT_NAME(Values) OAGTreeElementValueIterator;
23+
24+
typedef struct OAGTreeElementNodeIterator {
25+
uintptr_t elt;
26+
unsigned long node_index;
27+
} OAG_SWIFT_NAME(Nodes) OAGTreeElementNodeIterator;
28+
29+
typedef struct OAGTreeElementChildIterator {
30+
uintptr_t parent_elt;
31+
uintptr_t next_elt;
32+
size_t subgraph_index;
33+
} OAG_SWIFT_NAME(Children) OAGTreeElementChildIterator;
34+
35+
OAG_EXPORT
36+
OAG_REFINED_FOR_SWIFT
37+
OAGTypeID OAGTreeElementGetType(OAGTreeElement tree_element) OAG_SWIFT_NAME(getter:OAGTreeElement.type(self:));
38+
39+
OAG_EXPORT
40+
OAG_REFINED_FOR_SWIFT
41+
OAGAttribute OAGTreeElementGetValue(OAGTreeElement tree_element);
42+
43+
OAG_EXPORT
44+
OAG_REFINED_FOR_SWIFT
45+
uint32_t OAGTreeElementGetFlags(OAGTreeElement tree_element) OAG_SWIFT_NAME(getter:OAGTreeElement.flags(self:));
46+
47+
OAG_EXPORT
48+
OAG_REFINED_FOR_SWIFT
49+
OAGTreeElement _Nullable OAGTreeElementGetParent(OAGTreeElement tree_element)
50+
OAG_SWIFT_NAME(getter:OAGTreeElement.parent(self:));
51+
52+
OAG_EXPORT
53+
OAG_REFINED_FOR_SWIFT
54+
OAGTreeElementValueIterator OAGTreeElementMakeValueIterator(OAGTreeElement tree_element)
55+
OAG_SWIFT_NAME(getter:OAGTreeElement.values(self:));
56+
57+
OAG_EXPORT
58+
OAG_REFINED_FOR_SWIFT
59+
OAGTreeValue _Nullable OAGTreeElementGetNextValue(OAGTreeElementValueIterator *iter)
60+
OAG_SWIFT_NAME(OAGTreeElementValueIterator.next(self:));
61+
62+
OAG_EXPORT
63+
OAG_REFINED_FOR_SWIFT
64+
OAGTreeElementNodeIterator OAGTreeElementMakeNodeIterator(OAGTreeElement tree_element)
65+
OAG_SWIFT_NAME(getter:OAGTreeElement.nodes(self:));
66+
67+
OAG_EXPORT
68+
OAG_REFINED_FOR_SWIFT
69+
OAGAttribute OAGTreeElementGetNextNode(OAGTreeElementNodeIterator *iter);
70+
71+
OAG_EXPORT
72+
OAG_REFINED_FOR_SWIFT
73+
OAGTreeElementChildIterator OAGTreeElementMakeChildIterator(OAGTreeElement tree_element)
74+
OAG_SWIFT_NAME(getter:OAGTreeElement.children(self:));
75+
76+
OAG_EXPORT
77+
OAG_REFINED_FOR_SWIFT
78+
OAGTreeElement _Nullable OAGTreeElementGetNextChild(OAGTreeElementChildIterator *iter)
79+
OAG_SWIFT_NAME(OAGTreeElementChildIterator.next(self:));
80+
81+
OAG_EXTERN_C_END
82+
83+
OAG_IMPLICIT_BRIDGING_DISABLED
84+
85+
OAG_ASSUME_NONNULL_END
86+
87+
#endif /* OAGTreeElement_h */
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
//
2+
// OAGTreeValue.h
3+
// OpenAttributeGraphCxx
4+
5+
#ifndef OAGTreeValue_h
6+
#define OAGTreeValue_h
7+
8+
#include <OpenAttributeGraph/OAGBase.h>
9+
#include <OpenAttributeGraph/OAGAttribute.h>
10+
#include <OpenAttributeGraph/OAGTypeID.h>
11+
12+
OAG_ASSUME_NONNULL_BEGIN
13+
14+
OAG_IMPLICIT_BRIDGING_ENABLED
15+
16+
OAG_EXTERN_C_BEGIN
17+
18+
typedef struct _OAGTreeValue *OAGTreeValue OAG_SWIFT_STRUCT OAG_SWIFT_NAME(TreeValue);
19+
20+
OAG_EXPORT
21+
OAG_REFINED_FOR_SWIFT
22+
OAGTypeID OAGTreeValueGetType(OAGTreeValue tree_value) OAG_SWIFT_NAME(getter:OAGTreeValue.type(self:));
23+
24+
OAG_EXPORT
25+
OAG_REFINED_FOR_SWIFT
26+
OAGAttribute OAGTreeValueGetValue(OAGTreeValue tree_value) OAG_SWIFT_NAME(getter:OAGTreeValue.value(self:));
27+
28+
OAG_EXPORT
29+
OAG_REFINED_FOR_SWIFT
30+
const char *OAGTreeValueGetKey(OAGTreeValue tree_value) OAG_SWIFT_NAME(getter:OAGTreeValue.key(self:));
31+
32+
OAG_EXPORT
33+
OAG_REFINED_FOR_SWIFT
34+
uint32_t OAGTreeValueGetFlags(OAGTreeValue tree_value) OAG_SWIFT_NAME(getter:OAGTreeValue.flags(self:));
35+
36+
OAG_EXTERN_C_END
37+
38+
OAG_IMPLICIT_BRIDGING_DISABLED
39+
40+
OAG_ASSUME_NONNULL_END
41+
42+
#endif /* OAGTreeValue_h */

Sources/OpenAttributeGraphCxx/include/OpenAttributeGraph/OpenAttributeGraph-umbrella.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
#include <OpenAttributeGraph/OAGSearchOptions.h>
1919
#include <OpenAttributeGraph/OAGSubgraph.h>
2020
#include <OpenAttributeGraph/OAGTrace.h>
21+
#include <OpenAttributeGraph/OAGTreeElement.h>
22+
#include <OpenAttributeGraph/OAGTreeValue.h>
2123
#include <OpenAttributeGraph/OAGTupleType.h>
2224
#include <OpenAttributeGraph/OAGTypeID.h>
2325
#include <OpenAttributeGraph/OAGUniqueID.h>
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
//
2+
// OGTreeElement.cpp
3+
// OpenGraphCxx
4+
5+
#include <OpenGraph/OGTreeElement.h>
6+
7+
OGTypeID OGTreeElementGetType(OGTreeElement tree_element) {
8+
// TODO
9+
return nullptr;
10+
}
11+
12+
OGAttribute OGTreeElementGetValue(OGTreeElement tree_element) {
13+
// TODO
14+
return OGAttributeNil;
15+
}
16+
17+
uint32_t OGTreeElementGetFlags(OGTreeElement tree_element) {
18+
// TODO
19+
return 0;
20+
}
21+
22+
OGTreeElement OGTreeElementGetParent(OGTreeElement tree_element) {
23+
// TODO
24+
return nullptr;
25+
}
26+
27+
OGTreeElementValueIterator OGTreeElementMakeValueIterator(OGTreeElement tree_element) {
28+
// TODO
29+
return {0, 0};
30+
}
31+
32+
OGTreeValue OGTreeElementGetNextValue(OGTreeElementValueIterator *iter) {
33+
// TODO
34+
return nullptr;
35+
}
36+
37+
OGTreeElementNodeIterator OGTreeElementMakeNodeIterator(OGTreeElement tree_element) {
38+
// TODO
39+
return {0, 0};
40+
}
41+
42+
OGAttribute OGTreeElementGetNextNode(OGTreeElementNodeIterator *iter) {
43+
// TODO
44+
return OGAttributeNil;
45+
}
46+
47+
OGTreeElementChildIterator OGTreeElementMakeChildIterator(OGTreeElement tree_element) {
48+
// TODO
49+
return {0, 0, 0};
50+
}
51+
52+
OGTreeElement OGTreeElementGetNextChild(OGTreeElementChildIterator *iter) {
53+
// TODO
54+
return 0;
55+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
//
2+
// OGTreeValue.cpp
3+
// OpenGraphCxx
4+
5+
#include <OpenGraph/OGTreeValue.h>
6+
7+
OGTypeID OGTreeValueGetType(OGTreeValue tree_value) {
8+
// TODO
9+
return nullptr;
10+
}
11+
12+
OGAttribute OGTreeValueGetValue(OGTreeValue tree_value) {
13+
// TODO
14+
return OGAttributeNil;
15+
}
16+
17+
const char *OGTreeValueGetKey(OGTreeValue tree_value) {
18+
// TODO
19+
return nullptr;
20+
}
21+
22+
uint32_t OGTreeValueGetFlags(OGTreeValue tree_value) {
23+
// TODO
24+
return 0;
25+
}

0 commit comments

Comments
 (0)