aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/ao_structs.org
blob: 9350eb5c5cc245f69a13ede6de87d9006753c32e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#+TITLE: sdp structs
#+AUTHOR: Ralph Amissah
#+EMAIL: ralph.amissah@gmail.com
#+STARTUP: indent
#+LANGUAGE: en
#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
#+PROPERTY: header-args :padline no :exports code :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+FILETAGS: :sdp:dev:ao:
#+TAGS: assert(a) class(c) debug(d) mixin(m) sdp(s) tangle(T) template(t) WEB(W) noexport(n)

* structs                                                            :struct:
[[./sdp.org][sdp]]

** initialize
#+name: structs
#+BEGIN_SRC d
/+ structs +/

mixin template Structs() {
  struct ObjHeading {
    string type;
    string lev;
    string lvn;
    string lcn;
  }
  struct ObjPara {
    string indent_first;
    string indent_second;
    string bullet;
  }
  struct ObjComment {
    // does not have .attrib;
    // does not have .ocn
  }
  struct ObjBlock {
  }
  struct ObjBlockOcnString {
    // does not have .attrib;
    string node;
  }
  struct ObjComposite {
    // size_t id;
    string use;
    string of;
    string is_a;
    string object;
    string ocn;
    string attrib;
    // int ocn;
    ObjHeading heading;
    ObjPara para;
    ObjBlock block;
    ObjBlockOcnString block_ocn_string;
  }
}
#+END_SRC

* tangles                                                            :tangle:
** code structure:                                :ao_structs.d:
#+name: tangle_ao_structs
#+BEGIN_SRC d :tangle ../lib/sdp/ao_structs.d
/+
  structs
  ao_structs.d
+/
<<structs>>
#+END_SRC