aboutsummaryrefslogtreecommitdiff
path: root/src/relooper/test5.cpp
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-11-11 10:04:33 -0800
committerAlon Zakai <alonzakai@gmail.com>2012-11-11 10:04:33 -0800
commit3634b45c63e420910c77a631352ab257b8a6039f (patch)
treee43051c8b9b6339cddb57a7d8dd6929fbeedb56a /src/relooper/test5.cpp
parent795bcc6e76e59824d725acea1e9c2e1c553a6658 (diff)
add relooper sources
Diffstat (limited to 'src/relooper/test5.cpp')
-rw-r--r--src/relooper/test5.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/relooper/test5.cpp b/src/relooper/test5.cpp
new file mode 100644
index 00000000..f86da2b3
--- /dev/null
+++ b/src/relooper/test5.cpp
@@ -0,0 +1,40 @@
+
+#include "Relooper.h"
+
+int main() {
+ char buffer[10000];
+ rl_set_output_buffer(buffer, sizeof(buffer));
+
+ void *r = rl_new_relooper();
+
+ void *b0 = rl_new_block("//0");
+ rl_relooper_add_block(r, b0);
+ void *b1 = rl_new_block("//1");
+ rl_relooper_add_block(r, b1);
+ void *b2 = rl_new_block("//2");
+ rl_relooper_add_block(r, b2);
+ void *b3 = rl_new_block("//3");
+ rl_relooper_add_block(r, b3);
+ void *b4 = rl_new_block("//4");
+ rl_relooper_add_block(r, b4);
+ void *b5 = rl_new_block("//5");
+ rl_relooper_add_block(r, b5);
+
+ rl_block_add_branch_to(b0, b1, "check(0)", NULL);
+ rl_block_add_branch_to(b0, b4, NULL, "goingFrom0to4();");
+ rl_block_add_branch_to(b1, b1, "check(1)", NULL);
+ rl_block_add_branch_to(b1, b2, NULL, NULL);
+ rl_block_add_branch_to(b2, b2, "check(2)", NULL);
+ rl_block_add_branch_to(b2, b3, NULL, NULL);
+ rl_block_add_branch_to(b4, b4, "check(4)", NULL);
+ rl_block_add_branch_to(b4, b5, NULL, NULL);
+ rl_block_add_branch_to(b5, b3, "check(5)", NULL);
+ rl_block_add_branch_to(b5, b5, NULL, NULL);
+
+ rl_relooper_calculate(r, b0);
+ rl_relooper_render(r);
+ rl_delete_relooper(r);
+
+ puts(buffer);
+}
+